{
  "schema_version": 1,
  "reviewed_on": "2026-10-28",
  "group": 5,
  "total_groups": 5,
  "base_commit": "92a2cb594f7d1c20882fed664371699e95e27e81",
  "scope": {
    "exams": [
      "AB-410",
      "AZ-120",
      "AZ-802",
      "MO-110",
      "MO-111",
      "MO-210",
      "MO-211",
      "MO-310"
    ],
    "guides_in_group": 8,
    "current_detailed_objectives": 544,
    "remaining_guides_after_group": 0,
    "remaining_groups_after_group": 0,
    "whole_refresh_content_groups_complete": true,
    "remote_delivery": "pending local final gate, commit/push and remote workflows"
  },
  "method": {
    "roles": [
      "exam/objectives",
      "technical",
      "learning resources"
    ],
    "coordinator_owns_shared_edits": true,
    "complete_input_reading": "Two subset exam researchers each read four complete immutable guides, current detailed official tasks, all complete integrated guides and final diffs. Other roles record selected technical/resource body scopes.",
    "fresh_context_review": "Two separate fresh-context read-only reviewers completed bounded guide/diff/semantic binding/source/history checks, verified reported repairs, and separately verified the final five Office disclosure sentences. Zero actionable guide/mapping findings remain; four source gates remain blocked. Full independent rubric2/human/live assurance is separate.",
    "full_independent_semantic_audit": false,
    "human_review": false,
    "live_product_labs_executed": false,
    "post_role_editorial_followup": "After complete role rereads, coordinator normalized five equivalent resource-list disclosure sentences to satisfy the repository wording contract. Exact old/new hashes/text retained; combined current bindings updated and separate final independent recheck requested."
  },
  "exams": [
    {
      "exam_code": "AB-410",
      "guide_path": "guides/AB-410-building-intelligent-applications.md",
      "guide_content_sha256": "05498fa2cd7076265bb0f75d7dd290edaa66b310a166a40de2fa5c64c08b01a1",
      "objective_path": "data/objective-snapshots/ab-410-official-objectives.txt",
      "objective_raw_sha256": "390c1040388541915573525f59b9f2f28753f65d0a3a50e9221dd7ab11c68142",
      "objective_count": 48,
      "source_validation_id": "ab-410-2026-10-28-remaining-group05-source-validation",
      "link_evidence": {
        "unique_external_links": 58,
        "reachable": 57,
        "access_blocked": 1,
        "missing_or_error": 0
      },
      "source_ids": [
        "ab-410-ai-builder-docs",
        "ab-410-blueprint",
        "ab-410-course",
        "ab-410-credential",
        "ab-410-credential-retirement",
        "ab-410-path-ai-first",
        "ab-410-path-apps-portals",
        "ab-410-path-automation",
        "ab-410-path-dataverse-model",
        "ab-410-retired-courses",
        "ab-410-udemy-burton",
        "ab-410-whizlabs",
        "ab-620-classic-versus-new-experience",
        "ab410-agent-builder",
        "ab410-ai-solution-design-module",
        "ab410-async",
        "ab410-business-rules",
        "ab410-column-security",
        "ab410-credits",
        "ab410-dataverse-trigger",
        "ab410-error",
        "ab410-flow-limits",
        "ab410-formula",
        "ab410-generative",
        "ab410-license",
        "ab410-long-approval",
        "ab410-may-blog",
        "ab410-prompt-app",
        "ab410-prompt-columns",
        "ab410-prompt-flow",
        "ab410-prompt-json",
        "ab410-prompt-knowledge",
        "ab410-prompt-model",
        "ab410-prompt-overview",
        "ab410-recommend-components-unit",
        "ab410-rollup",
        "ab410-row-summary",
        "ab410-udf",
        "copilot-studio-agent-build-overview",
        "group05-ab410-bpf",
        "group05-ab410-charts",
        "group05-ab410-create-prompt",
        "group05-ab410-designers",
        "group05-ab410-editable-app",
        "group05-ab410-model-app",
        "group05-ab410-model-flow",
        "group05-ab410-tables",
        "mb-820-partner-skilling-hub",
        "microsoft-ai-at-work-roadmap",
        "microsoft-ai-at-work-roadmap-transition",
        "microsoft-power-apps-delegation-overview-pl900",
        "microsoft-power-apps-monitor-overview-pl900",
        "microsoft-power-platform-docs-pl900",
        "microsoft-power-platform-environments-overview-pl900",
        "microsoft-power-platform-pipelines-pl900",
        "pl-400-youtube-power-platform",
        "pl400-september-updates",
        "power-platform-important-changes"
      ],
      "outcome": "reviewed-with-blockers",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "SAP connector instructions and allowed prompt-knowledge sources remain inconsistent.",
        "All new Office/cloud/SAP/Power Platform/Windows Server exercises remain unexecuted; expected artifacts are proposed checks, not observed results. Human review and full independent rubric2 semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AZ-120",
      "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
      "guide_content_sha256": "dd4ff9be605b1bc246858e62bfd0bfb8fb558fc05a1ac3a8658dd9c9dcd3e080",
      "objective_path": "data/objective-snapshots/az-120-official-objectives.txt",
      "objective_raw_sha256": "9ef2824a901a8ba33075de4315d56f6bd0c7e9b5887028f27c16e6645e6eb3ff",
      "objective_count": 78,
      "source_validation_id": "az-120-2026-10-28-remaining-group05-source-validation",
      "link_evidence": {
        "unique_external_links": 58,
        "reachable": 56,
        "access_blocked": 2,
        "missing_or_error": 0
      },
      "source_ids": [
        "az-120-availability-zones",
        "az-120-azure-center-sap",
        "az-120-blueprint",
        "az-120-cloud-adoption-plan",
        "az-120-credential",
        "az-120-deployment-automation-framework",
        "az-120-deployment-planning-guide",
        "az-120-disaster-recovery",
        "az-120-ha-architecture",
        "az-120-hana-hsr-backup",
        "az-120-hana-storage",
        "az-120-lama-connector",
        "az-120-measureup-practice-test",
        "az-120-microsoft-learn-course",
        "az-120-microsoft-video-series",
        "az-120-monitor-for-sap",
        "az-120-oreilly-implementation-guide",
        "az-120-pluralsight-big-picture",
        "az-120-pluralsight-building-deploying",
        "az-120-pluralsight-hadr",
        "az-120-pluralsight-infrastructure",
        "az-120-rise-integration",
        "az-120-sap-landing-zone",
        "az-120-supported-products",
        "az-120-supported-scenarios",
        "az-120-udemy-reteam-labs",
        "az-120-vm-extension",
        "az120-acss-register",
        "az120-acss-start",
        "az120-backup-architecture",
        "az120-backup-faq",
        "az120-mana-blog",
        "az120-mana-linux",
        "az120-premium-v2",
        "az120-providers",
        "az120-rhel-fence",
        "az120-rise-network",
        "az120-sapphire-blog",
        "az120-sdaf-news",
        "az120-sentinel-retirement",
        "az120-snapshots",
        "az120-storage-types",
        "az120-suse-fence",
        "az120-write-accelerator",
        "az120-zone-blog",
        "group05-sap-acss-deploy",
        "group05-sap-anf-create",
        "group05-sap-files-create",
        "group05-sap-hana-restore",
        "group05-sap-planning",
        "group05-sap-policy-assignment",
        "group05-sap-ppg",
        "group05-sap-replicated-disk-support",
        "group05-sap-rise-security",
        "group05-sap-rise-services",
        "group05-sap-sql",
        "group05-sap-sql-tutorial",
        "group05-sap-storage-replication"
      ],
      "outcome": "reviewed-with-blockers",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "Native logical HSR backup and FAQ secondary-node stop/resume applicability remains unresolved.",
        "All new Office/cloud/SAP/Power Platform/Windows Server exercises remain unexecuted; expected artifacts are proposed checks, not observed results. Human review and full independent rubric2 semantic audit remain pending."
      ]
    },
    {
      "exam_code": "AZ-802",
      "guide_path": "guides/AZ-802-administering-windows-server.md",
      "guide_content_sha256": "ed185a3491f3ca3c444a6399a8ec2cf74989bb17c1a4f4c6c003fef202d86de5",
      "objective_path": "data/objective-snapshots/az-802-official-objectives.txt",
      "objective_raw_sha256": "ec584efe0ea08ae5ad6bbcef992c1b4a4e6b18826193ece06a76114757c8f65d",
      "objective_count": 115,
      "source_validation_id": "az-802-2026-10-28-remaining-group05-source-validation",
      "link_evidence": {
        "unique_external_links": 91,
        "reachable": 86,
        "access_blocked": 5,
        "missing_or_error": 0
      },
      "source_ids": [
        "az-800-adds-azure-architecture",
        "az-800-adds-overview",
        "az-800-adds-replication",
        "az-800-arc-overview",
        "az-800-az-802-replacement-blueprint",
        "az-800-azure-files-planning",
        "az-800-azure-vm-availability",
        "az-800-dhcp-failover",
        "az-800-dhcp-overview",
        "az-800-dns-overview",
        "az-800-file-sync-planning",
        "az-800-fsmo-placement",
        "az-800-hyper-v-checkpoints",
        "az-800-john-savill-github",
        "az-800-john-savill-youtube",
        "az-800-measureup-practice",
        "az-800-official-retirement-list",
        "az-800-oreilly-exam-ref",
        "az-800-oreilly-packt-guide",
        "az-800-pluralsight-path",
        "az-800-powershell-second-hop",
        "az-800-private-resolver",
        "az-800-replacement-credential",
        "az-800-smb-over-quic",
        "az-800-storage-replica",
        "az-800-storage-spaces",
        "az-800-udemy-john-christopher",
        "az-800-update-manager",
        "az-800-whizlabs",
        "az-801-doc-01-osconfig-how-to-configure-security-baselines",
        "az-801-doc-02-laps-concepts-overview",
        "az-801-doc-04-azure-monitor-agent-migration",
        "az-801-doc-05-plan-defender-for-servers-select-plan",
        "az-801-doc-06-disk-encryption-windows",
        "az-801-doc-10-app-control-for-business",
        "az-801-doc-11-credential-guard",
        "az-801-doc-12-concept-password-ban-bad-on-premises",
        "az-801-doc-13-windows-firewall",
        "az-801-doc-19-deploy-storage-spaces-direct",
        "az-801-doc-34-configure-replication-single-host",
        "az-801-doc-54-troubleshoot-issues-performance-monitor",
        "az-801-doc-55-system-insights-overview",
        "az-801-doc-56-azure-monitor-agent-overview",
        "az-801-doc-57-data-collection-rule-overview",
        "az-801-doc-58-vminsights-overview",
        "az-801-doc-59-ad-forest-recovery-procedures",
        "az-801-doc-61-manage-servers",
        "az-801-doc-62-alerts-overview",
        "az-801-doc-63-welcome-virtual-machines-windows",
        "az-801-doc-64-windows-time-service-tools-and-settings",
        "az-801-measureup-practice",
        "az-801-microsoft-windows-server-youtube",
        "az-801-official-course",
        "az-801-oreilly-exam-ref",
        "az-801-pluralsight-path",
        "az-801-whizlabs",
        "az-802-doc-automation-runbook-types",
        "az-802-doc-azure-files",
        "az-802-doc-bitlocker",
        "az-802-doc-dfs-namespaces",
        "az-802-doc-dns-policies",
        "az-802-doc-dnssec",
        "az-802-doc-gpu-partitioning",
        "az-802-doc-group-policy",
        "az-802-doc-hyper-v",
        "az-802-doc-kerberos",
        "az-802-doc-rodc-prp",
        "az-802-doc-wac-manage-vms",
        "az-802-legacy-course-az-800",
        "az-802-official-course",
        "az-802-official-lab-repo",
        "az-802-official-labs",
        "az-802-udemy-practice",
        "az800-dmsa-faq",
        "az800-smb-signing",
        "az801-kerberos-rc4-remediation",
        "az801-kerberos-rc4-rollout",
        "az801-monitor-direct-retirement",
        "az801-rc4-blog",
        "az801-vm-insights-map-retirement",
        "az802-gpu-partitioning-blog",
        "az802-lab00-setup",
        "az802-lab08-monitoring",
        "azure-bastion-overview-sc900",
        "azure-file-sync-overview",
        "group05-wac-alerts",
        "microsoft-practice-assessment-catalog",
        "microsoft-reactor",
        "oreilly-certification-practice-tests",
        "windows-server-2025-whats-new",
        "windows-server-release-health"
      ],
      "outcome": "reviewed-with-blockers",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "End-to-end SSH Direct support contract remains unconfirmed; WAC onboarding reference contains retired tooling; official pages conflict on Practice Assessment availability.",
        "All new Office/cloud/SAP/Power Platform/Windows Server exercises remain unexecuted; expected artifacts are proposed checks, not observed results. Human review and full independent rubric2 semantic audit remain pending."
      ]
    },
    {
      "exam_code": "MO-110",
      "guide_path": "guides/MO-110-microsoft-word-microsoft-365-apps.md",
      "guide_content_sha256": "ae8283c05a4dfa3fc89662b02d51e0fc3f72cebf7b6200cd62e1b400577ad7d1",
      "objective_path": "data/objective-snapshots/mo-110-official-objectives.txt",
      "objective_raw_sha256": "c5016d0c2a76187324de57865fcad9858aa02d49353a61ffc479e64430ee233a",
      "objective_count": 70,
      "source_validation_id": "mo-110-2026-10-28-remaining-group05-source-validation",
      "link_evidence": {
        "unique_external_links": 20,
        "reachable": 20,
        "access_blocked": 0,
        "missing_or_error": 0
      },
      "source_ids": [
        "az-800-official-retirement-list",
        "group05-word-accessibility",
        "group05-word-basic",
        "group05-word-borders",
        "group05-word-header",
        "group05-word-margins",
        "group05-word-print",
        "group05-word-properties",
        "group05-word-share",
        "group05-word-table",
        "microsoft-word-help",
        "mo-110-blueprint",
        "mo110-skills-pdf",
        "mos-expiration-policy",
        "office-3d-models",
        "office-document-inspector",
        "word-location-links-blog",
        "word-repeated-headers",
        "word-track-changes",
        "word-update-toc"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "All new Office/cloud/SAP/Power Platform/Windows Server exercises remain unexecuted; expected artifacts are proposed checks, not observed results. Human review and full independent rubric2 semantic audit remain pending."
      ]
    },
    {
      "exam_code": "MO-111",
      "guide_path": "guides/MO-111-microsoft-word-expert-microsoft-365-apps.md",
      "guide_content_sha256": "916671ccfcd7239e5a003449808c9db71f8a2588166030d10541f570c021eaa5",
      "objective_path": "data/objective-snapshots/mo-111-official-objectives.txt",
      "objective_raw_sha256": "0db958488191b514b8598df0288463d19a4cc9b1f7fa81b3855850e6945c8fbc",
      "objective_count": 47,
      "source_validation_id": "mo-111-2026-10-28-remaining-group05-source-validation",
      "link_evidence": {
        "unique_external_links": 32,
        "reachable": 31,
        "access_blocked": 1,
        "missing_or_error": 0
      },
      "source_ids": [
        "microsoft-word-help",
        "mo-111-blueprint",
        "mo111-skills-pdf",
        "mos-expiration-policy",
        "office-cloud-candidate-20261028",
        "office-internet-macros",
        "office-mos-tutorial-20261028",
        "office-word-caption-20261028",
        "office-word-combine-20261028",
        "office-word-compare-20261028",
        "office-word-field-edit-20261028",
        "office-word-figures-20261028",
        "office-word-form-20261028",
        "office-word-hyphenation-20261028",
        "office-word-lines-20261028",
        "office-word-link-20261028",
        "office-word-merge-fields-20261028",
        "office-word-pagination-20261028",
        "office-word-password-20261028",
        "office-word-quickparts-20261028",
        "office-word-style-set-windows-20261028",
        "office-word-styles-20261028",
        "office-word-theme-20261028",
        "word-create-macro",
        "word-mail-merge-platform-boundary",
        "word-merge-data",
        "word-merge-preview",
        "word-normal-template",
        "word-paste-blog",
        "word-paste-options",
        "word-table-formulas",
        "word-update-fields"
      ],
      "outcome": "reviewed-with-blockers",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "Exact current Windows Save as New Style Set gallery action lacks current first-party documentation or build reproduction; historical primary discussion is explicitly bounded.",
        "All new Office/cloud/SAP/Power Platform/Windows Server exercises remain unexecuted; expected artifacts are proposed checks, not observed results. Human review and full independent rubric2 semantic audit remain pending."
      ]
    },
    {
      "exam_code": "MO-210",
      "guide_path": "guides/MO-210-microsoft-excel-microsoft-365-apps.md",
      "guide_content_sha256": "8a58326b229da89dffd587eda22658fadf3fa5b49c14c1c344096b50f85e2868",
      "objective_path": "data/objective-snapshots/mo-210-official-objectives.txt",
      "objective_raw_sha256": "71db2aebfc9e02978f17b80207c9b0bd180775ad9c8486050965a27a5fadc0d7",
      "objective_count": 65,
      "source_validation_id": "mo-210-2026-10-28-remaining-group05-source-validation",
      "link_evidence": {
        "unique_external_links": 32,
        "reachable": 32,
        "access_blocked": 0,
        "missing_or_error": 0
      },
      "source_ids": [
        "excel-built-in-conditional-rule-20261028",
        "excel-comments-notes",
        "excel-conversions-blog",
        "excel-counta",
        "excel-countblank",
        "excel-dynamic-arrays",
        "excel-leading-zeroes",
        "excel-randbetween",
        "excel-sequence",
        "excel-sort",
        "excel-table-totals",
        "excel-textjoin",
        "excel-unique",
        "microsoft-excel-help",
        "mo-210-blueprint",
        "mo210-skills-pdf",
        "mos-expiration-policy",
        "office-cloud-candidate-20261028",
        "office-excel-charts-20261028",
        "office-excel-clear-20261028",
        "office-excel-find-20261028",
        "office-excel-freeze-20261028",
        "office-excel-links-20261028",
        "office-excel-logic-example-20261028",
        "office-excel-merge-20261028",
        "office-excel-movechart-20261028",
        "office-excel-names-20261028",
        "office-excel-size-20261028",
        "office-excel-statistical-20261028",
        "office-excel-structured-20261028",
        "office-mos-tutorial-20261028",
        "office-office-formatpainter-20261028"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "All new Office/cloud/SAP/Power Platform/Windows Server exercises remain unexecuted; expected artifacts are proposed checks, not observed results. Human review and full independent rubric2 semantic audit remain pending."
      ]
    },
    {
      "exam_code": "MO-211",
      "guide_path": "guides/MO-211-microsoft-excel-expert.md",
      "guide_content_sha256": "c86adc45edf779b57fa9a1eb933fbbb2d20175042f53890031b16573d2f06d60",
      "objective_path": "data/objective-snapshots/mo-211-official-objectives.txt",
      "objective_raw_sha256": "174e46cb264079c29287f88c0b16eafdeac46dfb7f746bb6323aeec315944e34",
      "objective_count": 48,
      "source_validation_id": "mo-211-2026-10-28-remaining-group05-source-validation",
      "link_evidence": {
        "unique_external_links": 32,
        "reachable": 32,
        "access_blocked": 0,
        "missing_or_error": 0
      },
      "source_ids": [
        "excel-copy-macro",
        "excel-create-pivotchart",
        "excel-filter",
        "excel-nper",
        "excel-pivot-calculations",
        "excel-pmt",
        "excel-randarray",
        "excel-sortby",
        "excel-stale-blog",
        "excel-stale-values",
        "excel-validation-circles",
        "excel-workday",
        "excel-xlookup",
        "microsoft-excel-help",
        "mo-211-blueprint",
        "mo211-skills-pdf",
        "mos-expiration-policy",
        "office-cloud-candidate-20261028",
        "office-excel-charts-20261028",
        "office-excel-charttypes-20261028",
        "office-excel-consolidate-20261028",
        "office-excel-errors-20261028",
        "office-excel-goalseek-20261028",
        "office-excel-legacylookup-20261028",
        "office-excel-logic-20261028",
        "office-excel-logic-example-20261028",
        "office-excel-pivotchart-20261028",
        "office-excel-pivotdetails-20261028",
        "office-excel-scenarios-20261028",
        "office-excel-statistical-20261028",
        "office-excel-trace-20261028",
        "office-mos-tutorial-20261028"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "All new Office/cloud/SAP/Power Platform/Windows Server exercises remain unexecuted; expected artifacts are proposed checks, not observed results. Human review and full independent rubric2 semantic audit remain pending."
      ]
    },
    {
      "exam_code": "MO-310",
      "guide_path": "guides/MO-310-microsoft-powerpoint-microsoft-365-apps.md",
      "guide_content_sha256": "caa6c79dee588d3a69dc3b92c7c2e38603df55d16197558e5f0a6805c29da7ec",
      "objective_path": "data/objective-snapshots/mo-310-official-objectives.txt",
      "objective_raw_sha256": "9ce732345e113b5587ccd794bdfa12dfbb2e95feda7c178566a8132c2f015570",
      "objective_count": 73,
      "source_validation_id": "mo-310-2026-10-28-remaining-group05-source-validation",
      "link_evidence": {
        "unique_external_links": 27,
        "reachable": 27,
        "access_blocked": 0,
        "missing_or_error": 0
      },
      "source_ids": [
        "microsoft-powerpoint-help",
        "mo-310-blueprint",
        "mo310-skills-pdf",
        "mos-expiration-policy",
        "office-cloud-candidate-20261028",
        "office-mark-final",
        "office-mos-tutorial-20261028",
        "office-ppt-columns-20261028",
        "office-ppt-ink-20261028",
        "office-ppt-screenshot-20261028",
        "office-ppt-shapes-20261028",
        "office-ppt-table-20261028",
        "powerpoint-3d-animation",
        "powerpoint-animation-timing",
        "powerpoint-captions",
        "powerpoint-compress-media",
        "powerpoint-layout-placeholders",
        "powerpoint-media-accessibility",
        "powerpoint-note-headers",
        "powerpoint-outline",
        "powerpoint-reading-order",
        "powerpoint-screen-recording",
        "powerpoint-selection",
        "powerpoint-slide-layout",
        "powerpoint-slide-numbers",
        "powerpoint-smartart-accessibility-blog",
        "powerpoint-zoom"
      ],
      "outcome": "reviewed",
      "lab_execution": "not-executed",
      "remaining_limits": [
        "All new Office/cloud/SAP/Power Platform/Windows Server exercises remain unexecuted; expected artifacts are proposed checks, not observed results. Human review and full independent rubric2 semantic audit remain pending."
      ]
    }
  ],
  "objective_mapping_matrix": {
    "schema_version": 1,
    "reviewed_on": "2026-10-28",
    "current_objective_count": 544,
    "teaching_spans": 717,
    "exams": [
      {
        "exam_code": "AB-410",
        "guide_path": "guides/AB-410-building-intelligent-applications.md",
        "captured_final_guide_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AB-410-building-intelligent-applications.md",
        "guide_lf_sha256": "05498fa2cd7076265bb0f75d7dd290edaa66b310a166a40de2fa5c64c08b01a1",
        "objective_path": "data/objective-snapshots/ab-410-official-objectives.txt",
        "objective_raw_sha256": "390c1040388541915573525f59b9f2f28753f65d0a3a50e9221dd7ab11c68142",
        "objective_count": 48,
        "group_count": 7,
        "line_count": 572,
        "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AB-410.diff",
        "diff_raw_sha256": "9e95ee0e7dc7490e0a1b6d2c8b1ca8bcbde702c849a241a9e13f41dec4c1af58",
        "initial_flags": 21,
        "resolved_initial_flags": 21,
        "remaining_material_named_workflow_gaps": [],
        "source_gate_state": "blocked per coordinator; evidence gap retained",
        "current_mapping": [
          {
            "wording": "Analyze requirements to identify components and options for implementation",
            "objective_wording_sha256": "61e5d6376399882adbc60968e37ebacad832d8becad890c99d3a9c9a662fdb15",
            "group": "Design Microsoft Power Platform solutions by using AI-enabled tools",
            "group_number": 1,
            "objective_number": 1,
            "objective_id": "AB-410-1.1",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Start with outcome, process, data, and risk",
                "start_line": 65,
                "end_line": 76,
                "span_lf_sha256": "10045001ff9f0e3515fe3b43139986f39cb381e9816e1ea490f90c2d47770fb3"
              }
            ],
            "reason": "Decomposes process and chooses components by risk and acceptance measures.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Decomposes process and chooses components by risk and acceptance measures.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Evaluate built-in agents to include in the business solution",
            "objective_wording_sha256": "224ee1091e62026a0d8e5a3fd985f42bb44d4aa7fef1af9adf2a43626b9bab70",
            "group": "Design Microsoft Power Platform solutions by using AI-enabled tools",
            "group_number": 1,
            "objective_number": 2,
            "objective_id": "AB-410-1.2",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Start with outcome, process, data, and risk",
                "start_line": 78,
                "end_line": 82,
                "span_lf_sha256": "27e5f924597be47c3cd2a216212e5a97e21d53cad2e9219fa412c2f4201ce9b8"
              }
            ],
            "reason": "Evaluates agent task, identity, governance, capacity and escalation before selection.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Evaluates agent task, identity, governance, capacity and escalation before selection.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Recommend extensibility options",
            "objective_wording_sha256": "621889f7f456bf6a2e72b59dadb85b266a6c81bf684ba616dc802ce8259ed313",
            "group": "Design Microsoft Power Platform solutions by using AI-enabled tools",
            "group_number": 1,
            "objective_number": 3,
            "objective_id": "AB-410-1.3",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Start with outcome, process, data, and risk",
                "start_line": 68,
                "end_line": 78,
                "span_lf_sha256": "e4834807a6ec19d702afbf30e99a68be500c60f96c7e8e5fc81f646783032fb9"
              }
            ],
            "reason": "Chooses connector/extension only for capability beyond a stable low-code contract.",
            "initial_flag_disposition": "initial evidence-span erratum corrected; substantive guide teaching retained, no guide repair needed",
            "historical_disposition": "initial evidence-span erratum corrected; substantive guide teaching retained, no guide repair needed",
            "initial_flag_reason": null,
            "initial_reason": "Chooses connector/extension only for capability beyond a stable low-code contract.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Recommend environment types",
            "objective_wording_sha256": "626278a2de1284a2fde7bfa4002fd1365a5d6e24e0235249d240dbd0fe35731f",
            "group": "Design Microsoft Power Platform solutions by using AI-enabled tools",
            "group_number": 1,
            "objective_number": 4,
            "objective_id": "AB-410-1.4",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Recommend an environment and governance boundary",
                "start_line": 86,
                "end_line": 86,
                "span_lf_sha256": "71baffdc4ad4fdb46137cad39c6319d6477868a4337dd6dc7caba901c1af33b8"
              },
              {
                "heading": "Recommend an environment and governance boundary",
                "start_line": 88,
                "end_line": 93,
                "span_lf_sha256": "7418c3fa24a8017e141af336dad5355cd55463f7fc059ee353d681d3901db10f"
              },
              {
                "heading": "Recommend an environment and governance boundary",
                "start_line": 95,
                "end_line": 95,
                "span_lf_sha256": "d2b90610e4cb8b0624c75b7004e73523273b90c899097e09056b30828231e36f"
              }
            ],
            "reason": "Environment purpose and governance choices are retained; the Teams recommendation now specifies the creation cutoff, suspension/decommission phases and capacity/licensing review before an upgrade or move.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Distinguishes environment purposes; Teams recommendation lacks newly published deprecation.",
            "initial_reason": "Distinguishes environment purposes; Teams recommendation lacks newly published deprecation.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-teams-deprecation",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Apply a Microsoft Power Platform solution and ALM strategy",
            "objective_wording_sha256": "5e2e491e5a7783a92b28ac85edcf2f38c8d72b218c671f35708a9511c82d41cf",
            "group": "Design Microsoft Power Platform solutions by using AI-enabled tools",
            "group_number": 1,
            "objective_number": 5,
            "objective_id": "AB-410-1.5",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Apply a solution and ALM strategy",
                "start_line": 99,
                "end_line": 107,
                "span_lf_sha256": "fc210d09af639a2df378fdc9856d67a8adf1be18ba5db2228570768732b3607e"
              }
            ],
            "reason": "Explains solution artifact, destination bindings, promotion and separate data recovery.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains solution artifact, destination bindings, promotion and separate data recovery.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and edit tables in the data workspace",
            "objective_wording_sha256": "6990a5ed151b158bfcc9f8fa4668e73b87d40d63df3ab137edd74845ee2bd055",
            "group": "Build data models",
            "group_number": 2,
            "objective_number": 1,
            "objective_id": "AB-410-2.1",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a Dataverse model from business meaning",
                "start_line": 111,
                "end_line": 111,
                "span_lf_sha256": "6ff70fa7adccfa1f3d67496bd9e3aed8dc97518c518cb05c909c24da5220f4d5"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 126,
                "end_line": 126,
                "span_lf_sha256": "b4d46d8c8462b8db816e8dc485520d9bfbb7471a1d2ac9d3f8ca6300d8c24095"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 128,
                "end_line": 128,
                "span_lf_sha256": "cdf15e6e8cbd391b35412f76537bcbd665e5e4b8bfefe153cfc2859ef2553b98"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 130,
                "end_line": 130,
                "span_lf_sha256": "dc5cc2c5936e5cb444df7aafe203776e8e9b11b1f8de9c82105f654791435045"
              }
            ],
            "reason": "The worked build creates a blank request table in the data workspace, adds typed columns and an existing customer table, relates records, saves and reopens the schema, and checks three rows plus metadata/data-access boundaries.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Explains entity meaning but not creating/editing in data workspace or unsupported relationships.",
            "initial_reason": "Explains entity meaning but not creating/editing in data workspace or unsupported relationships.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-data-workspace",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and modify standard tables",
            "objective_wording_sha256": "4aa7e8aeedc7aa3d22d14720d1fc7a3d159dbedbe8957422e19eddb6921b63b8",
            "group": "Build data models",
            "group_number": 2,
            "objective_number": 2,
            "objective_id": "AB-410-2.2",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a Dataverse model from business meaning",
                "start_line": 111,
                "end_line": 111,
                "span_lf_sha256": "6ff70fa7adccfa1f3d67496bd9e3aed8dc97518c518cb05c909c24da5220f4d5"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 126,
                "end_line": 126,
                "span_lf_sha256": "b4d46d8c8462b8db816e8dc485520d9bfbb7471a1d2ac9d3f8ca6300d8c24095"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 128,
                "end_line": 128,
                "span_lf_sha256": "cdf15e6e8cbd391b35412f76537bcbd665e5e4b8bfefe153cfc2859ef2553b98"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 130,
                "end_line": 130,
                "span_lf_sha256": "dc5cc2c5936e5cb444df7aafe203776e8e9b11b1f8de9c82105f654791435045"
              }
            ],
            "reason": "The existing standard-versus-custom decision is now paired with creating and reopening a standard-type request table and with explicit distinction from customizing an existing standard table; existing Account reuse and managed restrictions remain visible.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Recommends standard versus custom without standard-table customization route.",
            "initial_reason": "Recommends standard versus custom without standard-table customization route.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-data-workspace",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure table properties",
            "objective_wording_sha256": "41255d184258c6c0bb40c4877d90a28cf6c5c489f066e607e12927703a5cf37d",
            "group": "Build data models",
            "group_number": 2,
            "objective_number": 3,
            "objective_id": "AB-410-2.3",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a Dataverse model from business meaning",
                "start_line": 111,
                "end_line": 111,
                "span_lf_sha256": "6ff70fa7adccfa1f3d67496bd9e3aed8dc97518c518cb05c909c24da5220f4d5"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 126,
                "end_line": 126,
                "span_lf_sha256": "b4d46d8c8462b8db816e8dc485520d9bfbb7471a1d2ac9d3f8ca6300d8c24095"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 128,
                "end_line": 128,
                "span_lf_sha256": "cdf15e6e8cbd391b35412f76537bcbd665e5e4b8bfefe153cfc2859ef2553b98"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 130,
                "end_line": 130,
                "span_lf_sha256": "dc5cc2c5936e5cb444df7aafe203776e8e9b11b1f8de9c82105f654791435045"
              }
            ],
            "reason": "The request build deliberately chooses ownership, adds named typed columns, saves the schema and changes its description after reopening rather than duplicating the entity.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Names properties without a worked saved property change.",
            "initial_reason": "Names properties without a worked saved property change.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-data-workspace",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and modify columns",
            "objective_wording_sha256": "04967289f24fee6f81c79ddc269f6f2c6eca7a2ee4d77e5323b7954677f16ffe",
            "group": "Build data models",
            "group_number": 2,
            "objective_number": 4,
            "objective_id": "AB-410-2.4",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a Dataverse model from business meaning",
                "start_line": 111,
                "end_line": 111,
                "span_lf_sha256": "6ff70fa7adccfa1f3d67496bd9e3aed8dc97518c518cb05c909c24da5220f4d5"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 126,
                "end_line": 126,
                "span_lf_sha256": "b4d46d8c8462b8db816e8dc485520d9bfbb7471a1d2ac9d3f8ca6300d8c24095"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 128,
                "end_line": 128,
                "span_lf_sha256": "cdf15e6e8cbd391b35412f76537bcbd665e5e4b8bfefe153cfc2859ef2553b98"
              },
              {
                "heading": "Worked build — request data before app screens",
                "start_line": 130,
                "end_line": 130,
                "span_lf_sha256": "dc5cc2c5936e5cb444df7aafe203776e8e9b11b1f8de9c82105f654791435045"
              }
            ],
            "reason": "The request build selects short text, choice and date/time columns for concrete data meanings, saves three rows and verifies types, properties and access rather than merely listing column categories.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Explains type/key selection but needs actual typed-column construction.",
            "initial_reason": "Explains type/key selection but needs actual typed-column construction.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-data-workspace",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure table relationships",
            "objective_wording_sha256": "21a48133153c2aec89431d60d45452c41a6a8bf604f2bd17241efbdb02d8c5c8",
            "group": "Build data models",
            "group_number": 2,
            "objective_number": 5,
            "objective_id": "AB-410-2.5",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a Dataverse model from business meaning",
                "start_line": 115,
                "end_line": 122,
                "span_lf_sha256": "67b80af7d380898ee936c963b995d332e1a4c8ae01312554f2a8e2452b4ab7cd"
              }
            ],
            "reason": "Distinguishes lookup/intersect/association cardinality and cascade consequences.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes lookup/intersect/association cardinality and cascade consequences.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure prompt columns",
            "objective_wording_sha256": "0a446904d69e8edc52c7f1ea28956e75ed2249316c8c08f5b07bf8346262fe2d",
            "group": "Build data models",
            "group_number": 2,
            "objective_number": 6,
            "objective_id": "AB-410-2.6",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Distinguish prompt columns, row summaries, and deterministic columns",
                "start_line": 134,
                "end_line": 140,
                "span_lf_sha256": "7867a7aea9f0b0de24cd8e5027cd575e66086234c88dcd7f335e4411b7db28b2"
              }
            ],
            "reason": "Teaches triggers, environment/column execution settings, unsupported inputs and status diagnostics.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches triggers, environment/column execution settings, unsupported inputs and status diagnostics.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure row summaries",
            "objective_wording_sha256": "694c96ad5af20cebf1b550d3841f0dfab41ef4c31d2037d3f490ca2dd3295c6f",
            "group": "Build data models",
            "group_number": 2,
            "objective_number": 7,
            "objective_id": "AB-410-2.7",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Distinguish prompt columns, row summaries, and deterministic columns",
                "start_line": 140,
                "end_line": 140,
                "span_lf_sha256": "1dc7657491edeb3eb2a7587e86dc3e00fe7baa9eaf8907d6c67bfc3c6cc50f04"
              }
            ],
            "reason": "Teaches summary enablement, form/table scope, language and solution components.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches summary enablement, form/table scope, language and solution components.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure public views",
            "objective_wording_sha256": "5ee7627752d6696f6411b6932eb67d90fec3d801e081d36402a35d2c11f80265",
            "group": "Build data models",
            "group_number": 2,
            "objective_number": 8,
            "objective_id": "AB-410-2.8",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 176,
                "end_line": 176,
                "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 178,
                "end_line": 178,
                "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 180,
                "end_line": 180,
                "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
              }
            ],
            "reason": "The triage build creates an Open requests public view with an explicit open-state filter, customer/state/received columns and oldest-first sort, then saves/publishes and checks records under restricted personas.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Names public view queries without constructing filter, columns and sort.",
            "initial_reason": "Names public view queries without constructing filter, columns and sort.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-model-driven-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure main forms",
            "objective_wording_sha256": "50edc2af2db9e7e4bef23d6f0da81e4279f5bb74b1876ef0cf5f245517e0b619",
            "group": "Build data models",
            "group_number": 2,
            "objective_number": 9,
            "objective_id": "AB-410-2.9",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 176,
                "end_line": 176,
                "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 178,
                "end_line": 178,
                "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 180,
                "end_line": 180,
                "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
              }
            ],
            "reason": "The worked main form places concrete customer/state/time fields together, saves/publishes the component and tests persona presentation independently from underlying access.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Names form organization without editing/save/publish workflow.",
            "initial_reason": "Names form organization without editing/save/publish workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-model-driven-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure security",
            "objective_wording_sha256": "314b234f1da9ad17c9f16b49c628f3c72a7250aa8ceb2083a1a15e7c76dd74e3",
            "group": "Build data models",
            "group_number": 2,
            "objective_number": 10,
            "objective_id": "AB-410-2.10",
            "domain": "Create a foundation for intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Dataverse security as layered authorization",
                "start_line": 148,
                "end_line": 156,
                "span_lf_sha256": "03ef3f0274074528e9d88c1857b47e44dacf8c6840a97ac8b1cd30f40d92d8f2"
              }
            ],
            "reason": "Teaches privilege depth, teams, ownership, column protection and nonadmin tests.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches privilege depth, teams, ownership, column protection and nonadmin tests.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and configure forms for model-driven apps",
            "objective_wording_sha256": "3fdb1bb3333f16be91c70f14d4c95c9dee58f5206913931c43843291c88d08d4",
            "group": "Create model-driven apps",
            "group_number": 3,
            "objective_number": 1,
            "objective_id": "AB-410-3.1",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 176,
                "end_line": 176,
                "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 178,
                "end_line": 178,
                "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 180,
                "end_line": 180,
                "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
              }
            ],
            "reason": "Form-type guidance is now followed by an actual main-form edit, selected fields, publication and released-app persona checks.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Distinguishes form types and role UX without building/publishing a form.",
            "initial_reason": "Distinguishes form types and role UX without building/publishing a form.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-model-driven-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and configure views for model-driven apps",
            "objective_wording_sha256": "87451ee0ae8135478dc56af53e13dff6742cae58fd8b87206c312fc7b0f51b5b",
            "group": "Create model-driven apps",
            "group_number": 3,
            "objective_number": 2,
            "objective_id": "AB-410-3.2",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 176,
                "end_line": 176,
                "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 178,
                "end_line": 178,
                "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 180,
                "end_line": 180,
                "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
              }
            ],
            "reason": "A public open-state view is configured with specific columns and chronological order, included in the app and verified against synthetic records and effective access.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Describes view/chart relationship without edited filter/sort example.",
            "initial_reason": "Describes view/chart relationship without edited filter/sort example.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-model-driven-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create generative pages by using natural language",
            "objective_wording_sha256": "68ea9983c5cf4810db25cdff3a1f410bdd69f837cf6203f04a7d791cb8a75bcb",
            "group": "Create model-driven apps",
            "group_number": 3,
            "objective_number": 3,
            "objective_id": "AB-410-3.3",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a model-driven app from the data model",
                "start_line": 168,
                "end_line": 170,
                "span_lf_sha256": "6fe4e87aef5e82cc2aada777d327c8f21c311284da21053d99b877e784e2ff05"
              }
            ],
            "reason": "Explains natural-language drafting, review, record binding, dependencies and publication limits.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains natural-language drafting, review, record binding, dependencies and publication limits.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Compose a model-driven app",
            "objective_wording_sha256": "e724d31cb9f2c84a88d64a608b64673cfbe46bf0c960b8714ade666b7ece2084",
            "group": "Create model-driven apps",
            "group_number": 3,
            "objective_number": 4,
            "objective_id": "AB-410-3.4",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 176,
                "end_line": 176,
                "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 178,
                "end_line": 178,
                "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 180,
                "end_line": 180,
                "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
              }
            ],
            "reason": "The build assembles table pages, selected forms/views, task-based navigation and a dashboard, then saves/publishes and reopens the released app.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Describes composition but lacks ordered table-page/navigation/asset/publish workflow.",
            "initial_reason": "Describes composition but lacks ordered table-page/navigation/asset/publish workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-model-driven-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure access to forms and views for model-driven apps",
            "objective_wording_sha256": "aa8ec934b56fee8a56e76e3d8fc72f26b3365565b34a1758257a4882802b5c27",
            "group": "Create model-driven apps",
            "group_number": 3,
            "objective_number": 5,
            "objective_id": "AB-410-3.5",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a model-driven app from the data model",
                "start_line": 164,
                "end_line": 172,
                "span_lf_sha256": "5127f779e8015bf9310935fcb677951929b8d86dc8b6a7f879d61496a0db5096"
              }
            ],
            "reason": "Separates presentation restrictions from independent data authorization.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates presentation restrictions from independent data authorization.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure access to model-driven apps",
            "objective_wording_sha256": "b4b9f99a7e212a304e2f93c164ea50fbbd78c28ad2f82d8eb0b7a988c3126afe",
            "group": "Create model-driven apps",
            "group_number": 3,
            "objective_number": 6,
            "objective_id": "AB-410-3.6",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a model-driven app from the data model",
                "start_line": 172,
                "end_line": 172,
                "span_lf_sha256": "993e469da011fdab6311fc1e392b035763b284ddc017e41819ec5bf42d7cb4ec"
              }
            ],
            "reason": "Explains sharing plus table roles and layered access diagnosis.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains sharing plus table roles and layered access diagnosis.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and configure model-driven app charts and dashboards",
            "objective_wording_sha256": "1b99c4ed3ddb7d5691eb0e49377e7bccb8c578854f7b651fa3acdc2ddb799f45",
            "group": "Create model-driven apps",
            "group_number": 3,
            "objective_number": 7,
            "objective_id": "AB-410-3.7",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 176,
                "end_line": 176,
                "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 178,
                "end_line": 178,
                "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
              },
              {
                "heading": "Worked build — a triage app and its evidence",
                "start_line": 180,
                "end_line": 180,
                "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
              }
            ],
            "reason": "The chart construction chooses customer category, record-count aggregation and column type, publishes it, adds chart/list to a dashboard and diagnoses missing assets or incorrect counts against view/security semantics.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Chart/dashboard nouns do not construct series/category/aggregation or dashboard components.",
            "initial_reason": "Chart/dashboard nouns do not construct series/category/aggregation or dashboard components.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-model-driven-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create a canvas app using data",
            "objective_wording_sha256": "7cff5fb9bd06fdc45b8bf0222eb2bc40e8a3a3fb7714e145ac564b04a23f731a",
            "group": "Create canvas apps",
            "group_number": 4,
            "objective_number": 1,
            "objective_id": "AB-410-4.1",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — data, selection and a verified save",
                "start_line": 194,
                "end_line": 194,
                "span_lf_sha256": "3fa5f855161ee5958eddf49711e0d0f07da1195c2db86c64580a6d7e796324c9"
              },
              {
                "heading": "Worked build — data, selection and a verified save",
                "start_line": 196,
                "end_line": 196,
                "span_lf_sha256": "830d15013552f9b3202389719808983600ef0043b021d87e00b904c77f6a0089"
              }
            ],
            "reason": "The app build binds a Dataverse source, gallery Items, form DataSource/Item and fields, then creates/edits/reopens a row. Form OnSuccess/OnFailure separates persisted success from retained input after denial.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Create-from-data sentence lacks concrete browse/edit/save path.",
            "initial_reason": "Create-from-data sentence lacks concrete browse/edit/save path.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-canvas-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design apps for accessibility, performance, responsiveness, and usability",
            "objective_wording_sha256": "515d5ac379bb97d0781606a6fb3fc1b0cf4c9c26704e903d74174529fef216b6",
            "group": "Create canvas apps",
            "group_number": 4,
            "objective_number": 2,
            "objective_id": "AB-410-4.2",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a canvas app that remains usable and correct",
                "start_line": 184,
                "end_line": 190,
                "span_lf_sha256": "748bfb40a9f25105cde1d784d699c6ccd0078b5ae0d3071501d5533756ebacd9"
              },
              {
                "heading": "Worked example 2 — A plausible gallery can miss most matches",
                "start_line": 198,
                "end_line": 202,
                "span_lf_sha256": "f488bb3142a53e65998e5f4502406736887ca8ea321ac196b868937bb89e388f"
              }
            ],
            "reason": "Teaches containers, accessibility, delegation and incomplete-set example.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches containers, accessibility, delegation and incomplete-set example.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Automate business processes from canvas apps",
            "objective_wording_sha256": "7178f0d4cf05698e57cbac3b1e3bab59e53672ac25343e54df54a4b9fb1c5522",
            "group": "Create canvas apps",
            "group_number": 4,
            "objective_number": 3,
            "objective_id": "AB-410-4.3",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Automate from the app and handle failures",
                "start_line": 227,
                "end_line": 233,
                "span_lf_sha256": "c97211a7860f986f62f9ea2fafa3f23e26066377046e7a439e55534f3e8e93f8"
              }
            ],
            "reason": "Defines flow I/O, identity, async request, retry/error evidence and recovery.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines flow I/O, identity, async request, retry/error evidence and recovery.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create reuseable components, including named formulas, user-defined functions, and component libraries",
            "objective_wording_sha256": "e3448dc4fc0a86b01e3112be558d0e6d7e4f48c4fca8b291370fe7e63c935f8d",
            "group": "Create canvas apps",
            "group_number": 4,
            "objective_number": 4,
            "objective_id": "AB-410-4.4",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked choice — one calculation and one reusable experience",
                "start_line": 221,
                "end_line": 221,
                "span_lf_sha256": "73cad2abfcdf66eec2c4359163ff3e7ff289bf8c0c050f0a9966979a996e76fb"
              },
              {
                "heading": "Worked choice — one calculation and one reusable experience",
                "start_line": 223,
                "end_line": 223,
                "span_lf_sha256": "ed59f5142805a27bb0293c5e33bf7ec5f42ab0bad66669b6b73f3cb7625e51bf"
              }
            ],
            "reason": "A concrete dependency-driven named formula and typed UDF demonstrate reuse; a component has explicit status inputs/error/accessibility contract and library publication/adoption boundary, with invalid-input checks.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Distinguishes formulas/UDFs/components/libraries without reusable I/O definition example.",
            "initial_reason": "Distinguishes formulas/UDFs/components/libraries without reusable I/O definition example.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-reuse-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage variables and collections",
            "objective_wording_sha256": "47f9e9076dfa19658068ca08a5e6956b9a24a4c3c0f5c28bdeeb3843fac2ef7d",
            "group": "Create canvas apps",
            "group_number": 4,
            "objective_number": 5,
            "objective_id": "AB-410-4.5",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Reuse formulas and components deliberately",
                "start_line": 208,
                "end_line": 217,
                "span_lf_sha256": "c2af506b14a5359fa896dbe6ec4ddc226d971e7b69891130d72f254666161082"
              }
            ],
            "reason": "Distinguishes global/context/collection/declarative state and update functions/staleness.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes global/context/collection/declarative state and update functions/staleness.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement error handling",
            "objective_wording_sha256": "8328222c443139da635ac52f4d526a1ab6040c5d5b30bd190e1271b0da529719",
            "group": "Create canvas apps",
            "group_number": 4,
            "objective_number": 6,
            "objective_id": "AB-410-4.6",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Automate from the app and handle failures",
                "start_line": 229,
                "end_line": 233,
                "span_lf_sha256": "5d68af4586dcdee7011a8a100d6987978739b443832cabbdac0b5f274accbc49"
              }
            ],
            "reason": "Explains success guarding, IfError type compatibility and partial-write reconciliation.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains success guarding, IfError type compatibility and partial-write reconciliation.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Test canvas apps, including using Monitor",
            "objective_wording_sha256": "0e43ed1baf406702cc0d65266735fa21f47ec8ec15db94ea97e97a1904971615",
            "group": "Create canvas apps",
            "group_number": 4,
            "objective_number": 7,
            "objective_id": "AB-410-4.7",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Automate from the app and handle failures",
                "start_line": 233,
                "end_line": 233,
                "span_lf_sha256": "cac05291cbc4995c240a5604271328f50ee21325a80369b49acce7cc8c2fdc35"
              }
            ],
            "reason": "Requires affected-role reproduction and event/formula/data-call analysis.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Requires affected-role reproduction and event/formula/data-call analysis.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create a Copilot Studio agent from a canvas app",
            "objective_wording_sha256": "733ed49ec2191879eab365338aad65047ce2ae1b746853bad810243c7fc74b53",
            "group": "Create canvas apps",
            "group_number": 4,
            "objective_number": 8,
            "objective_id": "AB-410-4.8",
            "domain": "Create intelligent applications (25–30%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Create an agent from a canvas app with a controlled boundary",
                "start_line": 237,
                "end_line": 247,
                "span_lf_sha256": "396e1b93ad9d72a4a547b7f4ce6e803d8c5493e8a404de51562a8ca178e1f01e"
              }
            ],
            "reason": "Teaches extraction, missing connections, prerequisites, publishing and harness boundary.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches extraction, missing connections, prerequisites, publishing and harness boundary.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Recommend cloud flow triggers",
            "objective_wording_sha256": "8d2f926658a07bd773bb9e5bf5ae0b1f4609ffea996ca1744cb0845bf3e74ee4",
            "group": "Create cloud flows",
            "group_number": 5,
            "objective_number": 1,
            "objective_id": "AB-410-5.1",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Choose the cloud-flow trigger and connection model",
                "start_line": 253,
                "end_line": 255,
                "span_lf_sha256": "f366515c09809faf65b3f17b0449198553f5acf4831d0397e0b5af459307cddf"
              }
            ],
            "reason": "Chooses event/instant/scheduled and configures Dataverse update/filter scope.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Chooses event/instant/scheduled and configures Dataverse update/filter scope.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Evaluate and recommend connectors",
            "objective_wording_sha256": "b1bf491e1ace6eb985231881741ecf096b24d4ef16a937c722a384ea3c9799c0",
            "group": "Create cloud flows",
            "group_number": 5,
            "objective_number": 2,
            "objective_id": "AB-410-5.2",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Choose the cloud-flow trigger and connection model",
                "start_line": 257,
                "end_line": 259,
                "span_lf_sha256": "e1bb71485876bb0d8689effc8dbc10112e2423f4375df289352df42021627cb8"
              }
            ],
            "reason": "Evaluates operations/auth/DLP/licensing/limits and durable ownership.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Evaluates operations/auth/DLP/licensing/limits and durable ownership.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage approvals by using cloud flows",
            "objective_wording_sha256": "cafa382b3c9b3b190bf109f4616e7316be3505a856b3d0233d136eeaa948b2b0",
            "group": "Create cloud flows",
            "group_number": 5,
            "objective_number": 3,
            "objective_id": "AB-410-5.3",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Compose reliable flow control and approvals",
                "start_line": 265,
                "end_line": 265,
                "span_lf_sha256": "9672894216bcce091eae9922f60b35124da2002c26aeffcafcd5e307aafa7b06"
              },
              {
                "heading": "Worked example 4 — Separate interactive and business deadlines",
                "start_line": 283,
                "end_line": 283,
                "span_lf_sha256": "daaa35fddbf799a671bb3d74f8374925ba37b02fcaa36d6aec26d168750a742b"
              }
            ],
            "reason": "Defines approval state/deadline/persistence and async business completion.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines approval state/deadline/persistence and async business completion.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure cloud flow actions",
            "objective_wording_sha256": "ac34fcbb0c44d3560344b6efb1f77dcca1d6e96c2236710759a3e9a22f9116b1",
            "group": "Create cloud flows",
            "group_number": 5,
            "objective_number": 4,
            "objective_id": "AB-410-5.4",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked flow — classify a small request batch",
                "start_line": 273,
                "end_line": 273,
                "span_lf_sha256": "43d1f313b6ff5ce7d07a16cc9177b546d328e6de81e6afc4821f16a12c052105"
              },
              {
                "heading": "Worked flow — classify a small request batch",
                "start_line": 275,
                "end_line": 275,
                "span_lf_sha256": "dc37dc80e39623995e953c622689cd5be8ba78233a0f564fecdc38d2e4a05a1b"
              },
              {
                "heading": "Worked build — one prompt, two callers",
                "start_line": 317,
                "end_line": 317,
                "span_lf_sha256": "8095e6cb0da31264972663d3e06630cb40720cae18d3ea5ec8ed972e28070efc"
              }
            ],
            "reason": "The batch maps row IDs and categories from authorized retrieval to actions, while the prompt example specifies Run a prompt inputs, returned Text, human review and an outcome condition. Failure/run-after and ledger evidence are explicit.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Action/test categories lack concrete input-action-output mapping.",
            "initial_reason": "Action/test categories lack concrete input-action-output mapping.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-flow-build + ab410-prompt-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement flow control with conditions and loops",
            "objective_wording_sha256": "37972c4c1fe777b8acda77d58e667af2a0d7e75281d33b5a5393a80caa015592",
            "group": "Create cloud flows",
            "group_number": 5,
            "objective_number": 5,
            "objective_id": "AB-410-5.5",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked flow — classify a small request batch",
                "start_line": 273,
                "end_line": 273,
                "span_lf_sha256": "43d1f313b6ff5ce7d07a16cc9177b546d328e6de81e6afc4821f16a12c052105"
              },
              {
                "heading": "Worked flow — classify a small request batch",
                "start_line": 275,
                "end_line": 275,
                "span_lf_sha256": "dc37dc80e39623995e953c622689cd5be8ba78233a0f564fecdc38d2e4a05a1b"
              }
            ],
            "reason": "A for-each request batch retrieves current rows, branches open versus skipped, preserves ordering until justified and handles failure/timeout separately. Empty, closed, denied and duplicate cases have distinct expected ledger effects.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Conditions/loops distinguished but no worked bounded branch/loop failure path.",
            "initial_reason": "Conditions/loops distinguished but no worked bounded branch/loop failure path.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-flow-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Test and troubleshoot cloud flows",
            "objective_wording_sha256": "4adb4c3b7b331fa52dcefc611505ac514afb8738262e33a07dfbb53aabfd2606",
            "group": "Create cloud flows",
            "group_number": 5,
            "objective_number": 6,
            "objective_id": "AB-410-5.6",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Compose reliable flow control and approvals",
                "start_line": 269,
                "end_line": 269,
                "span_lf_sha256": "129471528f649a534ff815d41dcdd6bc1f5d6935d6d0e17be12bbd06003f8515"
              },
              {
                "heading": "Worked flow — classify a small request batch",
                "start_line": 275,
                "end_line": 275,
                "span_lf_sha256": "dc37dc80e39623995e953c622689cd5be8ba78233a0f564fecdc38d2e4a05a1b"
              }
            ],
            "reason": "Uses invalid/denied/throttled/duplicate/timeout cases and run/correlation evidence.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses invalid/denied/throttled/duplicate/timeout cases and run/correlation evidence.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Build prompts from templates or from blank",
            "objective_wording_sha256": "b623dd18cec64f172dbb05b0a86f9586019c0b2ba1bde056db1b3b02569f45c0",
            "group": "Create prompts and models in AI Hub",
            "group_number": 6,
            "objective_number": 1,
            "objective_id": "AB-410-6.1",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — one prompt, two callers",
                "start_line": 313,
                "end_line": 313,
                "span_lf_sha256": "76f3677b3305365205077f152599395de763a7578ab9422e448553cb20e8567a"
              }
            ],
            "reason": "Prompt creation from blank/template now defines a real Text input and category/justification/unknown contract, supplies representative/adversarial samples, revises against a rubric and saves before integration.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Robust contract but no blank/template build-and-save test workflow.",
            "initial_reason": "Robust contract but no blank/template build-and-save test workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-prompt-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Consume a prompt in apps",
            "objective_wording_sha256": "95f727e1af00248ae438fc5f06ea8d10f4a011efa46e17fc405d06ec1059b259",
            "group": "Create prompts and models in AI Hub",
            "group_number": 6,
            "objective_number": 2,
            "objective_id": "AB-410-6.2",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — one prompt, two callers",
                "start_line": 315,
                "end_line": 315,
                "span_lf_sha256": "7dea12fa29c60acb4cbd8c67423c02c063abf237901226fa26662d06db460cca"
              }
            ],
            "reason": "App consumption explicitly adds the saved prompt as data, calls Predict with the input value, retains the returned record and binds its text for review while inspecting actual JSON/text shape and handling invocation error.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Progress/validation described without app input-output binding example.",
            "initial_reason": "Progress/validation described without app input-output binding example.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-prompt-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Consume a prompt in cloud flows",
            "objective_wording_sha256": "6fbf4408789f288dbceb0f03b7ee7e56b5d81719fe1085330cb2bb11fe8f45ec",
            "group": "Create prompts and models in AI Hub",
            "group_number": 6,
            "objective_number": 3,
            "objective_id": "AB-410-6.3",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — one prompt, two callers",
                "start_line": 317,
                "end_line": 317,
                "span_lf_sha256": "8095e6cb0da31264972663d3e06630cb40720cae18d3ea5ec8ed972e28070efc"
              }
            ],
            "reason": "Flow consumption selects a saved prompt, maps the prior validated Text input, routes returned Text to review and branches on the explicit approval outcome before using accepted text; denial/timeout/category cases remain unexecuted checks.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Controlled generation/JSON described without flow binding/consumption sequence.",
            "initial_reason": "Controlled generation/JSON described without flow binding/consumption sequence.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-prompt-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Add knowledge to a prompt",
            "objective_wording_sha256": "474015397ae5e9982c4be223d193245e42a35b6c6f46e166c9cb758199d4594c",
            "group": "Create prompts and models in AI Hub",
            "group_number": 6,
            "objective_number": 4,
            "objective_id": "AB-410-6.4",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a prompt as a governed input-output contract",
                "start_line": 295,
                "end_line": 309,
                "span_lf_sha256": "a45c905defa65c29e37dc25b66023a396f110929289fcc8a7384a031fa866b1d"
              }
            ],
            "reason": "Grounding/retrieval limits taught; SAP support internally inconsistent in first-party docs. Final reread confirms the passage keeps the specific support/applicability gap visible and does not convert proposed tests into an executed or universal recipe.",
            "initial_flag_disposition": "retained evidence blocker; useful provisional treatment preserved",
            "historical_disposition": "retained evidence blocker; useful provisional treatment preserved",
            "initial_flag_reason": null,
            "initial_reason": "Grounding/retrieval limits taught; SAP support internally inconsistent in first-party docs.",
            "initial_depth_result": "blocked-provisional",
            "repair_id": null,
            "depth_result": "blocked-provisional",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive source-bounded provisional teaching; unresolved support/applicability."
          },
          {
            "wording": "Customize prompt settings, including models",
            "objective_wording_sha256": "0b2ea209a4ade9c7026558c2fadb1912839c1f54b7c4fbea845da938f21a1cfb",
            "group": "Create prompts and models in AI Hub",
            "group_number": 6,
            "objective_number": 5,
            "objective_id": "AB-410-6.5",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a prompt as a governed input-output contract",
                "start_line": 299,
                "end_line": 305,
                "span_lf_sha256": "59f67c5469a1dedcef34cf67eaab75c9fde7cb88cbf9463de3e5a408d79b354f"
              }
            ],
            "reason": "Explains model settings, model/region/release-stage variability and per-call context, including why an interaction can exceed one call and why a reasoning model may not expose temperature.",
            "initial_flag_disposition": "independent review evidence-selection correction; substantive guide teaching retained, no guide repair needed",
            "historical_disposition": "independent review evidence-selection correction; substantive guide teaching retained, no guide repair needed",
            "initial_flag_reason": null,
            "initial_reason": "Explains settings/per-call context and model/region/reasoning variability.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Add inputs to a prompt",
            "objective_wording_sha256": "346e62aceb04a069bd4b2b309bc598e6092e5331851d696fa08f6fe08240dfe7",
            "group": "Create prompts and models in AI Hub",
            "group_number": 6,
            "objective_number": 6,
            "objective_id": "AB-410-6.6",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Build a prompt as a governed input-output contract",
                "start_line": 287,
                "end_line": 297,
                "span_lf_sha256": "e1bfe22081a4ee301766f59d352a75685007bbaa77dc811557dbb4b0bbd7004b"
              }
            ],
            "reason": "Teaches delimited inputs, sensitivity, untrusted-content separation and evaluation.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches delimited inputs, sensitivity, untrusted-content separation and evaluation.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Consume an AI model in apps",
            "objective_wording_sha256": "35af7ce50cc4636d164b81f213c484222d7c489922934b52f9bc9bfda7ab1c72",
            "group": "Create prompts and models in AI Hub",
            "group_number": 6,
            "objective_number": 7,
            "objective_id": "AB-410-6.7",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — consume an OCR model through both surfaces",
                "start_line": 329,
                "end_line": 329,
                "span_lf_sha256": "5dc0e196395cb888d4c183d277acf1f9698153661f0d12b181c8da12d12cd6e8"
              }
            ],
            "reason": "A concrete OCR component loads a receipt image and exposes FullText versus Selected.Text for review beside the original, preventing an extracted amount/date from becoming authoritative without business validation.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Model choice/confidence gate lacks app input-output construction.",
            "initial_reason": "Model choice/confidence gate lacks app input-output construction.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-model-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Consume an AI model in cloud flows",
            "objective_wording_sha256": "7830a8d85717987a5c8bbd1fedb8ccf8f14e8d6996acd4a57d26c239246bf1b1",
            "group": "Create prompts and models in AI Hub",
            "group_number": 6,
            "objective_number": 8,
            "objective_id": "AB-410-6.8",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — consume an OCR model through both surfaces",
                "start_line": 331,
                "end_line": 331,
                "span_lf_sha256": "7376241252f2e04635ba22ecdd0ad97777212c2bced2002d728918bcf2d3e6ef"
              }
            ],
            "reason": "The OCR flow maps file content into Recognize text Image input, chooses full-document or pages/lines output deliberately and routes unreadable/empty/business-invalid values to review without inventing unavailable confidence fields.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Model selection lacks flow invocation mapping and low-confidence branch.",
            "initial_reason": "Model selection lacks flow invocation mapping and low-confidence branch.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-model-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure business rules",
            "objective_wording_sha256": "f1d6284ab20b40c9e692be85678eab6d3e25116c7489800dc6183c5895fe77a5",
            "group": "Implement business and process logic",
            "group_number": 7,
            "objective_number": 1,
            "objective_id": "AB-410-7.1",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Select the correct business-logic surface",
                "start_line": 345,
                "end_line": 357,
                "span_lf_sha256": "5297825c7ea45d659dbbf71ef63952befceef4fa63311089480a4bb5b8a42e64"
              }
            ],
            "reason": "Teaches rule scope/actions/activation and write-path validation.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches rule scope/actions/activation and write-path validation.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure business process flows",
            "objective_wording_sha256": "ada9c4c2b483029272e2bf099e1abfd6116530b9f37f4458357e320db672e70c",
            "group": "Implement business and process logic",
            "group_number": 7,
            "objective_number": 2,
            "objective_id": "AB-410-7.2",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Worked build — a guided triage process",
                "start_line": 363,
                "end_line": 363,
                "span_lf_sha256": "dc04b37b9193962e19162e273bbfc1604cfb84c38eea405572681a112ba38448"
              },
              {
                "heading": "Worked build — a guided triage process",
                "start_line": 365,
                "end_line": 365,
                "span_lf_sha256": "0b42bde7a4f15469276ba442b8df1ff6afc5a7fe30e12b7d3488175071ee3cce"
              }
            ],
            "reason": "The BPF build creates Intake/Review/Close stages, customer/category/disposition data steps, required-step semantics, validation/save/activation and instance privileges; missing category, read-only observer and required-Boolean behavior are distinguished from API authorization.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "BPF only defined; no staged required steps, validation, activation or instance-security example.",
            "initial_reason": "BPF only defined; no staged required steps, validation, activation or instance-security example.",
            "initial_depth_result": "repair-required",
            "repair_id": "ab410-bpf-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure calculated, rollup, and formula columns",
            "objective_wording_sha256": "fe0ea63bb207742812a51ded482349d9fce793311e696bc1b3f1becc118080e2",
            "group": "Implement business and process logic",
            "group_number": 7,
            "objective_number": 3,
            "objective_id": "AB-410-7.3",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Select the correct business-logic surface",
                "start_line": 359,
                "end_line": 359,
                "span_lf_sha256": "36e03e33898e955ed8a02fa5f13ac369e9ecdece55496f88e55f55377035e949"
              },
              {
                "heading": "Worked example 6 — An aggregate can be correct for the wrong instant",
                "start_line": 369,
                "end_line": 369,
                "span_lf_sha256": "efdf97fc8664df85852e4e11ac3246d66ccdf88381d8bc84eff3ca0dbdf770ad"
              }
            ],
            "reason": "Distinguishes deterministic row and async aggregate timing/type limits with failure example.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes deterministic row and async aggregate timing/type limits with failure example.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Evaluate use cases for business logic",
            "objective_wording_sha256": "8ae2093858ef80dadb1642830eee8fbb91d9be6a0d37e7248bfdd262c07a80be",
            "group": "Implement business and process logic",
            "group_number": 7,
            "objective_number": 4,
            "objective_id": "AB-410-7.4",
            "domain": "Build business application logic and automation (40–45%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Select the correct business-logic surface",
                "start_line": 345,
                "end_line": 357,
                "span_lf_sha256": "5297825c7ea45d659dbbf71ef63952befceef4fa63311089480a4bb5b8a42e64"
              },
              {
                "heading": "Worked example 6 — An aggregate can be correct for the wrong instant",
                "start_line": 369,
                "end_line": 369,
                "span_lf_sha256": "efdf97fc8664df85852e4e11ac3246d66ccdf88381d8bc84eff3ca0dbdf770ad"
              }
            ],
            "reason": "Decision table selects surface by timing/scope/type/identity.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Decision table selects surface by timing/scope/type/identity.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          }
        ],
        "accepted_status_raw_sha256": "0d55874709f1d1417de6928afa0e28c836b5c52353602f4889921d34712d2634"
      },
      {
        "exam_code": "AZ-120",
        "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
        "captured_final_guide_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-120-planning-administering-azure-sap-workloads.md",
        "guide_lf_sha256": "dd4ff9be605b1bc246858e62bfd0bfb8fb558fc05a1ac3a8658dd9c9dcd3e080",
        "objective_path": "data/objective-snapshots/az-120-official-objectives.txt",
        "objective_raw_sha256": "9ef2824a901a8ba33075de4315d56f6bd0c7e9b5887028f27c16e6645e6eb3ff",
        "objective_count": 78,
        "group_count": 10,
        "line_count": 937,
        "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-120.diff",
        "diff_raw_sha256": "86fa5771868e1bf88400b5f1623150d0531031e4756a639069e424efb1ff137b",
        "initial_flags": 18,
        "resolved_initial_flags": 18,
        "remaining_material_named_workflow_gaps": [],
        "source_gate_state": "blocked per coordinator; evidence gap retained",
        "current_mapping": [
          {
            "wording": "Estimate target sizing for SAP workloads",
            "objective_wording_sha256": "6206e287da3fe54ae193140116e4b092682feb4b02403f246ed50dbe5b940b7f",
            "group": "Identify requirements for target infrastructure",
            "group_number": 1,
            "objective_number": 1,
            "objective_id": "AZ-120-1.1",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Discover and size the source landscape",
                "start_line": 108,
                "end_line": 121,
                "span_lf_sha256": "2c3a01f9b1107a0e56fcefb154d9609ce3ea662b35cbb9993ccb4110f4468f29"
              }
            ],
            "reason": "Collects peak SAPS/memory/growth and separates app/database sizing.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Collects peak SAPS/memory/growth and separates app/database sizing.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Identify supported scenarios for SAP deployments on Azure",
            "objective_wording_sha256": "d324d0d8f74d4d12fed9e5c801ac4f9275ced5d643c9cd6f808cb0810cd9d56e",
            "group": "Identify requirements for target infrastructure",
            "group_number": 1,
            "objective_number": 2,
            "objective_id": "AZ-120-1.2",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Treat supportability as a design constraint",
                "start_line": 77,
                "end_line": 88,
                "span_lf_sha256": "287de410c0f7b7a165add98391f8d00bbe8890b52618949b4bb4e55330be46d2"
              }
            ],
            "reason": "Requires exact SAP/OS/DB/VM/storage/HA support and dated evidence.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Requires exact SAP/OS/DB/VM/storage/HA support and dated evidence.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Identify compute, storage, and network requirements for SAP workloads",
            "objective_wording_sha256": "75531f5da6817e6db8edbb5481d3bb3712b23a0a1738755ef1f699526ef39455",
            "group": "Identify requirements for target infrastructure",
            "group_number": 1,
            "objective_number": 3,
            "objective_id": "AZ-120-1.3",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Discover and size the source landscape",
                "start_line": 108,
                "end_line": 121,
                "span_lf_sha256": "2c3a01f9b1107a0e56fcefb154d9609ce3ea662b35cbb9993ccb4110f4468f29"
              }
            ],
            "reason": "Measures compute/storage/network/recovery demand rather than average CPU.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Measures compute/storage/network/recovery demand rather than average CPU.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Assess constraints imposed by subscription models and quota limits",
            "objective_wording_sha256": "0f8911ac334a469b8a33b461a5f9605378c1da65dcf1603decc37a49b267e645",
            "group": "Identify requirements for target infrastructure",
            "group_number": 1,
            "objective_number": 4,
            "objective_id": "AZ-120-1.4",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Quotas, capacity, licensing, support and cost",
                "start_line": 125,
                "end_line": 135,
                "span_lf_sha256": "90ace505123d81c0abadf63f9ea458db172ea89499c6967bb1bef7a174a8b9c4"
              }
            ],
            "reason": "Checks family quota and actual zonal capacity separately.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Checks family quota and actual zonal capacity separately.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Identify software licensing requirements for target workloads",
            "objective_wording_sha256": "b8ee6c1aa5613f5dcb17132b39aef5012a9166365fa36dadefd39949631ba236",
            "group": "Identify requirements for target infrastructure",
            "group_number": 1,
            "objective_number": 5,
            "objective_id": "AZ-120-1.5",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Quotas, capacity, licensing, support and cost",
                "start_line": 125,
                "end_line": 135,
                "span_lf_sha256": "90ace505123d81c0abadf63f9ea458db172ea89499c6967bb1bef7a174a8b9c4"
              }
            ],
            "reason": "Separates SAP/OS/subscription entitlement and licensing.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates SAP/OS/subscription entitlement and licensing.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Identify cost implications for target workloads",
            "objective_wording_sha256": "ec20cf60bca20e46176b8ebf493d5d6d5a14f7c884c61ca1d0bce0cba7d13431",
            "group": "Identify requirements for target infrastructure",
            "group_number": 1,
            "objective_number": 6,
            "objective_id": "AZ-120-1.6",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Quotas, capacity, licensing, support and cost",
                "start_line": 125,
                "end_line": 135,
                "span_lf_sha256": "90ace505123d81c0abadf63f9ea458db172ea89499c6967bb1bef7a174a8b9c4"
              }
            ],
            "reason": "Prices topology-specific traffic/backup/logging without universal zone charge.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Prices topology-specific traffic/backup/logging without universal zone charge.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Specify an Azure support plan for the target infrastructure",
            "objective_wording_sha256": "0c9a41a6df6143351e8576c507ea70cab8e75a12d3c44a3a69df37a8c437de1a",
            "group": "Identify requirements for target infrastructure",
            "group_number": 1,
            "objective_number": 7,
            "objective_id": "AZ-120-1.7",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Quotas, capacity, licensing, support and cost",
                "start_line": 125,
                "end_line": 135,
                "span_lf_sha256": "90ace505123d81c0abadf63f9ea458db172ea89499c6967bb1bef7a174a8b9c4"
              }
            ],
            "reason": "Requires Azure/SAP/partner entitlement and escalation boundaries.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Requires Azure/SAP/partner entitlement and escalation boundaries.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Choose between lift and shift, lift-shift-migrate, and lift-shift-migrate to HANA",
            "objective_wording_sha256": "9f458af8ae14f2992f7145373f4559efe9fba04bf748c02f89805d8d6811a97d",
            "group": "Identify requirements for target infrastructure",
            "group_number": 1,
            "objective_number": 8,
            "objective_id": "AZ-120-1.8",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Choose the target and migration pattern",
                "start_line": 139,
                "end_line": 148,
                "span_lf_sha256": "81d509ff8ddfa2301292246c323bf4941ca19bc0e403dd5edb4473d84bd36c99"
              }
            ],
            "reason": "Compares scope/downtime/risk across migration patterns.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Compares scope/downtime/risk across migration patterns.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Choose an appropriate SAP workload migration strategy and tools",
            "objective_wording_sha256": "b5a31e5b8993dd5d85216250ad601a64c125f8b6b088e9f662a293144e4fd243",
            "group": "Identify requirements for target infrastructure",
            "group_number": 1,
            "objective_number": 9,
            "objective_id": "AZ-120-1.9",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Choose the target and migration pattern",
                "start_line": 146,
                "end_line": 160,
                "span_lf_sha256": "7a2212b4b3ed8c87f44e21922a7614319f03ba37f632f7a73447c88da69ebe55"
              }
            ],
            "reason": "Selects tooling by compatibility and measured rehearsal/rollback.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Selects tooling by compatibility and measured rehearsal/rollback.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement authorization and access control for SAP workloads",
            "objective_wording_sha256": "96ec519d0e43129bf859e60794038ed813c232a55b7897ed1a1fd0c76369ccd2",
            "group": "Design and implement an Azure environment to support SAP workloads",
            "group_number": 2,
            "objective_number": 1,
            "objective_id": "AZ-120-2.1",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design the management hierarchy and controls",
                "start_line": 166,
                "end_line": 179,
                "span_lf_sha256": "9425735679c3995c89988b645a9e9c9de2dd819cfc34a7ba27b7e19d9e6ad845"
              }
            ],
            "reason": "Separates Azure and SAP authorization and least-privilege operating ownership.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates Azure and SAP authorization and least-privilege operating ownership.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement governance and compliance by using Azure Policy",
            "objective_wording_sha256": "969dc8bc81006dd413928152345b199118aa69f9c9a445b7f1abd38dc9be70cf",
            "group": "Design and implement an Azure environment to support SAP workloads",
            "group_number": 2,
            "objective_number": 2,
            "objective_id": "AZ-120-2.2",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked control — enforce a boundary without an estate-wide surprise",
                "start_line": 183,
                "end_line": 183,
                "span_lf_sha256": "98364b60e8c1215fa27fb9faec40b26ce903eb63a77a983acd4d0fd60a04f8c5"
              },
              {
                "heading": "Worked control — enforce a boundary without an estate-wide surprise",
                "start_line": 185,
                "end_line": 185,
                "span_lf_sha256": "f520a54c0d3752b6e3153a702b16cca0fb0ea87ffae1ddbc3ad0d7f4452cc080"
              }
            ],
            "reason": "The worked policy scopes an assignment, parameters and audit/enforcement pilot to a test resource group, inspects compliant/noncompliant resources and denied creation separately, and covers exemptions plus identity/remediation requirements.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Lists Policy controls without scope/audit/remediation/exception workflow.",
            "initial_reason": "Lists Policy controls without scope/audit/remediation/exception workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-policy-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement authentication for SAP workloads",
            "objective_wording_sha256": "3f8ac9ccbeb5e1bf3593b7f3eed4ee8b85cf0e3878af2c42a266b7cee656490a",
            "group": "Design and implement an Azure environment to support SAP workloads",
            "group_number": 2,
            "objective_number": 3,
            "objective_id": "AZ-120-2.3",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design the management hierarchy and controls",
                "start_line": 177,
                "end_line": 179,
                "span_lf_sha256": "a2a8e4c059781b3dd6a802ddbff30115610d6c993b1a8341fb341188ca103834"
              }
            ],
            "reason": "Distinguishes OS/DB/SAP/Entra authentication planes.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes OS/DB/SAP/Entra authentication planes.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement authentication for SAP software as a service (SaaS) applications",
            "objective_wording_sha256": "3bd0316011c50094b26a2eb466639b5af98f77624dee278b977374ef109c3303",
            "group": "Design and implement an Azure environment to support SAP workloads",
            "group_number": 2,
            "objective_number": 4,
            "objective_id": "AZ-120-2.4",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design the management hierarchy and controls",
                "start_line": 179,
                "end_line": 179,
                "span_lf_sha256": "227065ee740d879d98bd1c53639abb5c12dfeb42333e600a89ae7870f8ee3180"
              }
            ],
            "reason": "Sequences federation/provisioning and sign-in/deprovision checks apart from SAP roles.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Sequences federation/provisioning and sign-in/deprovision checks apart from SAP roles.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement a management hierarchy, including management groups, subscriptions, and resource groups",
            "objective_wording_sha256": "dcdb8fd98aad46f007cf8ea6811b6cc09c7c30102a1221a57e07817ea83db614",
            "group": "Design and implement an Azure environment to support SAP workloads",
            "group_number": 2,
            "objective_number": 5,
            "objective_id": "AZ-120-2.5",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design the management hierarchy and controls",
                "start_line": 166,
                "end_line": 177,
                "span_lf_sha256": "751a22cf1ee9fd68e1fccbeec1c066641e6ad1f47b027706761330b89ca7f0dc"
              }
            ],
            "reason": "Explains hierarchy as policy/billing/lifecycle/blast-radius boundaries.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains hierarchy as policy/billing/lifecycle/blast-radius boundaries.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design Azure landing zones for SAP",
            "objective_wording_sha256": "b8f6d2ed68db7696e6256858e5265294b1ce0d94828ddf03dac5933518eb2843",
            "group": "Design and implement an Azure environment to support SAP workloads",
            "group_number": 2,
            "objective_number": 6,
            "objective_id": "AZ-120-2.6",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Build a migration factory",
                "start_line": 152,
                "end_line": 160,
                "span_lf_sha256": "b2ac8e91d6a51f7dd2f24a745f454ca424df86ed8b71f2eb060adb9b911fce52"
              }
            ],
            "reason": "Sequences landing zone before migration waves/cutover.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Sequences landing zone before migration waves/cutover.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design networking for SAP RISE",
            "objective_wording_sha256": "67b3719abf6233dcc2b2418e1f2d0d693b6e6d7919ffc6e76df7a34ac8e0bddf",
            "group": "Design and implement integration with SAP RISE",
            "group_number": 3,
            "objective_number": 1,
            "objective_id": "AZ-120-3.1",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Integrate RISE with SAP",
                "start_line": 189,
                "end_line": 202,
                "span_lf_sha256": "25c7a160df5b24d05a53f8a4a053db1d8014e36963527fe1d4de74c2a7117f43"
              }
            ],
            "reason": "Teaches subscription ownership, nonoverlap, DNS/routes and gateway limits.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches subscription ownership, nonoverlap, DNS/routes and gateway limits.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement networking for SAP RISE",
            "objective_wording_sha256": "0debc29c5a033ddee7b42fb7a80f6ca6e0321bc284d7851d64c737e41d143d24",
            "group": "Design and implement integration with SAP RISE",
            "group_number": 3,
            "objective_number": 2,
            "objective_id": "AZ-120-3.2",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 225,
                "end_line": 225,
                "span_lf_sha256": "7448ad39a28eba30ab4f56bc922ea32ee6c414f80dbb33fc818f2f6303097248"
              },
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 227,
                "end_line": 227,
                "span_lf_sha256": "3c76de11eb0f0b3f29b3d47361c52799f36982dd7276173c6340fc4312a2508e"
              },
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 229,
                "end_line": 229,
                "span_lf_sha256": "5f34739d5c5e40cacdca6d7f8115da2989e078c302e6205ea488eb73794e8e8d"
              }
            ],
            "reason": "The RISE handoff exchanges exact VNet IDs and bilateral permissions/approvals, implements return routes/ports, then resolves the actual runtime SAP name; peering state is not substituted for a working authorized transaction.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Bilateral permissions named without worked peering/route/DNS handoff.",
            "initial_reason": "Bilateral permissions named without worked peering/route/DNS handoff.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-rise-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement Azure compute, network, and storage services with SAP RISE",
            "objective_wording_sha256": "c3b3d71055f51f4d0ff900e538311d4791709dfa717b51f0f4d09f9e9ac2074e",
            "group": "Design and implement integration with SAP RISE",
            "group_number": 3,
            "objective_number": 3,
            "objective_id": "AZ-120-3.3",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 225,
                "end_line": 225,
                "span_lf_sha256": "7448ad39a28eba30ab4f56bc922ea32ee6c414f80dbb33fc818f2f6303097248"
              },
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 227,
                "end_line": 227,
                "span_lf_sha256": "3c76de11eb0f0b3f29b3d47361c52799f36982dd7276173c6340fc4312a2508e"
              },
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 229,
                "end_line": 229,
                "span_lf_sha256": "5f34739d5c5e40cacdca6d7f8115da2989e078c302e6205ea488eb73794e8e8d"
              }
            ],
            "reason": "Customer-owned service implementation is traced from approved SAP interface and connector to runtime/driver/identity, customer storage destination and readback/denied-path checks, while RISE infrastructure remains SAP-owned.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Service categories lack customer-side implementation transaction.",
            "initial_reason": "Service categories lack customer-side implementation transaction.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-rise-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement integration of data management services such as data archiving",
            "objective_wording_sha256": "47e83a6ff55e8516e9bf04721301873d635b689d9b3b4a8f4543a1c218a3e7c7",
            "group": "Design and implement integration with SAP RISE",
            "group_number": 3,
            "objective_number": 4,
            "objective_id": "AZ-120-3.4",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 225,
                "end_line": 225,
                "span_lf_sha256": "7448ad39a28eba30ab4f56bc922ea32ee6c414f80dbb33fc818f2f6303097248"
              },
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 227,
                "end_line": 227,
                "span_lf_sha256": "3c76de11eb0f0b3f29b3d47361c52799f36982dd7276173c6340fc4312a2508e"
              },
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 229,
                "end_line": 229,
                "span_lf_sha256": "5f34739d5c5e40cacdca6d7f8115da2989e078c302e6205ea488eb73794e8e8d"
              }
            ],
            "reason": "A bounded integration read archives approved SAP data to customer storage, re-reads it and checks counts/retention/access, explicitly distinguishing copying from SAP archive deletion, authorization and full recoverability.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Archiving named without endpoint/auth/network/write-read setup.",
            "initial_reason": "Archiving named without endpoint/auth/network/write-read setup.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-rise-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement integration of identity and security services with SAP RISE",
            "objective_wording_sha256": "c907169c59ca6d869c825238affb2a72a0287804d818b0a695921f3a3f2105c1",
            "group": "Design and implement integration with SAP RISE",
            "group_number": 3,
            "objective_number": 5,
            "objective_id": "AZ-120-3.5",
            "domain": "Migrate SAP workloads to Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 225,
                "end_line": 225,
                "span_lf_sha256": "7448ad39a28eba30ab4f56bc922ea32ee6c414f80dbb33fc818f2f6303097248"
              },
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 227,
                "end_line": 227,
                "span_lf_sha256": "3c76de11eb0f0b3f29b3d47361c52799f36982dd7276173c6340fc4312a2508e"
              },
              {
                "heading": "Worked handoff — customer service to a RISE interface",
                "start_line": 229,
                "end_line": 229,
                "span_lf_sha256": "5f34739d5c5e40cacdca6d7f8115da2989e078c302e6205ea488eb73794e8e8d"
              }
            ],
            "reason": "The handoff selects SSO by actual SAP client, exchanges metadata/certificates with the responsible owner, maps identity, tests permitted/denied SAP operations and validates customer application-security signals; AMS/ACSS integration with RISE is explicitly excluded.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Federation/security mentioned without SSO/role/security-signal handoff.",
            "initial_reason": "Federation/security mentioned without SSO/role/security-signal handoff.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-rise-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Choose an SAP-certified Azure virtual machine for a given SAP workload",
            "objective_wording_sha256": "ca877d3b4753409a20706ed11c60b6b4781853bd650059b29f37116fe7bdb085",
            "group": "Design and implement a compute solution for SAP workloads",
            "group_number": 4,
            "objective_number": 1,
            "objective_id": "AZ-120-4.1",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Choose certified compute",
                "start_line": 235,
                "end_line": 251,
                "span_lf_sha256": "338da111e1c1507dc7ae1d3390348f355b1443d4be62c548bbfc4a0d7205a444"
              }
            ],
            "reason": "Filters certified compute by SAPS/memory/support/capacity/limits.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Filters certified compute by SAPS/memory/support/capacity/limits.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure the Azure VM extension for SAP solutions",
            "objective_wording_sha256": "1d9392c610299a960beffc74e36abf569be3407cc528a8f855e519a69ca422a1",
            "group": "Design and implement a compute solution for SAP workloads",
            "group_number": 4,
            "objective_number": 2,
            "objective_id": "AZ-120-4.2",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Choose certified compute",
                "start_line": 245,
                "end_line": 251,
                "span_lf_sha256": "a1d1c8f671c817eff676eeb0676c7498f15817d94481a74c2e84de927551df5f"
              }
            ],
            "reason": "Orders agent prerequisites, version choice, endpoint and other-version removal.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders agent prerequisites, version choice, endpoint and other-version removal.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Deploy an operating system by using an Azure Marketplace image",
            "objective_wording_sha256": "19b057b07bba29d305690e5e3690dcfc94e939c04f5c0a82f5d3b3c7a98d810b",
            "group": "Design and implement a compute solution for SAP workloads",
            "group_number": 4,
            "objective_number": 3,
            "objective_id": "AZ-120-4.3",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Choose certified compute",
                "start_line": 235,
                "end_line": 247,
                "span_lf_sha256": "8b87a215c5db0d0524352ea2b9c8d35f81e132f5d0e9e3c80d832c40bc93d288"
              }
            ],
            "reason": "Matches publisher/release/entitlement and validates initialized prerequisites.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Matches publisher/release/entitlement and validates initialized prerequisites.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create a custom image and deploy it to an Azure virtual machine",
            "objective_wording_sha256": "f6f6b9d4d174f37606c809264484a4f5baea96ec572d7d6ced2fe2982c524450",
            "group": "Design and implement a compute solution for SAP workloads",
            "group_number": 4,
            "objective_number": 4,
            "objective_id": "AZ-120-4.4",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Choose certified compute",
                "start_line": 247,
                "end_line": 247,
                "span_lf_sha256": "81ad90290476c8057199a7d4570320b786aea0a2b429096d2d008b2072c9ca3d"
              }
            ],
            "reason": "Orders controlled build/harden/secret removal/generalize/version/clone test.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders controlled build/harden/secret removal/generalize/version/clone test.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Automate a deployment of Azure virtual machines by using IaC, including Bicep and Azure Resource Manager (ARM) templates",
            "objective_wording_sha256": "167f4763a1a831064b680fdf6b4ad3bdd2954b940ae2100ffe1be14526120402",
            "group": "Design and implement a compute solution for SAP workloads",
            "group_number": 4,
            "objective_number": 5,
            "objective_id": "AZ-120-4.5",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked deployment record — the same SID through three approaches",
                "start_line": 361,
                "end_line": 361,
                "span_lf_sha256": "9de4a3486f7746549445da87e6ea8d7557ab1f48280a2de97af93d058f2597a6"
              }
            ],
            "reason": "A concrete SID deployment record freezes support/sizing/network/identity/quota inputs, supplies typed ARM/Bicep parameters and resource dependencies, protects secrets, reviews validation/what-if and checks actual resources separately from guest/SAP initialization.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "IaC comparison lacks parameter-resource/validate/what-if/deploy sequence.",
            "initial_reason": "IaC comparison lacks parameter-resource/validate/what-if/deploy sequence.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-deployment-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Automate a deployment by using the SAP Deployment Automation Framework",
            "objective_wording_sha256": "5a62d5948cc42cb6505ae31ff6d1da0ab5c136b06ad18e3800b08ecf6de10c4a",
            "group": "Design and implement a compute solution for SAP workloads",
            "group_number": 4,
            "objective_number": 6,
            "objective_id": "AZ-120-4.6",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked deployment record — the same SID through three approaches",
                "start_line": 363,
                "end_line": 363,
                "span_lf_sha256": "446d96fc4f7dfed92986a54bf22f33394d9010fcece71175a30d36c255f0c89a"
              }
            ],
            "reason": "The ordered SDAF workflow separates pinned parameters/state and regional control/media from workload-zone, system infrastructure and OS/HANA/SAP configuration, with reviewed plans, retained outputs and independent acceptance/recovery.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Framework tiers lack ordered state/region/workload/system/configuration workflow.",
            "initial_reason": "Framework tiers lack ordered state/region/workload/system/configuration workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-deployment-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Automate a deployment by using Azure Center for SAP solutions",
            "objective_wording_sha256": "d0cd6e72559d169a4381b3c327cdca7ed5565153e588c6d1f0af17a0eede8d2c",
            "group": "Design and implement a compute solution for SAP workloads",
            "group_number": 4,
            "objective_number": 7,
            "objective_id": "AZ-120-4.7",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked deployment record — the same SID through three approaches",
                "start_line": 365,
                "end_line": 365,
                "span_lf_sha256": "a38127aeb972ea80c194079bb5794302ca65eb777fdd20138056955c52f49075"
              }
            ],
            "reason": "The ACSS workflow prepares provider/identity/RBAC, creates the SID and topology/network/sizing/storage plan, separates infrastructure from SAP installation and checks VIS against real instances; no deployment success is claimed.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Guided option lacks permission/topology/installation-validation sequence.",
            "initial_reason": "Guided option lacks permission/topology/installation-validation sequence.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-deployment-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement virtual networks and subnets",
            "objective_wording_sha256": "bd01a81a800e030d11c3b9b93a3c51bbebaac468ccb9c33406394ba86071f886",
            "group": "Design and implement networking for SAP on Azure virtual machines",
            "group_number": 5,
            "objective_number": 1,
            "objective_id": "AZ-120-5.1",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design networking from flows",
                "start_line": 255,
                "end_line": 270,
                "span_lf_sha256": "7ad694aa3b591408a7590e2672f4ba06d1e43c6599f66d7eb2b5798b1652acf5"
              }
            ],
            "reason": "Defines directional address/route/security/DNS flow matrix and symmetric paths.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines directional address/route/security/DNS flow matrix and symmetric paths.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement Accelerated Networking for Azure virtual machines",
            "objective_wording_sha256": "832a03fc321ad267d958a37d418cdffb1f22af87f11b72ebefb64e20be28f157",
            "group": "Design and implement networking for SAP on Azure virtual machines",
            "group_number": 5,
            "objective_number": 2,
            "objective_id": "AZ-120-5.2",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design networking from flows",
                "start_line": 265,
                "end_line": 274,
                "span_lf_sha256": "c6bbad01864437c199480649791a5de24ce9aa436d6d0d79647c9fbe312707e7"
              }
            ],
            "reason": "Teaches enablement plus driver/interface/counter verification and rollback.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches enablement plus driver/interface/counter verification and rollback.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and configure proximity placement groups",
            "objective_wording_sha256": "a67a89416486a83711214e075c12f10d9b18ca856d79103f8c77496b929de070",
            "group": "Design and implement networking for SAP on Azure virtual machines",
            "group_number": 5,
            "objective_number": 3,
            "objective_id": "AZ-120-5.3",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked network changes — placement and private storage resolution",
                "start_line": 278,
                "end_line": 278,
                "span_lf_sha256": "ee2b9651419c579330766a6f2ee272f9961912cb5e4c1e2fdf5db8778c9b69cf"
              }
            ],
            "reason": "The PPG change creates/attaches placement at the proper resource level, plans stop/deallocation for an existing deployment, checks allocation/alignment and actual latency, and distinguishes single-zone colocation from capacity guarantee or multi-zone resilience.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "PPG is only related-item option, no attachment/alignment check for explicit objective.",
            "initial_reason": "PPG is only related-item option, no attachment/alignment check for explicit objective.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-placement-endpoint-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design networking to meet SAP workload latency requirements",
            "objective_wording_sha256": "ed9956eb2ca2cebe559709f264fb39ede08094f0ff58288c00210e379b019a28",
            "group": "Design and implement networking for SAP on Azure virtual machines",
            "group_number": 5,
            "objective_number": 4,
            "objective_id": "AZ-120-5.4",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design networking from flows",
                "start_line": 255,
                "end_line": 274,
                "span_lf_sha256": "95d2bdae422b3c7cfe3bcc0400ca29130f268c1ca21672238f67340328c7b251"
              }
            ],
            "reason": "Measures representative round trips and driver readiness.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Measures representative round trips and driver readiness.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement network flow control",
            "objective_wording_sha256": "534c622cf0111ce27719902e06053917f0a8946d86d415186dac6ed0c8940643",
            "group": "Design and implement networking for SAP on Azure virtual machines",
            "group_number": 5,
            "objective_number": 5,
            "objective_id": "AZ-120-5.5",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design networking from flows",
                "start_line": 265,
                "end_line": 268,
                "span_lf_sha256": "a46f8168f2665cb34f9faec790fd36ac0cbcf099fc9156b3d7584f5412442e48"
              }
            ],
            "reason": "Explains UDR/inspection/forced tunnel/return path requirements.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains UDR/inspection/forced tunnel/return path requirements.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement network security",
            "objective_wording_sha256": "1b6209c68d36d7e0281ae2d4d8baa3d309b67788bebfc52364ae712ebdcc5617",
            "group": "Design and implement networking for SAP on Azure virtual machines",
            "group_number": 5,
            "objective_number": 6,
            "objective_id": "AZ-120-5.6",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design networking from flows",
                "start_line": 266,
                "end_line": 270,
                "span_lf_sha256": "37cf185a3e1a2001cb98209eb1c1fa2e8dc6dd6b8358b290b4710759e3e65a00"
              }
            ],
            "reason": "Separates NSG flow filtering from application-aware Firewall/NVA inspection, requires symmetric supported UDR paths, and connects private endpoints to DNS, routing and service authorization boundaries.",
            "initial_flag_disposition": "independent review evidence-selection correction; substantive guide teaching retained, no guide repair needed",
            "historical_disposition": "independent review evidence-selection correction; substantive guide teaching retained, no guide repair needed",
            "initial_flag_reason": null,
            "initial_reason": "Separates NSG transport, NVA inspection and endpoint DNS/authorization.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement service endpoints and private endpoints for Azure Storage",
            "objective_wording_sha256": "e92b7827259c6d42872c827aff61cb3885a16e6282bc44bccb13f172e5123117",
            "group": "Design and implement networking for SAP on Azure virtual machines",
            "group_number": 5,
            "objective_number": 7,
            "objective_id": "AZ-120-5.7",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked network changes — placement and private storage resolution",
                "start_line": 280,
                "end_line": 280,
                "span_lf_sha256": "92680642b828c9e05cbca782325b60ef8c07611074f8e79ae97687b0274bdbe0"
              }
            ],
            "reason": "The endpoint workflow implements subnet/service firewall access or an approved private subresource with private DNS, then verifies normal-name resolution, routes, authorized data operation and denial from unintended paths instead of treating creation as proof of privacy.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Endpoint comparison lacks firewall/subnet/private-DNS construction and denied-path test.",
            "initial_reason": "Endpoint comparison lacks firewall/subnet/private-DNS construction and denied-path test.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-placement-endpoint-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design name resolution for integration with Azure DNS",
            "objective_wording_sha256": "0b27dbbb8af4e9e0eb221139d861e339cd6a484f2e889612a64daaf49a1a5a6d",
            "group": "Design and implement networking for SAP on Azure virtual machines",
            "group_number": 5,
            "objective_number": 8,
            "objective_id": "AZ-120-5.8",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design networking from flows",
                "start_line": 255,
                "end_line": 270,
                "span_lf_sha256": "7ad694aa3b591408a7590e2672f4ba06d1e43c6599f66d7eb2b5798b1652acf5"
              }
            ],
            "reason": "Includes workload DNS and private endpoint resolution path.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Includes workload DNS and private endpoint resolution path.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and configure ExpressRoute for hybrid connectivity",
            "objective_wording_sha256": "73e47c9a8c03eaf1505dfedb917496d0d5ef9d6a6e96ddcc382b64916b1b3408",
            "group": "Design and implement networking for SAP on Azure virtual machines",
            "group_number": 5,
            "objective_number": 9,
            "objective_id": "AZ-120-5.9",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design networking from flows",
                "start_line": 264,
                "end_line": 264,
                "span_lf_sha256": "fb6137e3b7d9d557cd344b7e6fed42a7150bcd342db5dbd6ddceb32fc77fbede"
              }
            ],
            "reason": "Designs circuit/gateway/BGP/filter/DNS redundancy and measured failover.",
            "initial_flag_disposition": "initial evidence-span erratum corrected; substantive guide teaching retained, no guide repair needed",
            "historical_disposition": "initial evidence-span erratum corrected; substantive guide teaching retained, no guide repair needed",
            "initial_flag_reason": null,
            "initial_reason": "Designs circuit/gateway/BGP/filter/DNS redundancy and measured failover.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Choose a storage type",
            "objective_wording_sha256": "8bd89ff93ff7e5039104c98838ecc2aface9fd1459746736cc6b407e715a9d9c",
            "group": "Design and implement a storage solution for SAP on Azure virtual machines",
            "group_number": 6,
            "objective_number": 1,
            "objective_id": "AZ-120-6.1",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Choose and lay out storage",
                "start_line": 284,
                "end_line": 301,
                "span_lf_sha256": "049fa251a349d93c29f3190c3fdb3e7032cd2ea4a5567427add013d56f81da5d"
              }
            ],
            "reason": "Chooses certified role-specific storage and matching replica types/throughput.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Chooses certified role-specific storage and matching replica types/throughput.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Specify when to use disk striping and simple volumes",
            "objective_wording_sha256": "57ae2284cf984a61707783b4a2e639ee326f5170583015bbc4bdeaafe218e58c",
            "group": "Design and implement a storage solution for SAP on Azure virtual machines",
            "group_number": 6,
            "objective_number": 2,
            "objective_id": "AZ-120-6.2",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Choose and lay out storage",
                "start_line": 284,
                "end_line": 301,
                "span_lf_sha256": "049fa251a349d93c29f3190c3fdb3e7032cd2ea4a5567427add013d56f81da5d"
              }
            ],
            "reason": "Distinguishes stripe/simple and shared VM I/O ceiling.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes stripe/simple and shared VM I/O ceiling.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design for storage security considerations",
            "objective_wording_sha256": "cb56e0b921a768ffa6a491bbb63a6d03971335a72fe46bb0502f0c9fa69b1f2d",
            "group": "Design and implement a storage solution for SAP on Azure virtual machines",
            "group_number": 6,
            "objective_number": 3,
            "objective_id": "AZ-120-6.3",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Encrypt and protect data",
                "start_line": 313,
                "end_line": 321,
                "span_lf_sha256": "fae14f9ac2a9065b5065cee1875f2f4cb6a789021016191b85ac82d0abc069b2"
              }
            ],
            "reason": "Separates disk/host/database encryption, keys and recovery.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates disk/host/database encryption, keys and recovery.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement data protection",
            "objective_wording_sha256": "9e948d7ba5a9deebe2548475b5ddc4559f36feddda5ceba8d8bf34cfecf1a2ec",
            "group": "Design and implement a storage solution for SAP on Azure virtual machines",
            "group_number": 6,
            "objective_number": 4,
            "objective_id": "AZ-120-6.4",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Encrypt and protect data",
                "start_line": 313,
                "end_line": 321,
                "span_lf_sha256": "fae14f9ac2a9065b5065cee1875f2f4cb6a789021016191b85ac82d0abc069b2"
              }
            ],
            "reason": "Protects backups/keys with retention and separated recovery authority.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Protects backups/keys with retention and separated recovery authority.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement caching for disks",
            "objective_wording_sha256": "f7dc066f1a1273cbc094ca038602051bbf4964edcca8b2734d8b88695b241cc4",
            "group": "Design and implement a storage solution for SAP on Azure virtual machines",
            "group_number": 6,
            "objective_number": 5,
            "objective_id": "AZ-120-6.5",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Choose and lay out storage",
                "start_line": 292,
                "end_line": 301,
                "span_lf_sha256": "0a37e1aa8af47576f91974fc9573a2bf467d5243627174847b0af05159dbdefb"
              }
            ],
            "reason": "Bounds caching by workload/SKU/disk generation rather than universal recipe.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Bounds caching by workload/SKU/disk generation rather than universal recipe.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure Write Accelerator",
            "objective_wording_sha256": "593441cca5b1fbde98b2f05a556452409600ddc2c02df8a1d4a596e9e9603025",
            "group": "Design and implement a storage solution for SAP on Azure virtual machines",
            "group_number": 6,
            "objective_number": 6,
            "objective_id": "AZ-120-6.6",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked storage assembly — preserve volume role and access",
                "start_line": 305,
                "end_line": 305,
                "span_lf_sha256": "a4fe31cacf17c460bc556e9db620f5c8aaccbe8bf060d6aadc300bf56793e4a0"
              }
            ],
            "reason": "The Write Accelerator change identifies eligible log disks and limits, requires workload shutdown for a standalone disk and VM shutdown for a stripe, uses supported caching, changes all stripe members and verifies mount/write/latency with recovery and reversal.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Correct WA scope but lacks eligible disk/change/validation workflow.",
            "initial_reason": "Correct WA scope but lacks eligible disk/change/validation workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-storage-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure encryption for storage, disks, and data",
            "objective_wording_sha256": "faab64372ff29fe7aa22343b581260b053193fc7c187002311763364a669a7e0",
            "group": "Design and implement a storage solution for SAP on Azure virtual machines",
            "group_number": 6,
            "objective_number": 7,
            "objective_id": "AZ-120-6.7",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Encrypt and protect data",
                "start_line": 313,
                "end_line": 321,
                "span_lf_sha256": "fae14f9ac2a9065b5065cee1875f2f4cb6a789021016191b85ac82d0abc069b2"
              }
            ],
            "reason": "Models key ownership/rotation/transport/disk/DB restore dependencies.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Models key ownership/rotation/transport/disk/DB restore dependencies.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement volumes by using Azure NetApp Files",
            "objective_wording_sha256": "5d061d5df3b5e01457b09732d2f542bd9789fe1a64230153e6de858d2359264a",
            "group": "Design and implement a storage solution for SAP on Azure virtual machines",
            "group_number": 6,
            "objective_number": 8,
            "objective_id": "AZ-120-6.8",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked storage assembly — preserve volume role and access",
                "start_line": 307,
                "end_line": 307,
                "span_lf_sha256": "1e9a1b5e5ae67d262128fc6b55f3fd41d7e8c80f9cff6692ddbeda9dba45419f"
              }
            ],
            "reason": "The ANF build prepares account/manual-QoS pool/delegated subnet and configures HANA volume-group SID/memory/role/placement/network/keys/export/quota/throughput, followed by intended/denied host mount and persistence checks.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "ANF parameter list lacks subnet/pool/volume/export/mount/validation sequence.",
            "initial_reason": "ANF parameter list lacks subnet/pool/volume/export/mount/validation sequence.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-storage-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement volumes by using Azure Files",
            "objective_wording_sha256": "2d77f9fe89a7202dbae22a5c95eb113105ebf101225adbf0056c2bf5e2c85670",
            "group": "Design and implement a storage solution for SAP on Azure virtual machines",
            "group_number": 6,
            "objective_number": 9,
            "objective_id": "AZ-120-6.9",
            "domain": "Design and implement an infrastructure to support SAP workloads on Azure (25–30%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked storage assembly — preserve volume role and access",
                "start_line": 309,
                "end_line": 309,
                "span_lf_sha256": "557fb82ae80451a836bc15e7d026c6b4f90a35dfc55db4fb3b341078a314b33d"
              }
            ],
            "reason": "The specific SLES shared-files workflow creates a supported account/share/protocol/redundancy/network/private-DNS combination, configures SAP directories/UID/GID/mount persistence and tests each node plus denied paths, without claiming HANA data/log support.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Azure Files named without protocol/network/share/mount/persistence workflow.",
            "initial_reason": "Azure Files named without protocol/network/share/mount/persistence workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-storage-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design for service-level agreement (SLA) considerations",
            "objective_wording_sha256": "4e63bbd99796de333fa85ae77edee9d6342c05852fcb89c98e65fbaafdc5e345",
            "group": "Design and implement a high availability solution for SAP on Azure virtual machines",
            "group_number": 7,
            "objective_number": 1,
            "objective_id": "AZ-120-7.1",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Keep HA, DR and backup distinct",
                "start_line": 371,
                "end_line": 394,
                "span_lf_sha256": "170a8416ba5a6e4577a1d01f2f3962a329012f39531c804c3d8fe047316f5687"
              }
            ],
            "reason": "Maps business RPO/RTO and tier dependencies instead of copying SLA percentages.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Maps business RPO/RTO and tier dependencies instead of copying SLA percentages.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and deploy SAP workloads into availability sets and availability zones",
            "objective_wording_sha256": "c3e2ec1f561a6d72ab30eed8a8e3d0e3c1f1fd14176ee42733d18cb8858bc475",
            "group": "Design and implement a high availability solution for SAP on Azure virtual machines",
            "group_number": 7,
            "objective_number": 2,
            "objective_id": "AZ-120-7.2",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design in-region high availability",
                "start_line": 381,
                "end_line": 394,
                "span_lf_sha256": "e1d16511563f7954d3069c09564459e4af7e84dbcebbe1bd19c48be0a5c371b1"
              }
            ],
            "reason": "Distinguishes sets/zones and measured latency/dependency/tier redundancy.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes sets/zones and measured latency/dependency/tier redundancy.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement load balancing for high availability",
            "objective_wording_sha256": "9197c646e6a8f0d34476dee3a25ae3f6347d75543b00f3717645bfc6602d74f6",
            "group": "Design and implement a high availability solution for SAP on Azure virtual machines",
            "group_number": 7,
            "objective_number": 3,
            "objective_id": "AZ-120-7.3",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked HA change plan — listener, replicas and storage ownership",
                "start_line": 400,
                "end_line": 400,
                "span_lf_sha256": "7aa146ea1e9bd00a813d6da3813e4c09664e7af35d8f2583d1b31d35e3e30097"
              }
            ],
            "reason": "The selected listener construction configures Standard LB frontend/backends/probe/rule and actual NSG/firewall paths with topology-specific cluster/floating-IP settings, then tests current-owner probe and SAP connection through the listener across failover.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "LB named without frontend/backend/probe/rule/NSG construction.",
            "initial_reason": "LB named without frontend/backend/probe/rule/NSG construction.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-sql-lb-replication-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure clustering for HANA and SAP Central Services (SCS)",
            "objective_wording_sha256": "1edd6d93314be79193a75d4f7d5d5d3e9d94843e28a33db3e7a038bc00d66ba0",
            "group": "Design and implement a high availability solution for SAP on Azure virtual machines",
            "group_number": 7,
            "objective_number": 4,
            "objective_id": "AZ-120-7.4",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design in-region high availability",
                "start_line": 383,
                "end_line": 394,
                "span_lf_sha256": "b10852232e4be349addafe8f0093bdeb8a4f3aa09d373ccaa6e05d268c569122"
              },
              {
                "heading": "Understand fencing and split brain",
                "start_line": 406,
                "end_line": 422,
                "span_lf_sha256": "fd04238ed4439f22ed567e136e9339960f55b0680218c24eff0736c1e185a527"
              }
            ],
            "reason": "Teaches cluster/replication/quorum/fence ownership and OS-specific constraints.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches cluster/replication/quorum/fence ownership and OS-specific constraints.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure clustering for SQL",
            "objective_wording_sha256": "0cc4b83e330f5480939580181f01195f679c6ce3f7ff910db7fdb60b144f7f73",
            "group": "Design and implement a high availability solution for SAP on Azure virtual machines",
            "group_number": 7,
            "objective_number": 5,
            "objective_id": "AZ-120-7.5",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked HA change plan — listener, replicas and storage ownership",
                "start_line": 398,
                "end_line": 398,
                "span_lf_sha256": "ed2187798335f549881ad62843aeb2b95e558558b595f3687a948e92a159fa0f"
              },
              {
                "heading": "Worked HA change plan — listener, replicas and storage ownership",
                "start_line": 400,
                "end_line": 400,
                "span_lf_sha256": "7aa146ea1e9bd00a813d6da3813e4c09664e7af35d8f2583d1b31d35e3e30097"
              }
            ],
            "reason": "The SQL sequence prepares supported identities/nodes/quorum/endpoints/recovery material, enables Always On, creates/seeds/joins the AG and selects commit/failover/listener modes; tests use synchronized replicas and listener-name transactions rather than a node-local connection.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "AG versus FCI choice lacks SQL cluster/listener/sync/failover workflow.",
            "initial_reason": "AG versus FCI choice lacks SQL cluster/listener/sync/failover workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-sql-lb-replication-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure Pacemaker and STONITH",
            "objective_wording_sha256": "51284e26ea44ee1d69f1db6641c5adea611c7b953bf28dcf18fdf10a1440c119",
            "group": "Design and implement a high availability solution for SAP on Azure virtual machines",
            "group_number": 7,
            "objective_number": 6,
            "objective_id": "AZ-120-7.6",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Understand fencing and split brain",
                "start_line": 406,
                "end_line": 422,
                "span_lf_sha256": "fd04238ed4439f22ed567e136e9339960f55b0680218c24eff0736c1e185a527"
              }
            ],
            "reason": "Separates ownership from STONITH and tests partition/quorum/API identity.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates ownership from STONITH and tests partition/quorum/API identity.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure an Azure fence agent or STONITH Block Device (SBD)",
            "objective_wording_sha256": "ce389ba7dd93bd5fde1789d6c4bac4163c5f4776ecd18325860d5e2a6c4f2fd2",
            "group": "Design and implement a high availability solution for SAP on Azure virtual machines",
            "group_number": 7,
            "objective_number": 7,
            "objective_id": "AZ-120-7.7",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Understand fencing and split brain",
                "start_line": 406,
                "end_line": 422,
                "span_lf_sha256": "fd04238ed4439f22ed567e136e9339960f55b0680218c24eff0736c1e185a527"
              }
            ],
            "reason": "Teaches OS-specific Azure/SBD choices, redundancy and exclusive SBD use.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches OS-specific Azure/SBD choices, redundancy and exclusive SBD use.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and configure storage-level replication for SAP workloads",
            "objective_wording_sha256": "4488c0153ad65808a743b67f906f01ebb11546f58af5b3a2b0704a59e14d13b9",
            "group": "Design and implement a high availability solution for SAP on Azure virtual machines",
            "group_number": 7,
            "objective_number": 8,
            "objective_id": "AZ-120-7.8",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked HA change plan — listener, replicas and storage ownership",
                "start_line": 402,
                "end_line": 402,
                "span_lf_sha256": "006c9cd1f0ee0b407bf069b0f24730e9437afaaa2aefe2f584b3129d15cc0c6a"
              }
            ],
            "reason": "The concrete Windows ASCS/SCS DataKeeper example attaches corresponding volumes, installs/configures both ends, creates a synchronous mirror and exposes/verifies a WSFC disk/owner. Product support, single-writer/failover/resync and distinction from SQL AG or backup remain bounded.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Storage choices named without source/destination/cluster replication workflow.",
            "initial_reason": "Storage choices named without source/destination/cluster replication workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-sql-lb-replication-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure restart of SAP systems, instances, and HANA databases",
            "objective_wording_sha256": "40d7e91277f0477617b3ca79bbf0c52272b1c54038a85c800e4fc671a62b7555",
            "group": "Design and implement a high availability solution for SAP on Azure virtual machines",
            "group_number": 7,
            "objective_number": 9,
            "objective_id": "AZ-120-7.9",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design regional disaster recovery",
                "start_line": 443,
                "end_line": 443,
                "span_lf_sha256": "9087b0bc5c721e12647db0626388b0e37ada771d0288ba1d9ce8d2e90dce7cdb"
              }
            ],
            "reason": "Orders supported stop/start dependencies and validation gates.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders supported stop/start dependencies and validation gates.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design and implement an Azure Site Recovery strategy for an SAP infrastructure",
            "objective_wording_sha256": "e549d0a443bfada817ac554ccbe8c45fd7ed164eb1ed5f25e5db74279765f6b3",
            "group": "Design and implement a disaster recovery solution for SAP on Azure virtual machines",
            "group_number": 8,
            "objective_number": 1,
            "objective_id": "AZ-120-8.1",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design regional disaster recovery",
                "start_line": 426,
                "end_line": 428,
                "span_lf_sha256": "3a95eddddd8523a1831068529bd34376554235f7ba965f249aaf9b08e3e6957d"
              }
            ],
            "reason": "Separates non-DB ASR from DB-native consistency and prerequisites.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates non-DB ASR from DB-native consistency and prerequisites.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design a disaster recovery solution with regional considerations",
            "objective_wording_sha256": "93b22acfecbf7810df2888627cbc66c7eeb4293f05e33e30e1c85cc030c118c0",
            "group": "Design and implement a disaster recovery solution for SAP on Azure virtual machines",
            "group_number": 8,
            "objective_number": 2,
            "objective_id": "AZ-120-8.2",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design regional disaster recovery",
                "start_line": 426,
                "end_line": 441,
                "span_lf_sha256": "b3b24843b679f7d8f0cf56ca2024bfa50040f5ac83ed52dda2cacc73bae4dfd4"
              }
            ],
            "reason": "Defines regional capacity/key/network/authority/failback.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines regional capacity/key/network/authority/failback.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Specify network configurations for disaster recovery",
            "objective_wording_sha256": "3ac67f320c8fc7340beef039c611856a31ec64628f9ac427021f63f5144327cb",
            "group": "Design and implement a disaster recovery solution for SAP on Azure virtual machines",
            "group_number": 8,
            "objective_number": 3,
            "objective_id": "AZ-120-8.3",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Design regional disaster recovery",
                "start_line": 428,
                "end_line": 441,
                "span_lf_sha256": "61a54cd011f13f6a08bf508b9eda2bffdc7356cedd1c924c3d2429c5424444d5"
              }
            ],
            "reason": "Requires isolated test networking and DNS/routes/keys/identity sequence.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Requires isolated test networking and DNS/routes/keys/identity sequence.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Design a backup strategy to meet SLA requirements",
            "objective_wording_sha256": "f46c544ba83467feecc98a995ead9e98d00b8ec21e1d09cd452a4faeae5a7e0f",
            "group": "Design and implement a disaster recovery solution for SAP on Azure virtual machines",
            "group_number": 8,
            "objective_number": 4,
            "objective_id": "AZ-120-8.4",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Backup and restore",
                "start_line": 447,
                "end_line": 458,
                "span_lf_sha256": "cb6519eee24c28db421715e4833bb7d9cc91a5d9e0ca88fdfed526f79a9ce6dd"
              }
            ],
            "reason": "Specifies types/frequency/retention/restore and business target.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Specifies types/frequency/retention/restore and business target.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement policies for backups and snapshots",
            "objective_wording_sha256": "7144e99094c8aba6e79342b0f22710c16535d2235ea4a5fad03c910b437468c4",
            "group": "Design and implement a disaster recovery solution for SAP on Azure virtual machines",
            "group_number": 8,
            "objective_number": 5,
            "objective_id": "AZ-120-8.5",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Backup and restore",
                "start_line": 449,
                "end_line": 466,
                "span_lf_sha256": "cdca2d031a950e5f7fc598ec1c43b33fa2b75b918dad60e3273316914a32fc9b"
              }
            ],
            "reason": "Distinguishes native HSR/policy/snapshot/Backint restrictions.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes native HSR/policy/snapshot/Backint restrictions.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and validate snapshots and backups for SAP workloads",
            "objective_wording_sha256": "f8949fec2c97caf342c19359fd2ad3b2ec396f487be0f0681dbe3e54b1355ada",
            "group": "Design and implement a disaster recovery solution for SAP on Azure virtual machines",
            "group_number": 8,
            "objective_number": 6,
            "objective_id": "AZ-120-8.6",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "HSR backup: identify the protection model first",
                "start_line": 462,
                "end_line": 466,
                "span_lf_sha256": "a152e68bac587dd262e72254798a12fa988be9a80f94c32004e036bf9d0e4344"
              }
            ],
            "reason": "Native logical HSR and FAQ node recipe lack explicit applicability; disputed transition unexecuted. Final reread confirms the passage keeps the specific support/applicability gap visible and does not convert proposed tests into an executed or universal recipe.",
            "initial_flag_disposition": "retained evidence blocker; useful provisional treatment preserved",
            "historical_disposition": "retained evidence blocker; useful provisional treatment preserved",
            "initial_flag_reason": null,
            "initial_reason": "Native logical HSR and FAQ node recipe lack explicit applicability; disputed transition unexecuted.",
            "initial_depth_result": "blocked-provisional",
            "repair_id": null,
            "depth_result": "blocked-provisional",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive source-bounded provisional teaching; unresolved support/applicability."
          },
          {
            "wording": "Perform backup and restore",
            "objective_wording_sha256": "239023184b7554c028db39f14d32ef59ed3443c5d3014920210402a081251a71",
            "group": "Design and implement a disaster recovery solution for SAP on Azure virtual machines",
            "group_number": 8,
            "objective_number": 7,
            "objective_id": "AZ-120-8.7",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked restore plan — recover a copy before overwriting anything",
                "start_line": 470,
                "end_line": 470,
                "span_lf_sha256": "f7e0b77aeb27682400c582613e74a919523384fa35a792606bfe34463981495d"
              },
              {
                "heading": "Worked restore plan — recover a copy before overwriting anything",
                "start_line": 472,
                "end_line": 472,
                "span_lf_sha256": "f7f8a71b0f9d1d093c5077c1230f4b580db86559c3eca227142ba501b48929b6"
              }
            ],
            "reason": "The alternate-location restore selects usable time/chain, host/instance/database name and same-region/vault readiness, verifies permissions/keys/capacity/collisions, checks restored consistency/business transaction and measures RPO/RTO. Active-HSR and disputed stop/resume paths remain excluded.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Policy and calculations lack ordered alternate-target restore/validation.",
            "initial_reason": "Policy and calculations lack ordered alternate-target restore/validation.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-restore-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Test disaster recovery",
            "objective_wording_sha256": "4ae82d9fd44c6e3766b7c44b786e3fe3c6958bb9927e9e672edc0c9e1e3da474",
            "group": "Design and implement a disaster recovery solution for SAP on Azure virtual machines",
            "group_number": 8,
            "objective_number": 8,
            "objective_id": "AZ-120-8.8",
            "domain": "Design and implement high availability and disaster recovery (HADR) (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Recovery test scorecard",
                "start_line": 476,
                "end_line": 483,
                "span_lf_sha256": "723e7634cb980017cbca41cbbe7ef359f33014f2044d31604bc8b192b0682459"
              }
            ],
            "reason": "Measures RPO/RTO, consistency, isolation/dependencies/acceptance/failback.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Measures RPO/RTO, consistency, isolation/dependencies/acceptance/failback.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Optimize performance and costs for an SAP workload by using Azure Advisor recommendations",
            "objective_wording_sha256": "f42ecf1f5107cdaa50508c3c85db5c9df7b5176759f679029ce0c27047c7d087",
            "group": "Optimize performance and costs",
            "group_number": 9,
            "objective_number": 1,
            "objective_id": "AZ-120-9.1",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Optimize performance and cost",
                "start_line": 524,
                "end_line": 537,
                "span_lf_sha256": "a217afb9e361c662db03e1d8b184034da7eb6025dde0b0e8dc7fedce544f25f4"
              }
            ],
            "reason": "Requires bottleneck/support/rollback before Advisor change.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Requires bottleneck/support/rollback before Advisor change.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Analyze and optimize network performance",
            "objective_wording_sha256": "132e1503738740126849596cc3c888073b69bb74b2d18163a438600be41221ee",
            "group": "Optimize performance and costs",
            "group_number": 9,
            "objective_number": 2,
            "objective_id": "AZ-120-9.2",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Observe by layer and business service",
                "start_line": 498,
                "end_line": 508,
                "span_lf_sha256": "a9c4269d321f86cd0f171323fe882dbc94a9e62f2a9f6af91c996aea543abe5c"
              },
              {
                "heading": "Optimize performance and cost",
                "start_line": 524,
                "end_line": 531,
                "span_lf_sha256": "34336e9b3559dae8c02a8bc8f836a2f3fc0f73ee2db371fe1c8ca674316a12b8"
              }
            ],
            "reason": "Correlates platform, guest, SAP and network-path evidence, then applies the optimization sequence: identify the network or other bottleneck, check support boundaries, change one controlled factor, remeasure business/platform results and retain rollback evidence.",
            "initial_flag_disposition": "independent review evidence-selection correction; substantive guide teaching retained, no guide repair needed",
            "historical_disposition": "independent review evidence-selection correction; substantive guide teaching retained, no guide repair needed",
            "initial_flag_reason": null,
            "initial_reason": "Correlates platform/OS/SAP signals and network path.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Optimize costs by using Azure Savings Plans or Reserved Instances for SAP virtual machines",
            "objective_wording_sha256": "6ae2df814c2e3b9d24c06929d0154f780b831cb95f6e205c90b792d94fbf0f13",
            "group": "Optimize performance and costs",
            "group_number": 9,
            "objective_number": 3,
            "objective_id": "AZ-120-9.3",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Optimize performance and cost",
                "start_line": 532,
                "end_line": 537,
                "span_lf_sha256": "0874297af28c583c912f00171bc645351e067d78910f3421e66ed5d856f1018b"
              }
            ],
            "reason": "Compares commitments/schedule after demand and failover-headroom evidence.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Compares commitments/schedule after demand and failover-headroom evidence.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Optimize performance and costs by resizing Azure virtual machines",
            "objective_wording_sha256": "2e5eff040ea9376e7926003b9943aced2a9bc2cfcea602e7d29424ca9c2e8477",
            "group": "Optimize performance and costs",
            "group_number": 9,
            "objective_number": 4,
            "objective_id": "AZ-120-9.4",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Optimize performance and cost",
                "start_line": 524,
                "end_line": 537,
                "span_lf_sha256": "a217afb9e361c662db03e1d8b184034da7eb6025dde0b0e8dc7fedce544f25f4"
              }
            ],
            "reason": "Orders measured bottleneck, supported change, remeasure/rollback.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders measured bottleneck, supported change, remeasure/rollback.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Optimize storage costs",
            "objective_wording_sha256": "327d286877f36b40dbecb19d4b339420a8f397a5c2675d554cb5ae8613582510",
            "group": "Optimize performance and costs",
            "group_number": 9,
            "objective_number": 5,
            "objective_id": "AZ-120-9.5",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Optimize performance and cost",
                "start_line": 532,
                "end_line": 537,
                "span_lf_sha256": "0874297af28c583c912f00171bc645351e067d78910f3421e66ed5d856f1018b"
              }
            ],
            "reason": "Connects tier/retention/capacity to performance and recovery.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Connects tier/retention/capacity to performance and recovery.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Optimize data performance by using archiving",
            "objective_wording_sha256": "756ecf5e700f2cdef9bf112c0fd870761c1b03a6f7995b09ae1219800ec814bb",
            "group": "Optimize performance and costs",
            "group_number": 9,
            "objective_number": 6,
            "objective_id": "AZ-120-9.6",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Optimize performance and cost",
                "start_line": 535,
                "end_line": 535,
                "span_lf_sha256": "bba1dbe8859fb1d87ca9d6a2ad4050eb07447efd1e898dbe918ca7f234ec2695"
              }
            ],
            "reason": "Explains hot set/retrieval/retention/archive recovery tradeoff.",
            "initial_flag_disposition": "initial evidence-span erratum corrected; substantive guide teaching retained, no guide repair needed",
            "historical_disposition": "initial evidence-span erratum corrected; substantive guide teaching retained, no guide repair needed",
            "initial_flag_reason": null,
            "initial_reason": "Explains hot set/retrieval/retention/archive recovery tradeoff.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Optimize performance and costs of SAP application servers and databases",
            "objective_wording_sha256": "b60657df3e607114c58751f852d8559df872aff895ee052e2c5de940c6282cb4",
            "group": "Optimize performance and costs",
            "group_number": 9,
            "objective_number": 7,
            "objective_id": "AZ-120-9.7",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Optimize performance and cost",
                "start_line": 524,
                "end_line": 537,
                "span_lf_sha256": "a217afb9e361c662db03e1d8b184034da7eb6025dde0b0e8dc7fedce544f25f4"
              }
            ],
            "reason": "Optimizes complete app/DB service with measurement and rollback.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Optimizes complete app/DB service with measurement and rollback.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Monitor Azure virtual machines by using Azure Monitor",
            "objective_wording_sha256": "87011904cade358346b105a40e5c234dd152d5aa1a729070ec8198c23459cec0",
            "group": "Monitor and maintain SAP on Azure",
            "group_number": 10,
            "objective_number": 1,
            "objective_id": "AZ-120-10.1",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Observe by layer and business service",
                "start_line": 498,
                "end_line": 508,
                "span_lf_sha256": "a9c4269d321f86cd0f171323fe882dbc94a9e62f2a9f6af91c996aea543abe5c"
              }
            ],
            "reason": "Combines VM platform/guest with SAP and actionable alerts.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Combines VM platform/guest with SAP and actionable alerts.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Monitor high availability by using Azure Monitor",
            "objective_wording_sha256": "43b66f44223b6992715d2b5d79b94becb0bfffadd08cac85c669f619a4b75604",
            "group": "Monitor and maintain SAP on Azure",
            "group_number": 10,
            "objective_number": 2,
            "objective_id": "AZ-120-10.2",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Observe by layer and business service",
                "start_line": 498,
                "end_line": 508,
                "span_lf_sha256": "a9c4269d321f86cd0f171323fe882dbc94a9e62f2a9f6af91c996aea543abe5c"
              }
            ],
            "reason": "Includes cluster/HA telemetry and monitoring-path health.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Includes cluster/HA telemetry and monitoring-path health.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Monitor storage by using Azure Monitor",
            "objective_wording_sha256": "e76fa2047bb63d66ec27684fe5abcf142c0517895a398d6f6a47d9ee46f7f602",
            "group": "Monitor and maintain SAP on Azure",
            "group_number": 10,
            "objective_number": 3,
            "objective_id": "AZ-120-10.3",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Observe by layer and business service",
                "start_line": 498,
                "end_line": 508,
                "span_lf_sha256": "a9c4269d321f86cd0f171323fe882dbc94a9e62f2a9f6af91c996aea543abe5c"
              }
            ],
            "reason": "Correlates disk/storage and service metrics.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Correlates disk/storage and service metrics.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Monitor networking by using Azure Monitor and Azure Network Watcher",
            "objective_wording_sha256": "12ba1b5e5deb90646bc85722095d3f6fbf15ba1338f437282edeb394669ff57e",
            "group": "Monitor and maintain SAP on Azure",
            "group_number": 10,
            "objective_number": 4,
            "objective_id": "AZ-120-10.4",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Observe by layer and business service",
                "start_line": 506,
                "end_line": 508,
                "span_lf_sha256": "0dd1597c6ecb8ccefbae455fa50e1c29d03ecf2071ba85fc31f3edf482f6840a"
              }
            ],
            "reason": "Uses Network Watcher with SAP/OS/DB context and timeline.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses Network Watcher with SAP/OS/DB context and timeline.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure Azure Monitor for SAP solutions",
            "objective_wording_sha256": "52d60805147ee9d8bc8ceeb4b7439a9e7e1fc301995c66e2e3aca457b24296d0",
            "group": "Monitor and maintain SAP on Azure",
            "group_number": 10,
            "objective_number": 5,
            "objective_id": "AZ-120-10.5",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Observe by layer and business service",
                "start_line": 506,
                "end_line": 506,
                "span_lf_sha256": "1e222f4f207dd937200e74ebb819f8f84ab73f300f349d07152088531f56cfaa"
              },
              {
                "heading": "Operate with Azure Center for SAP solutions",
                "start_line": 518,
                "end_line": 518,
                "span_lf_sha256": "5bf8b746cf64b5279e5f1e76c32993b38695747c3d2b40cb04aff6dfcd27780b"
              }
            ],
            "reason": "Configures provider auth/network and verifies actual data/destination/alert owner.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Configures provider auth/network and verifies actual data/destination/alert owner.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage backups by using Azure Backup",
            "objective_wording_sha256": "b9c3c0860cc2160380bb1a7289654e9eeb82bd90f3f72d5c287ca92202062a3b",
            "group": "Monitor and maintain SAP on Azure",
            "group_number": 10,
            "objective_number": 6,
            "objective_id": "AZ-120-10.6",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Backup and restore",
                "start_line": 447,
                "end_line": 466,
                "span_lf_sha256": "4872c3e9cc9c2a4790dd93c180e77f3ce7a5b7e3b539836cd9d7c6825ea4a57b"
              }
            ],
            "reason": "Managing native HSR remains bounded by FAQ applicability conflict. Final reread confirms the passage keeps the specific support/applicability gap visible and does not convert proposed tests into an executed or universal recipe.",
            "initial_flag_disposition": "retained evidence blocker; useful provisional treatment preserved",
            "historical_disposition": "retained evidence blocker; useful provisional treatment preserved",
            "initial_flag_reason": null,
            "initial_reason": "Managing native HSR remains bounded by FAQ applicability conflict.",
            "initial_depth_result": "blocked-provisional",
            "repair_id": null,
            "depth_result": "blocked-provisional",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive source-bounded provisional teaching; unresolved support/applicability."
          },
          {
            "wording": "Start and stop SAP systems by using Azure Center for SAP solutions",
            "objective_wording_sha256": "56734a973afee45fbcde5ef88a521ee70ae61b5aeffea19a62614212f71dd13e",
            "group": "Monitor and maintain SAP on Azure",
            "group_number": 10,
            "objective_number": 7,
            "objective_id": "AZ-120-10.7",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Operate with Azure Center for SAP solutions",
                "start_line": 516,
                "end_line": 516,
                "span_lf_sha256": "bdf5a7869c543925e17867bffe8591444a159cefd0fc370db5ef20ca98494369"
              }
            ],
            "reason": "Distinguishes SAP/VM state, sapstartsrv, instance/cluster-maintenance boundaries.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes SAP/VM state, sapstartsrv, instance/cluster-maintenance boundaries.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage virtual instances by using Azure Center for SAP solutions",
            "objective_wording_sha256": "d1baed2f809df9ea9bcd198b618e45fdaa6022189ad100a6f70a204a16ed28b2",
            "group": "Monitor and maintain SAP on Azure",
            "group_number": 10,
            "objective_number": 8,
            "objective_id": "AZ-120-10.8",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Operate with Azure Center for SAP solutions",
                "start_line": 512,
                "end_line": 512,
                "span_lf_sha256": "7b85af8c518a3017abb7ead138c5be91a466390a988f81398fe7fa17c6629a1a"
              },
              {
                "heading": "Operate with Azure Center for SAP solutions",
                "start_line": 514,
                "end_line": 514,
                "span_lf_sha256": "fb54a05caa3b29229a10b0dc0da0094154689970ba27893f074ee3ee394d6329"
              },
              {
                "heading": "Operate with Azure Center for SAP solutions",
                "start_line": 516,
                "end_line": 516,
                "span_lf_sha256": "bdf5a7869c543925e17867bffe8591444a159cefd0fc370db5ef20ca98494369"
              }
            ],
            "reason": "Separates logical SID, registration/RBAC/connectivity and healthy collection.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates logical SID, registration/RBAC/connectivity and healthy collection.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement the SAP Landscape Management (LaMa) connector for Azure",
            "objective_wording_sha256": "d06febb3364031073d9a9baef03b4d93b0680b4e1311c6f5dfa9e759425fbb01",
            "group": "Monitor and maintain SAP on Azure",
            "group_number": 10,
            "objective_number": 9,
            "objective_id": "AZ-120-10.9",
            "domain": "Maintain SAP workloads on Azure (20–25%)",
            "version": "April 17, 2026 skills measured",
            "evidence_spans": [
              {
                "heading": "Worked connector setup — scoped discovery before lifecycle action",
                "start_line": 547,
                "end_line": 547,
                "span_lf_sha256": "dd2b2d18bafafd31809d4576ba092d5c4cf2fb81dcd1e3f249184420adc59834"
              },
              {
                "heading": "Worked connector setup — scoped discovery before lifecycle action",
                "start_line": 549,
                "end_line": 549,
                "span_lf_sha256": "8f26a1faf876e35a19a91ef0a1fbdb84a28b046ec83117cd1f93b9290472556c"
              }
            ],
            "reason": "The LaMa procedure establishes supported identity/resource-group rights, configures adapter tenant/subscription/endpoint/identity fields, tests discovered scope, bounds optional disk changes and plans a reversible SAP/VM/mount transaction without claiming execution.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Identity/scope described without connector provider/test-operation/removal workflow.",
            "initial_reason": "Identity/scope described without connector provider/test-operation/removal workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "az120-lama-build",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          }
        ],
        "accepted_status_raw_sha256": "a945b84d8f7456c964d0fd657074971b70690e6f607db7ece4f7278b640a1ebf"
      },
      {
        "exam_code": "AZ-802",
        "guide_path": "guides/AZ-802-administering-windows-server.md",
        "captured_final_guide_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-802-administering-windows-server.md",
        "guide_lf_sha256": "ed185a3491f3ca3c444a6399a8ec2cf74989bb17c1a4f4c6c003fef202d86de5",
        "objective_path": "data/objective-snapshots/az-802-official-objectives.txt",
        "objective_raw_sha256": "ec584efe0ea08ae5ad6bbcef992c1b4a4e6b18826193ece06a76114757c8f65d",
        "objective_count": 115,
        "group_count": 18,
        "line_count": 1138,
        "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-802.diff",
        "diff_raw_sha256": "91d0e7fb0ce009948fcc4c182cc26ac8c703a064b5a2d6b744a2e13d45c01b93",
        "initial_flags": 1,
        "resolved_initial_flags": 1,
        "remaining_material_named_workflow_gaps": [],
        "source_gate_state": "blocked per coordinator; evidence gap retained",
        "current_mapping": [
          {
            "wording": "Deploy and manage domain controllers locally",
            "objective_wording_sha256": "45744a9cb81194c7c1879be5aa1be157da38e3a94f2f28d39b7d9fa7716ef7b9",
            "group": "Deploy and manage AD DS domain controllers",
            "group_number": 1,
            "objective_number": 1,
            "objective_id": "AZ-802-1.1",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Deploy domain controllers locally and in Azure",
                "start_line": 99,
                "end_line": 112,
                "span_lf_sha256": "c1365858045457ce06f3a0a2e39528b9d5e26c08e99b79ee02b8aec5a4dbfe6a"
              }
            ],
            "reason": "Orders DC promotion and SYSVOL/DNS/replication/time/client validation.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders DC promotion and SYSVOL/DNS/replication/time/client validation.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Deploy and manage domain controllers in Azure",
            "objective_wording_sha256": "1a31fbb4e1c8aa3dd5570d023b0307170e08b2c94c35fa940d352152bc1af84b",
            "group": "Deploy and manage AD DS domain controllers",
            "group_number": 1,
            "objective_number": 2,
            "objective_id": "AZ-802-1.2",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Deploy domain controllers locally and in Azure",
                "start_line": 108,
                "end_line": 112,
                "span_lf_sha256": "194d648405b1fe2f94c1e87d5aa451ddf35809705d29de84d646e4edb5e3da19"
              }
            ],
            "reason": "Adds persistent disk/site/VNet-DNS/management/failure-domain constraints.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Adds persistent disk/site/VNet-DNS/management/failure-domain constraints.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Deploy Read-Only Domain Controllers (RODCs)",
            "objective_wording_sha256": "d3ed4ae8168adc66b0d19698055281974fd7748b73b048006d33906346f1a348",
            "group": "Deploy and manage AD DS domain controllers",
            "group_number": 1,
            "objective_number": 3,
            "objective_id": "AZ-802-1.3",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Deploy and secure RODCs",
                "start_line": 116,
                "end_line": 126,
                "span_lf_sha256": "9df10ea6ea1ed5aa13ac193f93afe06fb08ad998417e49cbfd5a6393e77cda9b"
              }
            ],
            "reason": "Compares RODC boundary and orders PRP/preload/delegated admin/isolation test.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Compares RODC boundary and orders PRP/preload/delegated admin/isolation test.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage account security on an RODC",
            "objective_wording_sha256": "be080e1f10c1b92b2cb3aadf652ec2b5725c86e1bf17035fe8cb496eeea782fe",
            "group": "Deploy and manage AD DS domain controllers",
            "group_number": 1,
            "objective_number": 4,
            "objective_id": "AZ-802-1.4",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Deploy and secure RODCs",
                "start_line": 116,
                "end_line": 126,
                "span_lf_sha256": "9df10ea6ea1ed5aa13ac193f93afe06fb08ad998417e49cbfd5a6393e77cda9b"
              }
            ],
            "reason": "Separates cache allow/deny/revealed lists and compromise response.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates cache allow/deny/revealed lists and compromise response.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage and troubleshoot Flexible Single-Master Operations (FSMO) roles",
            "objective_wording_sha256": "c3390777133e015b1974e454d83f552862a1f7f7f59d680298f7cfe1c4d9875e",
            "group": "Deploy and manage AD DS domain controllers",
            "group_number": 1,
            "objective_number": 5,
            "objective_id": "AZ-802-1.5",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Manage FSMO roles",
                "start_line": 130,
                "end_line": 140,
                "span_lf_sha256": "22efe484dfb4eb14583aa1c76329ffb79edd2a05a07fad7119e00424d7429e59"
              }
            ],
            "reason": "Explains role scopes, transfer/seizure, query and former-owner isolation.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains role scopes, transfer/seizure, query and former-owner isolation.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure domain and forest trust relationships",
            "objective_wording_sha256": "a379479fc6f74b5064499983cadcbb56a6cae7ea190d864e7bbf6c0d7c0318b4",
            "group": "Configure and manage multi-site, multi-domain, and multi-forest environments",
            "group_number": 2,
            "objective_number": 1,
            "objective_id": "AZ-802-2.1",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure trusts and multiple forests/domains",
                "start_line": 152,
                "end_line": 165,
                "span_lf_sha256": "160d715ad7153b27eab120108502ccda931b9e32a8eef1ec56483de5625a6787"
              }
            ],
            "reason": "Teaches direction/transitivity/selective auth/SID filtering and actual trust checks.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches direction/transitivity/selective auth/SID filtering and actual trust checks.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage AD DS sites",
            "objective_wording_sha256": "73f5dadda2a161a96801573d0a64c9b1f71517d623cfc16418f102e12372abfb",
            "group": "Configure and manage multi-site, multi-domain, and multi-forest environments",
            "group_number": 2,
            "objective_number": 2,
            "objective_id": "AZ-802-2.2",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure sites and replication",
                "start_line": 144,
                "end_line": 148,
                "span_lf_sha256": "f80af6c1f9737bae8ec7dc80dd4e0d421717f1a0f9b5b30d2fbe73c1edb91a20"
              }
            ],
            "reason": "Maps subnets/sites/link cost/schedule to client locator symptom.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Maps subnets/sites/link cost/schedule to client locator symptom.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage AD DS replication",
            "objective_wording_sha256": "d5a7f059c34c39df57e71d8bf28231c87bae4222639ea057944b2e7ee21735d2",
            "group": "Configure and manage multi-site, multi-domain, and multi-forest environments",
            "group_number": 2,
            "objective_number": 3,
            "objective_id": "AZ-802-2.3",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure sites and replication",
                "start_line": 146,
                "end_line": 148,
                "span_lf_sha256": "70cb98da8b81f16845442d8e40599e6c42babd8c7dc888915bae0b33f7a861c2"
              }
            ],
            "reason": "Explains partitions/topology and captures partner/last-success/errors before repair.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains partitions/topology and captures partner/last-success/errors before repair.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and manage AD DS users and groups",
            "objective_wording_sha256": "ef8080b7c66ee448942c4b457a37f374c50c00e2237563dada3d825b943a80e1",
            "group": "Create and manage AD DS security principals",
            "group_number": 3,
            "objective_number": 1,
            "objective_id": "AZ-802-3.1",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Create and manage principals",
                "start_line": 169,
                "end_line": 178,
                "span_lf_sha256": "a3eb8ccd447771eb7e1e6caebc5146f9f7d235bcab971cdca51b9328f3413862"
              }
            ],
            "reason": "Models account lifecycle/groups/resource permissions and reversible disable.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Models account lifecycle/groups/resource permissions and reversible disable.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage users and groups in multi-domain or multi-forest environments",
            "objective_wording_sha256": "9edbeeb293ce89e6f9af928370ba80900a6cae25148ac74cfaf76841d638c75c",
            "group": "Create and manage AD DS security principals",
            "group_number": 3,
            "objective_number": 2,
            "objective_id": "AZ-802-3.2",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Create and manage principals",
                "start_line": 173,
                "end_line": 178,
                "span_lf_sha256": "381fe77e45c22130b578422a4b7ac5fa01a1446f47c0bac133ecbc85b12f5a0e"
              }
            ],
            "reason": "Distinguishes global/domain-local/universal and GC replication cost.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes global/domain-local/universal and GC replication cost.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Select and manage service accounts",
            "objective_wording_sha256": "c64d14972ddcbee0dc1db42fcdaedb91e468c45ac652879c27ec615532a85e06",
            "group": "Create and manage AD DS security principals",
            "group_number": 3,
            "objective_number": 3,
            "objective_id": "AZ-802-3.3",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Choose service accounts",
                "start_line": 182,
                "end_line": 196,
                "span_lf_sha256": "3e4cf4eb53207f8723914bbfe2ebec3883966ddddb2e65deec715a7c74fca757"
              }
            ],
            "reason": "Chooses service identity by host/app/prerequisite and tests retrieval/SPN/access.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Chooses service identity by host/app/prerequisite and tests retrieval/SPN/access.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement Group Policy",
            "objective_wording_sha256": "db22a939d5a7653af7adb75c0ba0259db843f0e853fa71946e9555f6e7baf1e4",
            "group": "Manage Windows Server by using domain-based Group Policies",
            "group_number": 4,
            "objective_number": 1,
            "objective_id": "AZ-802-4.1",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Implement Group Policy and Preferences",
                "start_line": 200,
                "end_line": 206,
                "span_lf_sha256": "7d476d87c1f33891ee613cdfe7fd37ff24b567df7ba33fd34c4905ac10e0bb7b"
              }
            ],
            "reason": "Explains scope/precedence/filters/loopback/AD-SYSVOL and resultant policy.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains scope/precedence/filters/loopback/AD-SYSVOL and resultant policy.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement Group Policy preferences",
            "objective_wording_sha256": "b793928bfe07c20b5462022ede8d66bfe22a19a104c14cfb2b6325f088a58c59",
            "group": "Manage Windows Server by using domain-based Group Policies",
            "group_number": 4,
            "objective_number": 2,
            "objective_id": "AZ-802-4.2",
            "domain": "Deploy and manage AD DS (20–25%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Implement Group Policy and Preferences",
                "start_line": 204,
                "end_line": 206,
                "span_lf_sha256": "3e93e0afb43836324f386b3c664d3a2e890b2ebc7e24def8571c5b856a40557c"
              }
            ],
            "reason": "Teaches preference action/target/tattoo/removal and excludes secrets.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches preference action/target/tattoo/removal and excludes secrets.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Deploy and manage Windows Admin Center on-premises and in the Azure portal",
            "objective_wording_sha256": "f05bab100f620caf6217ad1e17c98ee7e11da2b8786ad3fa4e46530616dc4d1c",
            "group": "Configure remote management for Windows Server instances in a hybrid environment",
            "group_number": 5,
            "objective_number": 1,
            "objective_id": "AZ-802-5.1",
            "domain": "Manage Windows Server instances and workloads in a hybrid environment (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Deploy Windows Admin Center",
                "start_line": 245,
                "end_line": 247,
                "span_lf_sha256": "b47c7fe97afd8997f9005152f5b5d2fa0acbcf56cd807f492162b9f515c748a0"
              }
            ],
            "reason": "Sequences gateway/cert/access/target WinRM/Azure extension checks.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Sequences gateway/cert/access/target WinRM/Azure extension checks.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure remote management by using PowerShell, including double-hop and Just Enough Administration (JEA)",
            "objective_wording_sha256": "88b8406392aabebbc44f6ef5bd9bae5196247ee9c7b7576f3e7eef15164ec3d0",
            "group": "Configure remote management for Windows Server instances in a hybrid environment",
            "group_number": 5,
            "objective_number": 2,
            "objective_id": "AZ-802-5.2",
            "domain": "Manage Windows Server instances and workloads in a hybrid environment (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure PowerShell remoting, second hop, and JEA",
                "start_line": 251,
                "end_line": 257,
                "span_lf_sha256": "fcfed2ad1bfd690ba4146825dae3e146fa9b45595413e55fb73168108ff74711"
              }
            ],
            "reason": "Explains listeners/credentials/JEA role files and protocol-specific second hop.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains listeners/credentials/JEA role files and protocol-specific second hop.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage remote Secure Shell (SSH)",
            "objective_wording_sha256": "c263683516b24d8a5374bcdc5c412668762154413a9f43cfe78c5e1d77e7f9ec",
            "group": "Configure remote management for Windows Server instances in a hybrid environment",
            "group_number": 5,
            "objective_number": 3,
            "objective_id": "AZ-802-5.3",
            "domain": "Manage Windows Server instances and workloads in a hybrid environment (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure SSH and remote desktop",
                "start_line": 261,
                "end_line": 261,
                "span_lf_sha256": "4328594d7803d895f9778f4dd33d9ba77266a3576478a37fc5c848a79cf9d4e1"
              }
            ],
            "reason": "Orders capability/service/firewall/keys/users/shell/log configuration.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders capability/service/firewall/keys/users/shell/log configuration.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage remote desktop access",
            "objective_wording_sha256": "ab809abb6391059c413826d1f503ad206c0e9ffad16b4cae1549e8f82896c39a",
            "group": "Configure remote management for Windows Server instances in a hybrid environment",
            "group_number": 5,
            "objective_number": 4,
            "objective_id": "AZ-802-5.4",
            "domain": "Manage Windows Server instances and workloads in a hybrid environment (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure SSH and remote desktop",
                "start_line": 263,
                "end_line": 263,
                "span_lf_sha256": "bc265de17c9eb759cb9086c6cd22a833ec66598e9a9e7feb10f1b0d5e9c7a2f8"
              }
            ],
            "reason": "Orders NLA/rights/network/cert and separates listener/session/licensing.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders NLA/rights/network/cert and separates listener/session/licensing.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement Azure Arc–enabled Windows Server instances",
            "objective_wording_sha256": "e3208006175da58f05177812276185e151df7b0c6513aec43b790418d13eb3c8",
            "group": "Manage Windows Server instances and workloads by using Azure services in a hybrid environment",
            "group_number": 6,
            "objective_number": 1,
            "objective_id": "AZ-802-6.1",
            "domain": "Manage Windows Server instances and workloads in a hybrid environment (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Connect non-Azure servers through Azure Arc",
                "start_line": 267,
                "end_line": 269,
                "span_lf_sha256": "29a20847e20789b6a600af09b334ea9c0cdc02b835878fc13b6160699ad04696"
              }
            ],
            "reason": "Specifies onboarding scope/identity/path then independent agent/extension/workload verification.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Specifies onboarding scope/identity/path then independent agent/extension/workload verification.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement device configuration by using Azure Arc",
            "objective_wording_sha256": "48e4e09df95b7da26329509367e7204fc1eeca84b7dc0726487bfd07f84beb60",
            "group": "Manage Windows Server instances and workloads by using Azure services in a hybrid environment",
            "group_number": 6,
            "objective_number": 2,
            "objective_id": "AZ-802-6.2",
            "domain": "Manage Windows Server instances and workloads in a hybrid environment (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Implement device configuration and extensions",
                "start_line": 273,
                "end_line": 273,
                "span_lf_sha256": "a6e502fa9c4ed3a1dba01d3913a2a1d33a8472937cb1fc99e8c13e8ebc15de83"
              }
            ],
            "reason": "Traces policy parameters/guest agent/assignment/evaluation/remediation.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Traces policy parameters/guest agent/assignment/evaluation/remediation.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Deploy Azure services with virtual machine (VM) extensions on non–Azure machines",
            "objective_wording_sha256": "14ff2bb7dd71023fb41660577130219deac5ddf04f110bd6feb8cb01d5d28e30",
            "group": "Manage Windows Server instances and workloads by using Azure services in a hybrid environment",
            "group_number": 6,
            "objective_number": 3,
            "objective_id": "AZ-802-6.3",
            "domain": "Manage Windows Server instances and workloads in a hybrid environment (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Implement device configuration and extensions",
                "start_line": 275,
                "end_line": 275,
                "span_lf_sha256": "0b7715c18ca0b1f5004a6ba877f014f1c6f57f025f2e58d3f953f31213ba3659"
              }
            ],
            "reason": "Identifies publisher/type/version/protected settings/identity/logs and ownership conflict.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Identifies publisher/type/version/protected settings/identity/logs and ownership conflict.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage updates by using Azure Update Manager",
            "objective_wording_sha256": "41c58518727cf3c32bde01e714570ecbbd3e8eede10a6fcfc0d3ba0553bd815a",
            "group": "Manage Windows Server instances and workloads by using Azure services in a hybrid environment",
            "group_number": 6,
            "objective_number": 4,
            "objective_id": "AZ-802-6.4",
            "domain": "Manage Windows Server instances and workloads in a hybrid environment (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Manage updates and Automation runbooks",
                "start_line": 279,
                "end_line": 279,
                "span_lf_sha256": "20be14b5d139c91e0478ba7d0e7120884ecf27958afc750ed7ff7bf1085830e1"
              }
            ],
            "reason": "Defines scope/window/classification/reboot/drain/health gates.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines scope/window/classification/reboot/drain/health gates.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and run Azure Automation runbooks",
            "objective_wording_sha256": "cbb4c71d4858b9069774277f2330b10d3c769da2e35f96014f52f9d51804c850",
            "group": "Manage Windows Server instances and workloads by using Azure services in a hybrid environment",
            "group_number": 6,
            "objective_number": 5,
            "objective_id": "AZ-802-6.5",
            "domain": "Manage Windows Server instances and workloads in a hybrid environment (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Manage updates and Automation runbooks",
                "start_line": 281,
                "end_line": 283,
                "span_lf_sha256": "9110224d1c13c88b4f69957add000bd846710d273d7328a6d3c80e3f37046b49"
              }
            ],
            "reason": "Chooses runtime/location/identity and designs idempotent job/retry/rollback.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Chooses runtime/location/identity and designs idempotent job/retry/rollback.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Enable Enhanced Session Mode",
            "objective_wording_sha256": "6956aa7379c31e3c43cc659003e2faec4683320ff4736f807b3ab55dc134ba34",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 1,
            "objective_id": "AZ-802-7.1",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Hyper-V guests and management paths",
                "start_line": 302,
                "end_line": 309,
                "span_lf_sha256": "f68cad02f756fce04bc8c9880da2b4e4caedbf8235c788eb2f258f50658c4373"
              }
            ],
            "reason": "Contrasts VMConnect paths and host/user policy/guest support.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Contrasts VMConnect paths and host/user policy/guest support.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage VMs remotely by using PowerShell, PowerShell Direct, and SSH Direct for Linux guests",
            "objective_wording_sha256": "1b526124681401c8ef634b08d3b748ea2a6a5230993768cc759bc30750a501e8",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 2,
            "objective_id": "AZ-802-7.2",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Hyper-V guests and management paths",
                "start_line": 304,
                "end_line": 311,
                "span_lf_sha256": "c0b80c5a5811d589b9bc40ca6311b999894c7e670c554a12a1d8f0462a85fd2d"
              }
            ],
            "reason": "PowerShell/network paths distinguished; SSH Direct lacks current support contract despite provisional substrate evidence. Final reread confirms the passage keeps the specific support/applicability gap visible and does not convert proposed tests into an executed or universal recipe.",
            "initial_flag_disposition": "retained evidence blocker; useful provisional treatment preserved",
            "historical_disposition": "retained evidence blocker; useful provisional treatment preserved",
            "initial_flag_reason": null,
            "initial_reason": "PowerShell/network paths distinguished; SSH Direct lacks current support contract despite provisional substrate evidence.",
            "initial_depth_result": "blocked-provisional",
            "repair_id": null,
            "depth_result": "blocked-provisional",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive source-bounded provisional teaching; unresolved support/applicability."
          },
          {
            "wording": "Enable nested virtualization",
            "objective_wording_sha256": "f3eca52d08ecec8e8a0e26ba3c86477bc32e5973acbde85e18588e14cab2999e",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 3,
            "objective_id": "AZ-802-7.3",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure compute, memory, and integration services",
                "start_line": 321,
                "end_line": 321,
                "span_lf_sha256": "082eb2fcc6752b10e47333e9e011c4c4426f8de7c58a312e4c5f20d8220f1e12"
              }
            ],
            "reason": "Explains CPU/VM extension exposure, NAT/MAC and memory/support constraints.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains CPU/VM extension exposure, NAT/MAC and memory/support constraints.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure VM memory settings",
            "objective_wording_sha256": "038974a78e1688e890467ba34c85cae81a5ce98413e73f15a19fcae4528ab18c",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 4,
            "objective_id": "AZ-802-7.4",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure compute, memory, and integration services",
                "start_line": 315,
                "end_line": 317,
                "span_lf_sha256": "97837d0f8924b9328be4566b2c59e89dbd24eeb952701e271a3ff7cc054f76c3"
              }
            ],
            "reason": "Distinguishes startup/min/max/buffer/priority, NUMA and Smart Paging.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes startup/min/max/buffer/priority, NUMA and Smart Paging.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure integration services",
            "objective_wording_sha256": "4aec4b7fca84021374e839091b17397660b471c07fb02f6b224fa4cab16a7ec4",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 5,
            "objective_id": "AZ-802-7.5",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure compute, memory, and integration services",
                "start_line": 319,
                "end_line": 319,
                "span_lf_sha256": "527c72018ca0e48da9ac05220515e7e4ac5c6001b98ead9039d67c19967ad102"
              }
            ],
            "reason": "Teaches heartbeat/time/shutdown/VSS and DC time hazard.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches heartbeat/time/shutdown/VSS and DC time hazard.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure device assignment",
            "objective_wording_sha256": "47f17482e4a899696efc1679b2b4cad3a9a7d6cdb81de81945fed701e43a5629",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 6,
            "objective_id": "AZ-802-7.6",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Assign devices and partition GPUs",
                "start_line": 325,
                "end_line": 325,
                "span_lf_sha256": "957e2e81fee3c0d7d0fed08e1b779857be88506cdcdd64bf6c86aae8ee1426fd"
              }
            ],
            "reason": "Orders device dismount/location/MMIO/drivers and mobility constraints.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders device dismount/location/MMIO/drivers and mobility constraints.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure GPU partitioning",
            "objective_wording_sha256": "2712bed64bff8ee9414ed3736099937567703fed8cdf22e40ef4fab454297b8b",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 7,
            "objective_id": "AZ-802-7.7",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Assign devices and partition GPUs",
                "start_line": 327,
                "end_line": 333,
                "span_lf_sha256": "56249708639b9f61a6748d88f354009401aff093a21e5d6382f287ebefd74756"
              }
            ],
            "reason": "Separates DDA/GPU-P, hardware/driver/migration/version and surviving capacity.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates DDA/GPU-P, hardware/driver/migration/version and surviving capacity.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage VM checkpoints",
            "objective_wording_sha256": "18a6c7bd4fea180ad4e4681c4270495051a37f192284bd9d641b00f422886168",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 8,
            "objective_id": "AZ-802-7.8",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Manage checkpoints, availability, disks, and adapters",
                "start_line": 339,
                "end_line": 339,
                "span_lf_sha256": "da8700bce7972552564feffa8d89d171cfe0767505c2c0021a12fe9825df7851"
              }
            ],
            "reason": "Distinguishes production/standard, merge capacity and no AVHDX deletion.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes production/standard, merge capacity and no AVHDX deletion.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement high availability for Hyper-V VMs",
            "objective_wording_sha256": "a2c692113cf565aff8624c8e504bdc51ab834173a2a81cf0d6ded729e4f106db",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 9,
            "objective_id": "AZ-802-7.9",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Manage checkpoints, availability, disks, and adapters",
                "start_line": 341,
                "end_line": 341,
                "span_lf_sha256": "e8feb876ac919d004ae1fe233d691e38f0bd558e5bdda0566a058bee2825ed58"
              }
            ],
            "reason": "Explains clustered role/storage/owners/migration/capacity and Replica distinction.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains clustered role/storage/owners/migration/capacity and Replica distinction.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage Hyper-V virtual hard disks",
            "objective_wording_sha256": "e4ddf02c1bf0d15e48ab97f633c477cc67364b54833e9bbfe15bc6d219174925",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 10,
            "objective_id": "AZ-802-7.10",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Manage checkpoints, availability, disks, and adapters",
                "start_line": 343,
                "end_line": 343,
                "span_lf_sha256": "b97bb651e3bc87c30b77596cac21bad9b5279861dd4f5bd6880573396c24afaf"
              }
            ],
            "reason": "Distinguishes format/allocation/chain/resize and immutable parents.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes format/allocation/chain/resize and immutable parents.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure Hyper-V network adapter",
            "objective_wording_sha256": "c6e83d7cc9d2f2e22004315441a9d6377817c51fc43e05620629e7a629bdcb1e",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 11,
            "objective_id": "AZ-802-7.11",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Manage checkpoints, availability, disks, and adapters",
                "start_line": 345,
                "end_line": 345,
                "span_lf_sha256": "ae47fc73697c46f38f3407c3dc25e5c7bb92d99e6d52336a5c484bbecff365f2"
              }
            ],
            "reason": "Defines switch/VLAN/security/MAC/IP layers and SR-IOV support.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines switch/VLAN/security/MAC/IP layers and SR-IOV support.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure network interface card (NIC) teaming on the Hyper-V host and VM",
            "objective_wording_sha256": "97622a1207d778d245c1316235be94fb493372fe77099710da5a772b462fb1d8",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 12,
            "objective_id": "AZ-802-7.12",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Manage checkpoints, availability, disks, and adapters",
                "start_line": 345,
                "end_line": 349,
                "span_lf_sha256": "1737288a3433ed391c9988e9e5ff1095b91279d3ea453d11a4e78ff43cc5266f"
              }
            ],
            "reason": "Separates host SET/LBFO from guest teaming and management recovery.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates host SET/LBFO from guest teaming and management recovery.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure Hyper-V Virtual Switch",
            "objective_wording_sha256": "69d49300c699c43f6f8529215cc68b1f0ef774c04b5568533599a0c96e494695",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 13,
            "objective_id": "AZ-802-7.13",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Hyper-V switches and Replica",
                "start_line": 349,
                "end_line": 349,
                "span_lf_sha256": "e35bbe2b5ae78652e4a238d3c550d65f7a884d247ad09aed4a3ce93c737288dc"
              }
            ],
            "reason": "Distinguishes external/internal/private and management/VLAN/QoS/recovery.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes external/internal/private and management/VLAN/QoS/recovery.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure Hyper-V Replica",
            "objective_wording_sha256": "c31b877cbf0aa2fe805c623dac203dc37ecab0ef317147277c65959acf2d467e",
            "group": "Manage Hyper-V and guest VM",
            "group_number": 7,
            "objective_number": 14,
            "objective_id": "AZ-802-7.14",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Hyper-V switches and Replica",
                "start_line": 351,
                "end_line": 351,
                "span_lf_sha256": "5a20c108116945572f13218684b27261c1577efb91ec917cb9b9b15ae54f5062"
              }
            ],
            "reason": "Orders receiver/auth/listener/storage/copy/history and test/planned/unplanned/failback.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders receiver/auth/listener/storage/copy/history and test/planned/unplanned/failback.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage storage for Windows Server VMs in Azure",
            "objective_wording_sha256": "bd11ddb877694579e3e924da406ddfd394c97b2595f853c84654fcab7d305893",
            "group": "Manage Windows Server VMs in Azure",
            "group_number": 8,
            "objective_number": 1,
            "objective_id": "AZ-802-8.1",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Storage and capacity",
                "start_line": 357,
                "end_line": 359,
                "span_lf_sha256": "23f93e225b5383833ab84df2bab5c5e300f24ae8cf5dc697fec00e7721c99246"
              }
            ],
            "reason": "Traces durable/temp/SKU/cache/encryption/LUN/caps and guest expansion.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Traces durable/temp/SKU/cache/encryption/LUN/caps and guest expansion.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage capacity, including resizing and VM scale sets",
            "objective_wording_sha256": "8739eb59073a43420dbcf9824b6d29a7755559bb8dafc1e81719e659fd9d55ee",
            "group": "Manage Windows Server VMs in Azure",
            "group_number": 8,
            "objective_number": 2,
            "objective_id": "AZ-802-8.2",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Storage and capacity",
                "start_line": 359,
                "end_line": 359,
                "span_lf_sha256": "14cc7aa2509e60608653c946eacc3f78bec07680a1d42d3fd98f020a9bd21c1b"
              }
            ],
            "reason": "Teaches resize restart/constraints and scale-set model/health/drift.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches resize restart/constraints and scale-set model/health/drift.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage availability sets and zones",
            "objective_wording_sha256": "40226980d4584728d75a829fe74ab37e4cc32a1b2df5c32d07243685d623996c",
            "group": "Manage Windows Server VMs in Azure",
            "group_number": 8,
            "objective_number": 3,
            "objective_id": "AZ-802-8.3",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Availability",
                "start_line": 363,
                "end_line": 365,
                "span_lf_sha256": "571c3a9105a136ab7d8f4553a03c86e84e15b8f3d5828f4e42c9587e5c00297f"
              }
            ],
            "reason": "Separates set/zone fault isolation from app replication and regional recovery.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates set/zone fault isolation from app replication and regional recovery.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage just-in-time (JIT) VM access and Azure Bastion",
            "objective_wording_sha256": "520aff00874e02f607de128fee37a6a7237659e02498ecdb80f38b939d90c53b",
            "group": "Manage Windows Server VMs in Azure",
            "group_number": 8,
            "objective_number": 4,
            "objective_id": "AZ-802-8.4",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Secure management and networking",
                "start_line": 369,
                "end_line": 369,
                "span_lf_sha256": "919bae2226c86889215a75f04e3175902ae965f210a0e640f8bd27bac4a32920"
              }
            ],
            "reason": "Separates timed network exposure/Bastion from guest auth/listener.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates timed network exposure/Bastion from guest auth/listener.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage Azure Virtual Machines network configuration",
            "objective_wording_sha256": "f041f182c3651c64b3db650f23da00e969409c9fc4ea8d3f446c08d99e727fe9",
            "group": "Manage Windows Server VMs in Azure",
            "group_number": 8,
            "objective_number": 5,
            "objective_id": "AZ-802-8.5",
            "domain": "Manage VMs (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Secure management and networking",
                "start_line": 371,
                "end_line": 371,
                "span_lf_sha256": "8946501dea5de4ce71ddc81312f2e92454042bb3d9d4149e70c780c10860ccdd"
              }
            ],
            "reason": "Traces NIC/subnet/NSG/routes/DNS/forwarding and guest firewall.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Traces NIC/subnet/NSG/routes/DNS/forwarding and guest firewall.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Integrate domain name system (DNS) with AD DS",
            "objective_wording_sha256": "aab5d9e42ccc9a288b8bf8f7f4f6b3f0693d22180ec4c41156c3cb72fcfbb768",
            "group": "Implement on-premises and hybrid name resolution",
            "group_number": 9,
            "objective_number": 1,
            "objective_id": "AZ-802-9.1",
            "domain": "Implement and manage an on-premises and hybrid networking infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Design name resolution from authority outward",
                "start_line": 407,
                "end_line": 407,
                "span_lf_sha256": "d52873c63f231f7a9a65c84f5262cb9beeea8c640e0376eecbafb1bd6310bdfa"
              }
            ],
            "reason": "Explains AD-zone partitions/scope and secure dynamic updates.",
            "initial_flag_disposition": "initial evidence-span erratum corrected; substantive guide teaching retained, no guide repair needed",
            "historical_disposition": "initial evidence-span erratum corrected; substantive guide teaching retained, no guide repair needed",
            "initial_flag_reason": null,
            "initial_reason": "Explains AD-zone partitions/scope and secure dynamic updates.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and manage DNS zones and records",
            "objective_wording_sha256": "2d36501ee315d41f80751d6e8c94fa384e0cdb2df568ee9eb41630232232d148",
            "group": "Implement on-premises and hybrid name resolution",
            "group_number": 9,
            "objective_number": 2,
            "objective_id": "AZ-802-9.2",
            "domain": "Implement and manage an on-premises and hybrid networking infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Design name resolution from authority outward",
                "start_line": 408,
                "end_line": 419,
                "span_lf_sha256": "2045940a5e56e38a95da7cde2ef81a3c65e3a6f788b0d07943a0e96a13621771"
              }
            ],
            "reason": "Selects zone/record type and distinguishes alias from SPN/cert identity.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Selects zone/record type and distinguishes alias from SPN/cert identity.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure DNS forwarding and conditional forwarding",
            "objective_wording_sha256": "e49ee6b54a74dd18a91771a669494840c22ebadf4fb3149cc8b2c340dbc64db3",
            "group": "Implement on-premises and hybrid name resolution",
            "group_number": 9,
            "objective_number": 3,
            "objective_id": "AZ-802-9.3",
            "domain": "Implement and manage an on-premises and hybrid networking infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Design name resolution from authority outward",
                "start_line": 410,
                "end_line": 419,
                "span_lf_sha256": "a5eb66f6de115548b7e5500d519da58e434f148148659754c7aa1d7fc2dad320"
              }
            ],
            "reason": "Contrasts forwarding/conditional/delegation/stub/secondary and reverse-path checks.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Contrasts forwarding/conditional/delegation/stub/secondary and reverse-path checks.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure DNS name resolution in a hybrid environment",
            "objective_wording_sha256": "e0a06115426081da12346396ca82b1ac54809acfc744b8bb5258cfe769aaa82c",
            "group": "Implement on-premises and hybrid name resolution",
            "group_number": 9,
            "objective_number": 4,
            "objective_id": "AZ-802-9.4",
            "domain": "Implement and manage an on-premises and hybrid networking infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Resolve names across hybrid networks",
                "start_line": 423,
                "end_line": 435,
                "span_lf_sha256": "88adbfa9f8ddd711c0c72668f90ef8e574fbe3af35f45a15dbffbaae6d1910e8"
              }
            ],
            "reason": "Maps inbound/outbound/rules/private zones and demonstrates forwarding loop.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Maps inbound/outbound/rules/private zones and demonstrates forwarding loop.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement DNS policies",
            "objective_wording_sha256": "b3168e68d080b806858d39d2205ec70601af3a919944d5a1e206e7ccb121e5f3",
            "group": "Implement on-premises and hybrid name resolution",
            "group_number": 9,
            "objective_number": 5,
            "objective_id": "AZ-802-9.5",
            "domain": "Implement and manage an on-premises and hybrid networking infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Use DNS policies and DNSSEC",
                "start_line": 439,
                "end_line": 439,
                "span_lf_sha256": "b2179db385f0eb03da6a3d05c5a1c53fcb2da04dc5711d5254584e8224382ed9"
              }
            ],
            "reason": "Defines policy criteria, order and client-specific test matrix.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines policy criteria, order and client-specific test matrix.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement DNS security extensions (DNSSEC)",
            "objective_wording_sha256": "7d9d0a43b6fb2a458f8fd39775e4259f71f10d4ec166d717e622c797768d6951",
            "group": "Implement on-premises and hybrid name resolution",
            "group_number": 9,
            "objective_number": 6,
            "objective_id": "AZ-802-9.6",
            "domain": "Implement and manage an on-premises and hybrid networking infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Use DNS policies and DNSSEC",
                "start_line": 441,
                "end_line": 441,
                "span_lf_sha256": "a3da134d18a4c65a5285a2b1da6807ab56ee677ae4362b759de29e91d39398f2"
              }
            ],
            "reason": "Explains signing/trust/rollover/validation rather than confidentiality.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains signing/trust/rollover/validation rather than confidentiality.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement and configure the Dynamic Host Configuration Protocol (DHCP) server role",
            "objective_wording_sha256": "a0db0e72822ce9a1716c9291a5dd7fd4dc721bee88173ec9c8476c4c2cb71b5a",
            "group": "Manage IP addressing in on-premises and hybrid scenarios",
            "group_number": 10,
            "objective_number": 1,
            "objective_id": "AZ-802-10.1",
            "domain": "Implement and manage an on-premises and hybrid networking infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure DHCP scopes, reservations, and options",
                "start_line": 445,
                "end_line": 449,
                "span_lf_sha256": "9489faeec68a9d6be5d3868635087859f7ed4793936cba10e41495e453333fd9"
              }
            ],
            "reason": "Orders authorization/pools/options/DNS/logs and relay prerequisites.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders authorization/pools/options/DNS/logs and relay prerequisites.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot IP addressing in hybrid environments",
            "objective_wording_sha256": "6503263328c5d28de5ab7f4c6e07db78e3d02c861e172a45a5fd39c78557d8af",
            "group": "Manage IP addressing in on-premises and hybrid scenarios",
            "group_number": 10,
            "objective_number": 2,
            "objective_id": "AZ-802-10.2",
            "domain": "Implement and manage an on-premises and hybrid networking infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Troubleshoot IP and DNS",
                "start_line": 459,
                "end_line": 474,
                "span_lf_sha256": "1de8dade29183d57de0098f353da2505472891a3546ac65aa3ee5cabbdd0d649"
              }
            ],
            "reason": "Uses lease/APIPA/options/route/relay/server and return-path evidence.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses lease/APIPA/options/route/relay/server and return-path evidence.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and manage DHCP scopes",
            "objective_wording_sha256": "0d681f8ea8ba8d2d6d2f4409d09bdfffd0398021a81217f2bd76552a242e6102",
            "group": "Manage IP addressing in on-premises and hybrid scenarios",
            "group_number": 10,
            "objective_number": 3,
            "objective_id": "AZ-802-10.3",
            "domain": "Implement and manage an on-premises and hybrid networking infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure DHCP scopes, reservations, and options",
                "start_line": 445,
                "end_line": 449,
                "span_lf_sha256": "9489faeec68a9d6be5d3868635087859f7ed4793936cba10e41495e453333fd9"
              }
            ],
            "reason": "Defines exclusions/pool/lease/options/state and relay mapping.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines exclusions/pool/lease/options/state and relay mapping.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create IP reservations",
            "objective_wording_sha256": "62ad91b47bbbc943f5bbe4fe5f2a701f087f5c17c3e3e1bd8fe46ed9b1df4ca7",
            "group": "Manage IP addressing in on-premises and hybrid scenarios",
            "group_number": 10,
            "objective_number": 4,
            "objective_id": "AZ-802-10.4",
            "domain": "Implement and manage an on-premises and hybrid networking infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure DHCP scopes, reservations, and options",
                "start_line": 447,
                "end_line": 447,
                "span_lf_sha256": "1ea1d7da2598111ca7bced2c3ebdaf52cfa9985089c6651207f676e12bc57960"
              }
            ],
            "reason": "Distinguishes client-ID reservation from exclusion/static collision.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes client-ID reservation from exclusion/static collision.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement high availability for DHCP",
            "objective_wording_sha256": "ee364db0ac4e0994be01375ddc547bcd431655a5f238432775a4ad9017e83a01",
            "group": "Manage IP addressing in on-premises and hybrid scenarios",
            "group_number": 10,
            "objective_number": 5,
            "objective_id": "AZ-802-10.5",
            "domain": "Implement and manage an on-premises and hybrid networking infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Implement DHCP high availability",
                "start_line": 453,
                "end_line": 455,
                "span_lf_sha256": "462c701f949ee36fb30ad6043b0457b2ac3f03a426c3796a658f4b4c38d226a7"
              }
            ],
            "reason": "Defines mode/MCLT/partner/state/replication and unsafe Partner Down.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines mode/MCLT/partner/state/replication and unsafe Partner Down.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and manage Azure file shares",
            "objective_wording_sha256": "53df4be5b079634571c2ee7527b41ad1bc6d04fcd700b225d425123e0e8c7418",
            "group": "Configure and manage Azure Files",
            "group_number": 11,
            "objective_number": 1,
            "objective_id": "AZ-802-11.1",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Azure Files",
                "start_line": 507,
                "end_line": 513,
                "span_lf_sha256": "e64d81d37829144b05d19b29c5f59de68fd82dbc7317c1f9e5aa2bd573c51c3c"
              }
            ],
            "reason": "Chooses protocol/tier/redundancy/network/identity and diagnoses auth/RBAC/ACL.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Chooses protocol/tier/redundancy/network/identity and diagnoses auth/RBAC/ACL.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage permissions for Azure file shares",
            "objective_wording_sha256": "bc2c89d9afb5333e451f326005b473df9f401c6a5644c9fbb94e1cb597bfbea1",
            "group": "Configure and manage Azure Files",
            "group_number": 11,
            "objective_number": 2,
            "objective_id": "AZ-802-11.2",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Model file access as layered authorization",
                "start_line": 492,
                "end_line": 513,
                "span_lf_sha256": "ce2ecf6ab841423021f12839da1f6c390cb43cb8fe9129b56f7ab891c47767da"
              }
            ],
            "reason": "Teaches identity data-plane RBAC plus NTFS and network/broad-key boundaries.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches identity data-plane RBAC plus NTFS and network/broad-key boundaries.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage Azure File Sync",
            "objective_wording_sha256": "e4a2a70c277bedd000ff7bad934e3c2a1eafca324f99924166222ca3ffa3213d",
            "group": "Configure and manage Azure Files",
            "group_number": 11,
            "objective_number": 3,
            "objective_id": "AZ-802-11.3",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure and monitor Azure File Sync",
                "start_line": 517,
                "end_line": 529,
                "span_lf_sha256": "e5b8a18db79277cf81630809292d68cd0a3485e7330721678c5969029672c6ef"
              }
            ],
            "reason": "Orders service/group/endpoints/tiering/initial authority and recall checks.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders service/group/endpoints/tiering/initial authority and recall checks.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Monitor Azure File Sync",
            "objective_wording_sha256": "39aa3d0e3270aeedc25b8b5e7a6d1222d84aca7d62fbdcabc52594e80db331f5",
            "group": "Configure and manage Azure Files",
            "group_number": 11,
            "objective_number": 4,
            "objective_id": "AZ-802-11.4",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure and monitor Azure File Sync",
                "start_line": 521,
                "end_line": 529,
                "span_lf_sha256": "81385e45f965be5959c60985fa0510207ef53c2d5bed384dceaa9500d8b073c9"
              }
            ],
            "reason": "Checks sync/errors/agent/recall and namespace versus cached content.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Checks sync/errors/agent/recall and namespace versus cached content.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Migrate Distributed File System (DFS) to Azure File Sync",
            "objective_wording_sha256": "c66b14f2f4a44cadecf36baa38d02eeb0702325d192fb1783039190ab446ffbe",
            "group": "Configure and manage Azure Files",
            "group_number": 11,
            "objective_number": 5,
            "objective_id": "AZ-802-11.5",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Migrate DFS or file shares to Azure Files/File Sync",
                "start_line": 533,
                "end_line": 535,
                "span_lf_sha256": "90e20be579f81fb7cb47f93a29b5eba69000093a374bc7f58916543751b5da0f"
              }
            ],
            "reason": "Inventories DFS topology/ACL/backlog, seeds/quiesces/cuts referrals and preserves rollback.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Inventories DFS topology/ACL/backlog, seeds/quiesces/cuts referrals and preserves rollback.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Migrate from file shares to Azure Files",
            "objective_wording_sha256": "daffc56826f4ee5ea5e5686a397e19c5c6670164733e73993abeb058a1a6f73b",
            "group": "Configure and manage Azure Files",
            "group_number": 11,
            "objective_number": 6,
            "objective_id": "AZ-802-11.6",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Migrate DFS or file shares to Azure Files/File Sync",
                "start_line": 533,
                "end_line": 535,
                "span_lf_sha256": "90e20be579f81fb7cb47f93a29b5eba69000093a374bc7f58916543751b5da0f"
              }
            ],
            "reason": "Orders copy fidelity/identity/path cutover and avoids competing engines.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders copy fidelity/identity/path cutover and avoids competing engines.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure access to Windows Server file shares",
            "objective_wording_sha256": "249fc814d0fee831e9ab2596b074310dab77636f0e1d66e82361fca8782dc075",
            "group": "Configure and manage Windows Server file shares",
            "group_number": 12,
            "objective_number": 1,
            "objective_id": "AZ-802-12.1",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Model file access as layered authorization",
                "start_line": 492,
                "end_line": 503,
                "span_lf_sha256": "26f896d0b5c60e346f5d87af80ca8172dea341fe80483e047520fb7275d08414"
              }
            ],
            "reason": "Traces auth/share/NTFS intersection and group least privilege.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Traces auth/share/NTFS intersection and group least privilege.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure File Server Resource Manager (FSRM)",
            "objective_wording_sha256": "0ec8d6e4baacede563324ee95728657ce6a4906eade3151405c392882e371432",
            "group": "Configure and manage Windows Server file shares",
            "group_number": 12,
            "objective_number": 2,
            "objective_id": "AZ-802-12.2",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Windows file shares, FSRM, and DFS",
                "start_line": 539,
                "end_line": 543,
                "span_lf_sha256": "ec6a79bc94ad5bf675e34b95e46d7fbbb60cd512b165bd0e42c746a2022670e3"
              }
            ],
            "reason": "Distinguishes hard/soft quotas/screens and enforcement/notification evidence.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes hard/soft quotas/screens and enforcement/notification evidence.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement and configure DFS",
            "objective_wording_sha256": "6455a763f4d6b8e29d22450165170627102fdb4437e252905347f6bf61426779",
            "group": "Configure and manage Windows Server file shares",
            "group_number": 12,
            "objective_number": 3,
            "objective_id": "AZ-802-12.3",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Windows file shares, FSRM, and DFS",
                "start_line": 543,
                "end_line": 543,
                "span_lf_sha256": "20bd86401b21916f30bc5952afec3ce432aea434391deb9bd26577fca8901071"
              }
            ],
            "reason": "Separates namespace referrals from DFSR convergence/staging/backlog.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates namespace referrals from DFSR convergence/staging/backlog.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure Server Message Block (SMB) over QUIC",
            "objective_wording_sha256": "385b5858c2f97f9068d03303662566dbda62cde7f7498dab5f76c347c2f55d1a",
            "group": "Configure and manage Windows Server file shares",
            "group_number": 12,
            "objective_number": 4,
            "objective_id": "AZ-802-12.4",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure SMB over QUIC and SMB settings",
                "start_line": 547,
                "end_line": 551,
                "span_lf_sha256": "a9e62fc34290fae87ae659add0518bd249fd17537b3fa5931961b40565d44d0e"
              }
            ],
            "reason": "Orders cert/name/key/trust/enablement/firewall/client with version bounds.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders cert/name/key/trust/enablement/firewall/client with version bounds.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure SMB settings and management",
            "objective_wording_sha256": "10860fc747cf9a86c1c0b87f9ddd81a44e14ff12a2036ae90cf656b3c8a0a6f8",
            "group": "Configure and manage Windows Server file shares",
            "group_number": 12,
            "objective_number": 5,
            "objective_id": "AZ-802-12.5",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure SMB over QUIC and SMB settings",
                "start_line": 553,
                "end_line": 555,
                "span_lf_sha256": "5b8ffd5e5dadb5904924c6e9cee5205b2d84235d56081140b3a6c29540125eb4"
              }
            ],
            "reason": "Covers signing/encryption/dialect/compression/multichannel and directional policy.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Covers signing/encryption/dialect/compression/multichannel and directional policy.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure disks and volumes",
            "objective_wording_sha256": "72686aa657303fae7dbb012474e564365d2bb3862f63fa0876a9a6c3bd27eaf4",
            "group": "Configure Windows Server storage",
            "group_number": 13,
            "objective_number": 1,
            "objective_id": "AZ-802-13.1",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure disks, volumes, file systems, and Storage Spaces",
                "start_line": 559,
                "end_line": 565,
                "span_lf_sha256": "582e389173084a9a48dcfb35b858bb7024b1f3f66b5baad32960d6ca7ab30389"
              }
            ],
            "reason": "Separates disk/partition/volume/FS and proves disk ownership first.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates disk/partition/volume/FS and proves disk ownership first.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage Storage Spaces",
            "objective_wording_sha256": "8a25ecee6b663a3ed8ed3881cabcb8669fc47ca0e97a65569f327a163796859d",
            "group": "Configure Windows Server storage",
            "group_number": 13,
            "objective_number": 2,
            "objective_id": "AZ-802-13.2",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure disks, volumes, file systems, and Storage Spaces",
                "start_line": 563,
                "end_line": 563,
                "span_lf_sha256": "8508d17a80e4535348a03cf3400eee716b57104c47bd9e6281a6ee2b3f5f6de2"
              }
            ],
            "reason": "Describes pool/virtual disk/resiliency/columns/provisioning/capacity/repair.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Describes pool/virtual disk/resiliency/columns/provisioning/capacity/repair.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement and manage Storage Spaces Direct",
            "objective_wording_sha256": "ba6eea3786e5dbfa9cea5cdd620d14e7eb6ae49415cbea2d48381301e8456aff",
            "group": "Configure Windows Server storage",
            "group_number": 13,
            "objective_number": 3,
            "objective_id": "AZ-802-13.3",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure disks, volumes, file systems, and Storage Spaces",
                "start_line": 565,
                "end_line": 565,
                "span_lf_sha256": "6dfa880cc48fc82d8b24cb255142a1aaf3c0b7fc715d66643c395ea41b8a3d70"
              }
            ],
            "reason": "Teaches certified symmetric cluster hardware/network/fault-domain/repair reserve.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Teaches certified symmetric cluster hardware/network/fault-domain/repair reserve.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage Storage Replica",
            "objective_wording_sha256": "c2a2023facb4ff491164cb240a38a505a8a4efeda1892ad154b893528bf7b26a",
            "group": "Configure Windows Server storage",
            "group_number": 13,
            "objective_number": 4,
            "objective_id": "AZ-802-13.4",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Storage Replica, deduplication, QoS, and iSCSI",
                "start_line": 569,
                "end_line": 569,
                "span_lf_sha256": "ec6a9bd60e08847dc86129ae17ebeb80707f77169287f99ebd7bd0a4128185b8"
              }
            ],
            "reason": "Explains sync/async/log/source/destination and corruption propagation.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains sync/async/log/source/destination and corruption propagation.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure Data Deduplication",
            "objective_wording_sha256": "c01a9f843ff2ab2497bba55231dec5b812cab01c34ce9b8975365a05aabfc8f9",
            "group": "Configure Windows Server storage",
            "group_number": 13,
            "objective_number": 5,
            "objective_id": "AZ-802-13.5",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Storage Replica, deduplication, QoS, and iSCSI",
                "start_line": 571,
                "end_line": 571,
                "span_lf_sha256": "e9909cf275b5eb8ce49d14014d84e27c2d6241496f3544f3671a5e304aec0b49"
              }
            ],
            "reason": "Specifies usage/schedule/age/exclusions/scrub/app/backup compatibility.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Specifies usage/schedule/age/exclusions/scrub/app/backup compatibility.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure SMB direct (SMB over Remote Direct Memory Access [RDMA])",
            "objective_wording_sha256": "773b8279dacb676a3da183282659f53f3f4ac1c42827aa11721170a47d4efe5d",
            "group": "Configure Windows Server storage",
            "group_number": 13,
            "objective_number": 6,
            "objective_id": "AZ-802-13.6",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure SMB over QUIC and SMB settings",
                "start_line": 555,
                "end_line": 555,
                "span_lf_sha256": "d475aca356be5721e6c16bc96e0ad54baf6f6a317ec170b0691fccf4d6311006"
              }
            ],
            "reason": "Requires RDMA/driver/DCB/PFC/QoS and failover evidence.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Requires RDMA/driver/DCB/PFC/QoS and failover evidence.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure Storage QoS",
            "objective_wording_sha256": "c5038cfe085f3b5e000a17e2a5f3d616499a14a26edad8d8052b9dd3a4f409ba",
            "group": "Configure Windows Server storage",
            "group_number": 13,
            "objective_number": 7,
            "objective_id": "AZ-802-13.7",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Storage Replica, deduplication, QoS, and iSCSI",
                "start_line": 573,
                "end_line": 573,
                "span_lf_sha256": "8e0e6e7dfe8b71ccee221ed51ca1a88864bed00de8d6c87381ca3f3fb8e1f64e"
              }
            ],
            "reason": "Distinguishes min/max goals, violations and aggregate capacity.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes min/max goals, violations and aggregate capacity.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Select and configure file systems, including NTFS and ReFS",
            "objective_wording_sha256": "9196f367e5425acf0f09f67ff98cccda66fa9583bf8629d1a610636c581f006d",
            "group": "Configure Windows Server storage",
            "group_number": 13,
            "objective_number": 8,
            "objective_id": "AZ-802-13.8",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure disks, volumes, file systems, and Storage Spaces",
                "start_line": 559,
                "end_line": 561,
                "span_lf_sha256": "f043bf373501152a25e84a8d5c2988e3d5c4e7e715098dedc24cf90009ae09bf"
              }
            ],
            "reason": "Chooses NTFS/ReFS by boot/features/workload/format support.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Chooses NTFS/ReFS by boot/features/workload/format support.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage iSCSI",
            "objective_wording_sha256": "1c1f1fbbbd4113c8961f5e0ab073b51a794e02c2ec3231ff0c5a52f567a52c1c",
            "group": "Configure Windows Server storage",
            "group_number": 13,
            "objective_number": 9,
            "objective_id": "AZ-802-13.9",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Storage Replica, deduplication, QoS, and iSCSI",
                "start_line": 575,
                "end_line": 575,
                "span_lf_sha256": "cfcff4acbf53d098884a8c0eaafcee0432ecbe61f83f0a3ff7be8fcaf7de423d"
              }
            ],
            "reason": "Orders target/IQN/portal/MPIO/auth/persistence and prohibits unsafe shared writes.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders target/IQN/portal/MPIO/auth/persistence and prohibits unsafe shared writes.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage BitLocker Drive Encryption",
            "objective_wording_sha256": "e69e0b3b5b3be33a814d697f18495be0a08a2a0dd908353023b842a6b553b1c5",
            "group": "Configure Windows Server storage",
            "group_number": 13,
            "objective_number": 10,
            "objective_id": "AZ-802-13.10",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Protect storage with BitLocker",
                "start_line": 579,
                "end_line": 583,
                "span_lf_sha256": "9c9bf4b2903e699fba52e7ad97eac7e6e4dc26ce86125857182a3ab71077fd27"
              }
            ],
            "reason": "Chooses scope/protectors/escrow and separates suspend/decrypt/lock.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Chooses scope/protectors/escrow and separates suspend/decrypt/lock.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage and recover encrypted volumes",
            "objective_wording_sha256": "dc625d894fda61f3572e623a8f19493113433a202da43c1480fe5edc5c738fc9",
            "group": "Configure Windows Server storage",
            "group_number": 13,
            "objective_number": 11,
            "objective_id": "AZ-802-13.11",
            "domain": "Manage storage and file services (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Protect storage with BitLocker",
                "start_line": 581,
                "end_line": 583,
                "span_lf_sha256": "73f6ab7f10b9aae74df383adebb8ec30b171fc03cb60d0f4a2431871439563fd"
              }
            ],
            "reason": "Requires authorized escrow retrieval/recovery before protector changes.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Requires authorized escrow retrieval/recovery before protector changes.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage exploit protection",
            "objective_wording_sha256": "15f59ec1ac835ac0734796ca09dc83ae4087af459d40a924de86980fd551fb33",
            "group": "Secure Windows Server operating system",
            "group_number": 14,
            "objective_number": 1,
            "objective_id": "AZ-802-14.1",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Harden the operating system",
                "start_line": 623,
                "end_line": 623,
                "span_lf_sha256": "8f759e0d12ec7e310a722ac1356240c5389cc53fa83108db369ce53e958c5481"
              }
            ],
            "reason": "Pilots per-system/program mitigations and narrow logged exceptions.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Pilots per-system/program mitigations and narrow logged exceptions.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage Application Control for Windows",
            "objective_wording_sha256": "8d81fa116de06a2f2e7ab3483871cdc5a126d5713c4b7f45c10b24523e2c96c0",
            "group": "Secure Windows Server operating system",
            "group_number": 14,
            "objective_number": 2,
            "objective_id": "AZ-802-14.2",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Harden the operating system",
                "start_line": 625,
                "end_line": 625,
                "span_lf_sha256": "f86eb199f2aa89b9a35fa3f880e14452f85de4c7824ace8a65d66c7777df7743"
              }
            ],
            "reason": "Orders inventory/audit/base/supplemental/enforcement rings and recovery.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders inventory/audit/base/supplemental/enforcement rings and recovery.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage Credential Guard",
            "objective_wording_sha256": "2034f2e462586a844c2286233e01185ef265f1f27d1cfae869faef58e436110c",
            "group": "Secure Windows Server operating system",
            "group_number": 14,
            "objective_number": 3,
            "objective_id": "AZ-802-14.3",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Harden the operating system",
                "start_line": 627,
                "end_line": 627,
                "span_lf_sha256": "2bbb5fc04a5eb745249e3884765e13a733ec67efb2e6e1440712890e12e83241"
              }
            ],
            "reason": "Defines VBS credential boundary, prerequisites and residual threats.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines VBS credential boundary, prerequisites and residual threats.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure Microsoft Defender SmartScreen",
            "objective_wording_sha256": "c97c41c4526b48f2b9137392e535d6e1a70a55b0831ccb63a0b01ce0588bcfe0",
            "group": "Secure Windows Server operating system",
            "group_number": 14,
            "objective_number": 4,
            "objective_id": "AZ-802-14.4",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Harden the operating system",
                "start_line": 629,
                "end_line": 629,
                "span_lf_sha256": "152edf761011d6a537afe42718513345e784f01668bdbaf023077ede4d15eab1"
              }
            ],
            "reason": "Contrasts reputation from allowlist by server interaction model.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Contrasts reputation from allowlist by server interaction model.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement operating system security by using Group Policies",
            "objective_wording_sha256": "65e56708a9c482e2f403a3058047c3353fb761882ec8b70465bc2238bb9ffe03",
            "group": "Secure Windows Server operating system",
            "group_number": 14,
            "objective_number": 5,
            "objective_id": "AZ-802-14.5",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Harden the operating system",
                "start_line": 631,
                "end_line": 635,
                "span_lf_sha256": "73743ebe2700402f559259db28d7e0d936750f4bb2cdcf6d87e92b6e629927ff"
              }
            ],
            "reason": "Assigns supported OS settings through GPO and one authority per value.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Assigns supported OS settings through GPO and one authority per value.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage Windows Server security baseline by using OSConfig",
            "objective_wording_sha256": "9dc7ef1b118777983c804b8c62b26359072878b5a593579635deb7be2e0c4663",
            "group": "Secure Windows Server operating system",
            "group_number": 14,
            "objective_number": 6,
            "objective_id": "AZ-802-14.6",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Harden the operating system",
                "start_line": 631,
                "end_line": 635,
                "span_lf_sha256": "73743ebe2700402f559259db28d7e0d936750f4bb2cdcf6d87e92b6e629927ff"
              }
            ],
            "reason": "Chooses Server2025 role/version and checks drift/conflicting writers/rollback.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Chooses Server2025 role/version and checks drift/conflicting writers/rollback.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement Windows Local Administrator Password Solution",
            "objective_wording_sha256": "b7c5a32754dbd831dcd337561beec65d465b30af261cbf7416248e9d41696db4",
            "group": "Secure Windows Server operating system",
            "group_number": 14,
            "objective_number": 7,
            "objective_id": "AZ-802-14.7",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Implement Windows LAPS",
                "start_line": 639,
                "end_line": 641,
                "span_lf_sha256": "72460ba933b025ca63340b6d740fd9e98b8e6cd4d43de08c620efcaa5c6a40e4"
              }
            ],
            "reason": "Orders schema/self-write/delegated retrieval/policy/rotation/emergency checks.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders schema/self-write/delegated retrieval/policy/rotation/emergency checks.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure and manage Defender for Servers",
            "objective_wording_sha256": "5a3b7b5152596ce82ab71c9fc6b3bb95b6d55757bd9eb8226ed27a751aba9a36",
            "group": "Secure Windows Server operating system",
            "group_number": 14,
            "objective_number": 8,
            "objective_id": "AZ-802-14.8",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Defender for Servers and Windows Firewall",
                "start_line": 645,
                "end_line": 645,
                "span_lf_sha256": "0e17d94103b223146536e608033ef2192fa16266608609f4dd94278099f9bc01"
              }
            ],
            "reason": "Separates plan/onboarding/component/signals/alerts and entitlements.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates plan/onboarding/component/signals/alerts and entitlements.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage Windows Firewall, including connection security rules",
            "objective_wording_sha256": "df976880f50ac65a382d2c5a5b8067a72142378d6e367d3687de943189c02960",
            "group": "Secure Windows Server operating system",
            "group_number": 14,
            "objective_number": 9,
            "objective_id": "AZ-802-14.9",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Defender for Servers and Windows Firewall",
                "start_line": 647,
                "end_line": 649,
                "span_lf_sha256": "5cba3a3bdb9800b44e210aa6e2c29377f389ecb1e8155d3d3a41a9f0918ab57e"
              }
            ],
            "reason": "Scopes firewall rules and separates permit from IPsec authentication.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Scopes firewall rules and separates permit from IPsec authentication.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure password policies",
            "objective_wording_sha256": "085b68eb3f5693518b82f1f31b5f2565372ddea483828377779fbd6ce2946530",
            "group": "Secure AD DS",
            "group_number": 15,
            "objective_number": 1,
            "objective_id": "AZ-802-15.1",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Secure AD DS accounts and authentication",
                "start_line": 653,
                "end_line": 653,
                "span_lf_sha256": "5e8bbb4e0cf4a545af8aa305c57af53657e1c04c0179cad09b2fa453cf0a8a5c"
              }
            ],
            "reason": "Defines default/fine-grained password and lockout scope.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines default/fine-grained password and lockout scope.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Implement Microsoft Entra Password Protection for AD DS",
            "objective_wording_sha256": "19d97290f67931f62bc7a52a74496a4fd2b25fd9fa06136307a867a7e2e3795a",
            "group": "Secure AD DS",
            "group_number": 15,
            "objective_number": 2,
            "objective_id": "AZ-802-15.2",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Secure AD DS accounts and authentication",
                "start_line": 653,
                "end_line": 653,
                "span_lf_sha256": "5e8bbb4e0cf4a545af8aa305c57af53657e1c04c0179cad09b2fa453cf0a8a5c"
              }
            ],
            "reason": "Sequences proxy/DC registration/audit/enforce/redundancy and writable paths.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Sequences proxy/DC registration/audit/enforce/redundancy and writable paths.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage protected users",
            "objective_wording_sha256": "e0ecc97a80b890ed1353a6ca66df8cd85ddc9d492f00f032ac59f6e739d686ae",
            "group": "Secure AD DS",
            "group_number": 15,
            "objective_number": 3,
            "objective_id": "AZ-802-15.3",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Secure AD DS accounts and authentication",
                "start_line": 655,
                "end_line": 655,
                "span_lf_sha256": "798ae7141e541b74dbd7fdfb1dc3fa2bd4dd863ddf59806bb0805b60c2b5ec08"
              }
            ],
            "reason": "Explains restricted legacy/delegation/offline paths and protected recovery.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains restricted legacy/delegation/offline paths and protected recovery.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Harden domain controllers",
            "objective_wording_sha256": "c6154547825d2b48ef41b8b091782547f8723e432b4c01ff6c8d528872aee84b",
            "group": "Secure AD DS",
            "group_number": 15,
            "objective_number": 4,
            "objective_id": "AZ-802-15.4",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Secure AD DS accounts and authentication",
                "start_line": 655,
                "end_line": 657,
                "span_lf_sha256": "9ea13b168e12017363d143807278b0f9470078ec53d55f31641eb42196beea0b"
              }
            ],
            "reason": "Minimizes roles/logon, isolates management and secures backups.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Minimizes roles/logon, isolates management and secures backups.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Restrict access to domain controllers",
            "objective_wording_sha256": "5185e67acfc48fe5f190926ba253fb1a36a4ef1db048091531d702473b80b0cf",
            "group": "Secure AD DS",
            "group_number": 15,
            "objective_number": 5,
            "objective_id": "AZ-802-15.5",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Secure AD DS accounts and authentication",
                "start_line": 655,
                "end_line": 657,
                "span_lf_sha256": "9ea13b168e12017363d143807278b0f9470078ec53d55f31641eb42196beea0b"
              }
            ],
            "reason": "Restricts privileged paths/membership with monitored recovery identities.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Restricts privileged paths/membership with monitored recovery identities.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure security options for user accounts",
            "objective_wording_sha256": "fd4cced10efe0bfccca16091bd987471d3a3ad97549711c004c95509fce30ae1",
            "group": "Secure AD DS",
            "group_number": 15,
            "objective_number": 6,
            "objective_id": "AZ-802-15.6",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Secure AD DS accounts and authentication",
                "start_line": 657,
                "end_line": 675,
                "span_lf_sha256": "09348c41de2f08826ac67d1a83fe8330e4357fc86305cb7edc661fe9cfd7eb61"
              }
            ],
            "reason": "Connects account rights/delegation/protocol/key settings to observed authentication.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Connects account rights/delegation/protocol/key settings to observed authentication.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure security options for built-in administrative groups",
            "objective_wording_sha256": "d8a2cc66e5488f6a42e552c6f3e411ce83b375d709bf94c94e3821527a53eef4",
            "group": "Secure AD DS",
            "group_number": 15,
            "objective_number": 7,
            "objective_id": "AZ-802-15.7",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Secure AD DS accounts and authentication",
                "start_line": 657,
                "end_line": 657,
                "span_lf_sha256": "818b222608fee083727e249f720ab496e20dbd21b2f8bb9a70f67dc9336220df"
              }
            ],
            "reason": "Explains indirect takeover, nested rights and membership alerting.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains indirect takeover, nested rights and membership alerting.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage AD delegation",
            "objective_wording_sha256": "479bd022a10042abe7417ef4af900f670744b52e5dcac3702e272cadcb229ba7",
            "group": "Secure AD DS",
            "group_number": 15,
            "objective_number": 8,
            "objective_id": "AZ-802-15.8",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Secure AD DS accounts and authentication",
                "start_line": 659,
                "end_line": 659,
                "span_lf_sha256": "4a7a9f2f2c5684339e2b95790d48c71d13e24dbcbf1296382f8eab2590ee6a9b"
              }
            ],
            "reason": "Scopes operation to object/OU and verifies effective rights as nonadmin.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Scopes operation to object/OU and verifies effective rights as nonadmin.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage authentication protocols and methods for AD DS",
            "objective_wording_sha256": "39e2505b9dfae29491ddbf736e0cf7cae7b61f54c0c704899aea544c9dbac122",
            "group": "Secure AD DS",
            "group_number": 15,
            "objective_number": 9,
            "objective_id": "AZ-802-15.9",
            "domain": "Secure Windows Server infrastructure (10–15%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Secure AD DS accounts and authentication",
                "start_line": 661,
                "end_line": 675,
                "span_lf_sha256": "a70ccd6510900ffc8b2b77a819b0ed274ade07dd87020fa9051a48a4e8fc19ef"
              }
            ],
            "reason": "Compares methods/audits NTLM and distinguishes AES policy/keys/actual tickets.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Compares methods/audits NTLM and distinguishes AES policy/keys/actual tickets.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Monitor by using Performance Monitor",
            "objective_wording_sha256": "7f9791a22091eff6b0588fc69b297b0073a2617ce4e38d9531a45683ac19ad66",
            "group": "Monitor by using Windows Server tools and Azure services",
            "group_number": 16,
            "objective_number": 1,
            "objective_id": "AZ-802-16.1",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Use Performance Monitor and Data Collector Sets",
                "start_line": 712,
                "end_line": 722,
                "span_lf_sha256": "3cffbaced56bd3109ec6ed8c9834d5ad7cfef159a79bd7393d4be5730d0470b3"
              }
            ],
            "reason": "Selects counters by hypothesis/baseline with interval and bounded capture.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Selects counters by hypothesis/baseline with interval and bounded capture.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create and configure data collector sets",
            "objective_wording_sha256": "e24333fe9015c320237b11f5328bb1c2da70f0090531eff7240c914ead923fde",
            "group": "Monitor by using Windows Server tools and Azure services",
            "group_number": 16,
            "objective_number": 2,
            "objective_id": "AZ-802-16.2",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Use Performance Monitor and Data Collector Sets",
                "start_line": 712,
                "end_line": 722,
                "span_lf_sha256": "3cffbaced56bd3109ec6ed8c9834d5ad7cfef159a79bd7393d4be5730d0470b3"
              }
            ],
            "reason": "Explains scheduled counter/trace capture and circular storage.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains scheduled counter/trace capture and circular storage.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Monitor servers and configure alerts by using Windows Admin Center",
            "objective_wording_sha256": "149b2aa792eafeb0db1b9466273a048e152d819c3ba9f0026f824f19b8ac367b",
            "group": "Monitor by using Windows Server tools and Azure services",
            "group_number": 16,
            "objective_number": 3,
            "objective_id": "AZ-802-16.3",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Use Windows Admin Center, System Insights, and event logs",
                "start_line": 726,
                "end_line": 726,
                "span_lf_sha256": "b3d089312a4875a794b664070bcf9c1d60baf7004a4056b3ead3ace02f2517ff"
              },
              {
                "heading": "Worked monitoring path — from WAC observation to a delivered alert",
                "start_line": 734,
                "end_line": 734,
                "span_lf_sha256": "4f08774e66cb576655c3c870469aa756a6727bff7c47763cdc99225479c0031f"
              },
              {
                "heading": "Worked monitoring path — from WAC observation to a delivered alert",
                "start_line": 736,
                "end_line": 736,
                "span_lf_sha256": "f16722f2ce6ebf582504a45614000230ddf501e7194ad418b5b47522d12cdf54"
              }
            ],
            "reason": "The worked path observes actual WAC counters/events, follows the described portal alert link, defines scope/signal/threshold/window/action and proves alert plus delivery. It explicitly rejects stale MMA onboarding, uses AMA/DCR and a portal fallback, and leaves the exact current automatic WAC UI contract unconfirmed.",
            "initial_flag_disposition": "resolved operational-teaching omission; current automatic-onboarding UI remains provisional",
            "historical_disposition": "resolved operational-teaching omission; current automatic-onboarding UI remains provisional",
            "initial_flag_reason": "Lists WAC monitoring tools but lacks alert threshold/action/verification workflow.",
            "initial_reason": "Lists WAC monitoring tools but lacks alert threshold/action/verification workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "az802-wac-alert-workflow",
            "depth_result": "substantive-with-provisional-ui-boundary",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive operational/design teaching with an explicit current WAC UI limitation."
          },
          {
            "wording": "Analyze by using the System Insights feature of Windows Server",
            "objective_wording_sha256": "04972a4bf65c5fbccc11cc38684d973b8cd1480e3c29308fc23da045b44611f8",
            "group": "Monitor by using Windows Server tools and Azure services",
            "group_number": 16,
            "objective_number": 4,
            "objective_id": "AZ-802-16.4",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Use Windows Admin Center, System Insights, and event logs",
                "start_line": 728,
                "end_line": 730,
                "span_lf_sha256": "0be85e2a1f8206a99c585b2e47d6e4507058d05287271f0a2d562c6b258c8a9a"
              }
            ],
            "reason": "Explains capability history/forecast events and workload-change limits.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains capability history/forecast events and workload-change limits.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Manage event logs",
            "objective_wording_sha256": "c15e6f8d5318c675975b84adf3abe18294711df5208207544990fb7e60229b60",
            "group": "Monitor by using Windows Server tools and Azure services",
            "group_number": 16,
            "objective_number": 5,
            "objective_id": "AZ-802-16.5",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Use Windows Admin Center, System Insights, and event logs",
                "start_line": 730,
                "end_line": 730,
                "span_lf_sha256": "b76af259de3728461f750e0c8c753424485091dbec9fae1523ae131092fe8154"
              }
            ],
            "reason": "Defines channel/provider/retention/audit/forward/archive without clearing evidence.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines channel/provider/retention/audit/forward/archive without clearing evidence.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure data collection rules for Azure Monitor",
            "objective_wording_sha256": "faaf92e3e49b571e1c19fddea226cf664bbda629cf4d485586fda49d50c17a1e",
            "group": "Monitor by using Windows Server tools and Azure services",
            "group_number": 16,
            "objective_number": 6,
            "objective_id": "AZ-802-16.6",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Azure Monitor data collection and alerts",
                "start_line": 740,
                "end_line": 756,
                "span_lf_sha256": "81ed98f6d7afe76251009f1443716efe3561aa03d8925c5563f7113478294d79"
              }
            ],
            "reason": "Orders destination/AMA/DCR/association/signal/query and retirements.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Orders destination/AMA/DCR/association/signal/query and retirements.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create alerts",
            "objective_wording_sha256": "ffb7930829c8a08d441829e9ba8aa0ddcbd7714d6068db90818a81da5b59bf02",
            "group": "Monitor by using Windows Server tools and Azure services",
            "group_number": 16,
            "objective_number": 7,
            "objective_id": "AZ-802-16.7",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Azure Monitor data collection and alerts",
                "start_line": 740,
                "end_line": 748,
                "span_lf_sha256": "af794f96553bb0b34a26cb5295020a0bb3d38563fafa4540caf0368cdaef6e1c"
              }
            ],
            "reason": "Defines actionable condition/action group and tests known signal delivery.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Defines actionable condition/action group and tests known signal delivery.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Monitor Azure Virtual Machines performance by using VM Insights",
            "objective_wording_sha256": "e143d75ae13dc565ac52e9232c53ab3df9791c7fd8980365491cb583b1ad0dd3",
            "group": "Monitor by using Windows Server tools and Azure services",
            "group_number": 16,
            "objective_number": 8,
            "objective_id": "AZ-802-16.8",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Configure Azure Monitor data collection and alerts",
                "start_line": 750,
                "end_line": 756,
                "span_lf_sha256": "4ee7883cb9ed3319564a35f148cab3d6564b638bfcb458be309e72e56f0b8b7f"
              }
            ],
            "reason": "Separates VM Insights performance from retiring Map/Dependency and actual telemetry.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates VM Insights performance from retiring Map/Dependency and actual telemetry.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot connectivity issues",
            "objective_wording_sha256": "db30235e21834c809d1037041ba1f723186697c282631bc9cc8c928ed0400c00",
            "group": "Troubleshoot Windows Server issues",
            "group_number": 17,
            "objective_number": 1,
            "objective_id": "AZ-802-17.1",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Troubleshoot connectivity, DNS, Update, and time",
                "start_line": 760,
                "end_line": 760,
                "span_lf_sha256": "91726e00d9eda4d192fbff7fd9c9cc425fc2df9f7875c84293fb348255751da8"
              }
            ],
            "reason": "Proves address/route/rules/listener/return independently from auth.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Proves address/route/rules/listener/return independently from auth.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot name resolution",
            "objective_wording_sha256": "cc3822fd46d82384eb05a060f637d8566ef3fe6aafd5030bcb8ecb61c18d0fbc",
            "group": "Troubleshoot Windows Server issues",
            "group_number": 17,
            "objective_number": 2,
            "objective_id": "AZ-802-17.2",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Troubleshoot connectivity, DNS, Update, and time",
                "start_line": 762,
                "end_line": 762,
                "span_lf_sha256": "0121fb174b328a6e4cb95f458190a280f10f5e93e819a0467a79e2011ec8e653"
              }
            ],
            "reason": "Queries specific resolver and checks authority/TTL/cache/locator/site.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Queries specific resolver and checks authority/TTL/cache/locator/site.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot Windows Update",
            "objective_wording_sha256": "d32d5bd3a01da3e909fbb63ddc2e2b4de1fa5c30097ff26c8b56d8ca7427e33f",
            "group": "Troubleshoot Windows Server issues",
            "group_number": 17,
            "objective_number": 3,
            "objective_id": "AZ-802-17.3",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Troubleshoot connectivity, DNS, Update, and time",
                "start_line": 764,
                "end_line": 764,
                "span_lf_sha256": "a385f200d7f8df74cb0b597e646737243a1d6b525f3da703207e74ea5f2f178b"
              }
            ],
            "reason": "Identifies update source/policy/proxy/service/components/reboot before reset.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Identifies update source/policy/proxy/service/components/reboot before reset.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot Time service",
            "objective_wording_sha256": "50fc0cf2a2a53a525e2effd184beb4c20747b226286f89fd6ae4a56a4a88f476",
            "group": "Troubleshoot Windows Server issues",
            "group_number": 17,
            "objective_number": 4,
            "objective_id": "AZ-802-17.4",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Troubleshoot connectivity, DNS, Update, and time",
                "start_line": 766,
                "end_line": 766,
                "span_lf_sha256": "b49464b89e26140ad00b5cceb098fe15f4a24db170efe1fea77f2cbe4b357f58"
              }
            ],
            "reason": "Checks source/policy/UDP123/hierarchy/virtualization/offset/events.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Checks source/policy/UDP123/hierarchy/virtualization/offset/events.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot performance issues",
            "objective_wording_sha256": "b4882bab89f134e51eed9f992694e03afdec07a06e466f7ff293d6dfc2acfd51",
            "group": "Troubleshoot Windows Server issues",
            "group_number": 17,
            "objective_number": 5,
            "objective_id": "AZ-802-17.5",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Troubleshoot performance, extensions, encryption, and storage",
                "start_line": 770,
                "end_line": 770,
                "span_lf_sha256": "d52b0ee98be8a2763484dbdb358fbc04c83ddafa45e008c041ffc23925b0b98f"
              }
            ],
            "reason": "Correlates host/guest/NUMA/disk/network/process without blind resize.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Correlates host/guest/NUMA/disk/network/process without blind resize.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot VM and Azure Arc extension issues",
            "objective_wording_sha256": "09cb4f16781129d5c0b72c599cce5cc238f10406958654afb92cdb43fa532d30",
            "group": "Troubleshoot Windows Server issues",
            "group_number": 17,
            "objective_number": 6,
            "objective_id": "AZ-802-17.6",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Troubleshoot performance, extensions, encryption, and storage",
                "start_line": 772,
                "end_line": 772,
                "span_lf_sha256": "03b0479dd5c90d4924ec5b5c9ae577183ac928867e50410af6f618392bfe0b58"
              }
            ],
            "reason": "Captures handler/config/agent/log/identity/path/capacity before reinstall.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Captures handler/config/agent/log/identity/path/capacity before reinstall.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot disk encryption issues",
            "objective_wording_sha256": "5e458b1865d72771c859cb7f879694aae99bdbd7894b9a973dfa377019fb86db",
            "group": "Troubleshoot Windows Server issues",
            "group_number": 17,
            "objective_number": 7,
            "objective_id": "AZ-802-17.7",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Troubleshoot performance, extensions, encryption, and storage",
                "start_line": 774,
                "end_line": 774,
                "span_lf_sha256": "307885ef880bb2b4dc7e99a1f99ddff4777d98215ef5675ce8d33f3be097b952"
              }
            ],
            "reason": "Identifies encryption layer then key/vault/protector/boot without removing keys.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Identifies encryption layer then key/vault/protector/boot without removing keys.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot storage issues",
            "objective_wording_sha256": "bba0dea2305a36ad9793d0094eb1b0f2564d57996765db0e27a9853367423291",
            "group": "Troubleshoot Windows Server issues",
            "group_number": 17,
            "objective_number": 8,
            "objective_id": "AZ-802-17.8",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Troubleshoot performance, extensions, encryption, and storage",
                "start_line": 776,
                "end_line": 776,
                "span_lf_sha256": "9a3db957d79e1e06b20b064cb8f385fcfdeaba6b2505e2423bc9e7b716bb9899"
              }
            ],
            "reason": "Localizes disk/pool/FS/share/sync/path/application and avoids initialization.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Localizes disk/pool/FS/share/sync/path/application and avoids initialization.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Restore objects from AD Recycle Bin",
            "objective_wording_sha256": "e5eb3c47c74c9b907e2aa3bf0f43038b6efe5ed44179c9cd06174acb58216f89",
            "group": "Troubleshoot Active Directory",
            "group_number": 18,
            "objective_number": 1,
            "objective_id": "AZ-802-18.1",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Recover and troubleshoot AD DS",
                "start_line": 780,
                "end_line": 780,
                "span_lf_sha256": "657b98a892833f66ab89aeea411a097705c46b7a434613f14008af74b7ded4dc"
              }
            ],
            "reason": "Restores eligible parents/children and validates attributes/access/replication.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Restores eligible parents/children and validates attributes/access/replication.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Recover AD database by using Directory Services Restore Mode",
            "objective_wording_sha256": "435d93bba4b1510690f7bb0ce11faed69215592cb8a2f794237ecc94a484b4f9",
            "group": "Troubleshoot Active Directory",
            "group_number": 18,
            "objective_number": 2,
            "objective_id": "AZ-802-18.2",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Recover and troubleshoot AD DS",
                "start_line": 782,
                "end_line": 782,
                "span_lf_sha256": "76a90b28884841f735e231dcd13fb7f293754fc30985b24295630255f9d785a0"
              }
            ],
            "reason": "Separates offline DSRM/system state/authoritative decisions and tested credentials.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates offline DSRM/system state/authoritative decisions and tested credentials.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Recover SYSVOL",
            "objective_wording_sha256": "bab00b2da9d6fa6efad0fe9962b0f4f279e3ce036cdf3d34547d490fc3c6c268",
            "group": "Troubleshoot Active Directory",
            "group_number": 18,
            "objective_number": 3,
            "objective_id": "AZ-802-18.3",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Recover and troubleshoot AD DS",
                "start_line": 784,
                "end_line": 784,
                "span_lf_sha256": "718842621d7db906140e9303a47f8056d3016124f5dd84a55307d4a4c39cbfca"
              }
            ],
            "reason": "Distinguishes trusted authoritative from peer nonauthoritative DFSR recovery.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes trusted authoritative from peer nonauthoritative DFSR recovery.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot AD replication",
            "objective_wording_sha256": "3960e738377050a32cee0a20e24ba628dd3de9a496c2f40704ddb363dd0bdea2",
            "group": "Troubleshoot Active Directory",
            "group_number": 18,
            "objective_number": 4,
            "objective_id": "AZ-802-18.4",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Recover and troubleshoot AD DS",
                "start_line": 786,
                "end_line": 786,
                "span_lf_sha256": "7bba9a480e22e093fb91ccb27f3172b5811312aedcd483e881b8cb2ef1252cc0"
              }
            ],
            "reason": "Captures partition/partner/error and tests DNS/time/RPC/topology/disk.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Captures partition/partner/error and tests DNS/time/RPC/topology/disk.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot on-premises AD",
            "objective_wording_sha256": "a72451122e221183ffccd92af733d4c48dde4796dde496effe7324396060e238",
            "group": "Troubleshoot Active Directory",
            "group_number": 18,
            "objective_number": 5,
            "objective_id": "AZ-802-18.5",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Recover and troubleshoot AD DS",
                "start_line": 780,
                "end_line": 790,
                "span_lf_sha256": "733163d8a61a7b3f0b126a62b2f08d477269db7238c4bbb00f88cc8ad43094d4"
              }
            ],
            "reason": "Separates object/DC/SYSVOL/forest scopes and original transaction.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates object/DC/SYSVOL/forest scopes and original transaction.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot Kerberos and authentication issues",
            "objective_wording_sha256": "fac3c2177023e9bbb2490df1051d8b70ce2302193a35142ba33ee94f9fec6846",
            "group": "Troubleshoot Active Directory",
            "group_number": 18,
            "objective_number": 6,
            "objective_id": "AZ-802-18.6",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Recover and troubleshoot AD DS",
                "start_line": 788,
                "end_line": 788,
                "span_lf_sha256": "18ca03a61aa4613da9e02c73c1df3998407030d7c375c632381b58881078ce3f"
              }
            ],
            "reason": "Traces clock/DNS/trust/channel/SPN/encryption/delegation/ticket/account.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Traces clock/DNS/trust/channel/SPN/encryption/delegation/ticket/account.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Troubleshoot secure channel and computer account trust issues",
            "objective_wording_sha256": "2f6fc724530f0bfe0269e37e17b7abb5b398bfbae44a32ea3b7bf2c6dfaf9745",
            "group": "Troubleshoot Active Directory",
            "group_number": 18,
            "objective_number": 7,
            "objective_id": "AZ-802-18.7",
            "domain": "Monitor and troubleshoot Windows Server environments (15–20%)",
            "version": "Current published skills; LastUpdated is metadata, no separate effective date",
            "evidence_spans": [
              {
                "heading": "Recover and troubleshoot AD DS",
                "start_line": 788,
                "end_line": 788,
                "span_lf_sha256": "18ca03a61aa4613da9e02c73c1df3998407030d7c375c632381b58881078ce3f"
              }
            ],
            "reason": "Tests contacted DC/password state and avoids casual remove/rejoin.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Tests contacted DC/password state and avoids casual remove/rejoin.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          }
        ],
        "accepted_status_raw_sha256": "22263a5f15aee693bf4f4727115d1a9aba20f3aa645ac6e0656f6181d3899564"
      },
      {
        "exam_code": "MO-110",
        "guide_path": "guides/MO-110-microsoft-word-microsoft-365-apps.md",
        "captured_final_guide_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-110-microsoft-word-microsoft-365-apps.md",
        "guide_lf_sha256": "ae8283c05a4dfa3fc89662b02d51e0fc3f72cebf7b6200cd62e1b400577ad7d1",
        "objective_path": "data/objective-snapshots/mo-110-official-objectives.txt",
        "objective_raw_sha256": "c5016d0c2a76187324de57865fcad9858aa02d49353a61ffc479e64430ee233a",
        "objective_count": 70,
        "group_count": 18,
        "line_count": 193,
        "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-110.diff",
        "diff_raw_sha256": "c24b8a1d46269d4f2491b9690beb4d546bf34b03c807bd1242a3fb5f7b9fa32c",
        "initial_flags": 9,
        "resolved_initial_flags": 9,
        "remaining_material_named_workflow_gaps": [],
        "source_gate_state": "passed provisionally per coordinator; separate from semantic review",
        "current_mapping": [
          {
            "wording": "Search for text",
            "objective_wording_sha256": "dcf9112f52335ef82b9ba60ea09830c17cc6958622ca04b5be21f66869bd8993",
            "group": "Navigate within documents",
            "group_number": 1,
            "objective_number": 1,
            "objective_id": "MO-110-1.1",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "1. Manage documents",
                "start_line": 46,
                "end_line": 48,
                "span_lf_sha256": "7d380f5e5fddcf4b4ac95b346c651066a1a4fa8b62735fec565c155a65200a0f"
              }
            ],
            "reason": "Distinguishes Find, styled Navigation and Go To and verifies destinations.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes Find, styled Navigation and Go To and verifies destinations.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Link to locations within documents",
            "objective_wording_sha256": "658c20b59942e9724fe07806cab68c17627cc420e35377903a71412f1b523d9a",
            "group": "Navigate within documents",
            "group_number": 1,
            "objective_number": 2,
            "objective_id": "MO-110-1.2",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "1. Manage documents",
                "start_line": 46,
                "end_line": 46,
                "span_lf_sha256": "eac7dd8c23123a5777984cac96a71e07b68dfb27c506c57fe53678052ec6cbfb"
              }
            ],
            "reason": "Explains bookmark target/internal hyperlink and post-move test.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains bookmark target/internal hyperlink and post-move test.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Move to specific locations and objects in documents",
            "objective_wording_sha256": "20331dfe2c1305b384de82690f0bf07ca10b122efa2284578b7c2dd0bf5e46a5",
            "group": "Navigate within documents",
            "group_number": 1,
            "objective_number": 3,
            "objective_id": "MO-110-1.3",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "1. Manage documents",
                "start_line": 46,
                "end_line": 46,
                "span_lf_sha256": "eac7dd8c23123a5777984cac96a71e07b68dfb27c506c57fe53678052ec6cbfb"
              }
            ],
            "reason": "Selects Go To for page/section/object.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Selects Go To for page/section/object.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Show and hide formatting symbols and hidden text",
            "objective_wording_sha256": "c38ebcb06520ebb6d8d4696c3f10525c87a2e65833073408f1328611eb5a8b94",
            "group": "Navigate within documents",
            "group_number": 1,
            "objective_number": 4,
            "objective_id": "MO-110-1.4",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "1. Manage documents",
                "start_line": 44,
                "end_line": 46,
                "span_lf_sha256": "414552db15b181d2a82543c7f4dc2525a116e5ff58fdeafd86bfff21265daf33"
              }
            ],
            "reason": "Uses hidden/paragraph visibility diagnostically without deleting content.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses hidden/paragraph visibility diagnostically without deleting content.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Set up document pages",
            "objective_wording_sha256": "febc98884e63c5baefd4111b3a530f1b8de2a6eb2c02075e43375458136aacd0",
            "group": "Format documents",
            "group_number": 2,
            "objective_number": 1,
            "objective_id": "MO-110-2.1",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "Worked production — prepare two distinct deliverables",
                "start_line": 56,
                "end_line": 56,
                "span_lf_sha256": "cf3008efb7025f0a664a3c2b37bc27065eee2f93d430eaa36ada61155596029e"
              }
            ],
            "reason": "The Windows production exercise sets custom margins and required size/orientation in the intended sections and inspects actual layout before creating delivery artifacts.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Page layout named without concrete margin/size/page setup.",
            "initial_reason": "Page layout named without concrete margin/size/page setup.",
            "initial_depth_result": "repair-required",
            "repair_id": "mo110-document-production",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Apply style sets",
            "objective_wording_sha256": "11d3ed9fc9c5b2df4ff1afddd25af64d5cb24006567bd2737196d6bdf15f4f94",
            "group": "Format documents",
            "group_number": 2,
            "objective_number": 2,
            "objective_id": "MO-110-2.2",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "1. Manage documents",
                "start_line": 48,
                "end_line": 48,
                "span_lf_sha256": "fea6931090f9f9bf5e02adb0740fe34b36623488f27247a2fd56ff88ebf4598c"
              }
            ],
            "reason": "Distinguishes coordinated style set from individual style edit.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes coordinated style set from individual style edit.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert and modify headers and footers",
            "objective_wording_sha256": "ece9dbc42ed7d57315581fc4cbbaf08bdf7fbb98200ae760c9b2901326a530b1",
            "group": "Format documents",
            "group_number": 2,
            "objective_number": 3,
            "objective_id": "MO-110-2.3",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "Worked production — prepare two distinct deliverables",
                "start_line": 56,
                "end_line": 56,
                "span_lf_sha256": "cf3008efb7025f0a664a3c2b37bc27065eee2f93d430eaa36ada61155596029e"
              }
            ],
            "reason": "The exercise inserts/edits a header, enters title/document information, checks section linkage and exits editing; it retains existing explanations of independent section header/footer behavior.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Section scope explained but no inserting/modifying header/page-number example.",
            "initial_reason": "Section scope explained but no inserting/modifying header/page-number example.",
            "initial_depth_result": "repair-required",
            "repair_id": "mo110-document-production",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure page background elements",
            "objective_wording_sha256": "b352eb8a8fa00ce55ad24ac77ed2f3486ca4a303107929688871d0caea1e460f",
            "group": "Format documents",
            "group_number": 2,
            "objective_number": 4,
            "objective_id": "MO-110-2.4",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "Worked production — prepare two distinct deliverables",
                "start_line": 56,
                "end_line": 56,
                "span_lf_sha256": "cf3008efb7025f0a664a3c2b37bc27065eee2f93d430eaa36ada61155596029e"
              }
            ],
            "reason": "The production exercise creates a page border through Design/Page Borders and checks preview/printable margins, distinguishing visible appearance from reliable delivered output.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Background choices named without configuring one and checking output.",
            "initial_reason": "Background choices named without configuring one and checking output.",
            "initial_depth_result": "repair-required",
            "repair_id": "mo110-document-production",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Save and export documents in alternative file formats",
            "objective_wording_sha256": "28434f682ba0b737d139af5c0c6be8ddfd77b9c708abb767c34f0483be58e270",
            "group": "Save and share documents",
            "group_number": 3,
            "objective_number": 1,
            "objective_id": "MO-110-3.1",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "Worked production — prepare two distinct deliverables",
                "start_line": 58,
                "end_line": 58,
                "span_lf_sha256": "3635e708205fb5acc3cba338a52f4cdf09bb75d9c80a35e4094394fb26bd0ecd"
              }
            ],
            "reason": "The production workflow preserves an editable DOCX and creates a separate PDF, opens that output independently and compares headings, pagination, table breaks and images instead of assuming export preserves layout.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Save As/export named without selecting format/separate-output workflow.",
            "initial_reason": "Save As/export named without selecting format/separate-output workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "mo110-document-production",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Modify built-in document properties",
            "objective_wording_sha256": "e19f7f24e2065a8d04e1020fb512fa4fdfac2c589f8768897b47c763893e9b0d",
            "group": "Save and share documents",
            "group_number": 3,
            "objective_number": 2,
            "objective_id": "MO-110-3.2",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "Worked production — prepare two distinct deliverables",
                "start_line": 58,
                "end_line": 58,
                "span_lf_sha256": "3635e708205fb5acc3cba338a52f4cdf09bb75d9c80a35e4094394fb26bd0ecd"
              }
            ],
            "reason": "The exercise edits the built-in Title under File/Info, saves/closes/reopens to verify it and distinguishes editable metadata from filename and automatically maintained statistics.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Properties/removal named without modifying a built-in property.",
            "initial_reason": "Properties/removal named without modifying a built-in property.",
            "initial_depth_result": "repair-required",
            "repair_id": "mo110-document-production",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Modify print settings",
            "objective_wording_sha256": "f8cdc42026fe2e3d3af0eb4b26ccd38fbda87bb569e68bf9abbcf93d5c576e0c",
            "group": "Save and share documents",
            "group_number": 3,
            "objective_number": 3,
            "objective_id": "MO-110-3.3",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "Worked production — prepare two distinct deliverables",
                "start_line": 60,
                "end_line": 60,
                "span_lf_sha256": "b78e073e9c14b8fd1f2f71673c4c8649eaa97042a96131ebc4886eb01d8789f8"
              }
            ],
            "reason": "The exercise chooses printer, page range, copies and markup, previews selected pages and contrasts a requested pages-1-and-3 clean output with all-pages/comment output; print selection and PDF export remain distinct.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Print settings named without page-range/markup/copies/preview choices.",
            "initial_reason": "Print settings named without page-range/markup/copies/preview choices.",
            "initial_depth_result": "repair-required",
            "repair_id": "mo110-document-production",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Share documents electronically",
            "objective_wording_sha256": "baf22a9eaccd3724ce08e43b0e8a9d195825d8e144755505131faeccf74c6646",
            "group": "Save and share documents",
            "group_number": 3,
            "objective_number": 4,
            "objective_id": "MO-110-3.4",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "Worked production — prepare two distinct deliverables",
                "start_line": 64,
                "end_line": 64,
                "span_lf_sha256": "e59ff533152d600a66558eda53925c8f2d4bc5dc84607bf0a084d142ecf1946e"
              }
            ],
            "reason": "The cloud collaboration workflow saves an authorized test copy, names the recipient and view/edit permission, tests the recipient and denied edit, and distinguishes a shared-file link from a detached attachment with platform/build limits.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Sharing inspection lacks saved-file/recipient/permission workflow.",
            "initial_reason": "Sharing inspection lacks saved-file/recipient/permission workflow.",
            "initial_depth_result": "repair-required",
            "repair_id": "mo110-document-production",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Locate and remove hidden properties and personal information",
            "objective_wording_sha256": "bb255f24a745656890a2db9e6aed376703fca8463a92b581ceafc30f03b37f08",
            "group": "Inspect documents for issues",
            "group_number": 4,
            "objective_number": 1,
            "objective_id": "MO-110-4.1",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "1. Manage documents",
                "start_line": 52,
                "end_line": 52,
                "span_lf_sha256": "9b6932ba8b27f9296cdd31de83057784c447606e74d419101e71b6e6e6169123"
              }
            ],
            "reason": "Uses Inspector on copy, deliberate categories and visual/PDF reinspection.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses Inspector on copy, deliberate categories and visual/PDF reinspection.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Locate and correct accessibility issues",
            "objective_wording_sha256": "b92cecbe00fa3423820caa9052b8ec16ccc9cc167f5a55ec4ac990be646cfc89",
            "group": "Inspect documents for issues",
            "group_number": 4,
            "objective_number": 2,
            "objective_id": "MO-110-4.2",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "Worked production — prepare two distinct deliverables",
                "start_line": 62,
                "end_line": 62,
                "span_lf_sha256": "583e0dcf4663c9acc552f55f862d27728325dc82461f2bfaca8616b6f122e86a"
              }
            ],
            "reason": "The accessibility workflow opens the checker, navigates a specific finding to its object, applies a meaningful correction such as purposeful alternative text, rechecks and independently inspects reading order/contrast instead of treating a clean checker as proof.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Inspect accessibility instruction lacks locate/fix/recheck or concrete correction.",
            "initial_reason": "Inspect accessibility instruction lacks locate/fix/recheck or concrete correction.",
            "initial_depth_result": "repair-required",
            "repair_id": "mo110-document-production",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Locate and correct compatibility issues",
            "objective_wording_sha256": "81711423883a7c29b495697fa3901ca348404b89a828587e13f0b43b4c5e838b",
            "group": "Inspect documents for issues",
            "group_number": 4,
            "objective_number": 3,
            "objective_id": "MO-110-4.3",
            "domain": "Manage documents (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "1. Manage documents",
                "start_line": 42,
                "end_line": 50,
                "span_lf_sha256": "6982ac12d729399938e0c7340f770f571a9bee6954aeeceb3a3ea2793c9824df"
              }
            ],
            "reason": "Preserves format copy and runs Compatibility Checker for recipient format.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Preserves format copy and runs Compatibility Checker for recipient format.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Find and replace text",
            "objective_wording_sha256": "a663bb4eafd1b3d9aeb0266356424ed425a4f98de606d32b09a51d459e856a85",
            "group": "Insert text",
            "group_number": 5,
            "objective_number": 1,
            "objective_id": "MO-110-5.1",
            "domain": "Insert and format text, paragraphs, and sections (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "2. Text, paragraphs, and sections",
                "start_line": 68,
                "end_line": 70,
                "span_lf_sha256": "32f1d847f71526402cc70083955e4654a73f70d2f627d13d254dc966bb78dbde"
              }
            ],
            "reason": "Constrains replacement by range/pattern and verifies scope.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Constrains replacement by range/pattern and verifies scope.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert symbols and special characters",
            "objective_wording_sha256": "98ae0a999f9fd6ca0d0eef87d89551f9e4d33660d4cc07b48d772aa7ac09cf54",
            "group": "Insert text",
            "group_number": 5,
            "objective_number": 2,
            "objective_id": "MO-110-5.2",
            "domain": "Insert and format text, paragraphs, and sections (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "2. Text, paragraphs, and sections",
                "start_line": 72,
                "end_line": 72,
                "span_lf_sha256": "422df9961af3df359bbdc2d7bcdb38b77a3a29f166ff2c824d3ab6e1abcae598"
              }
            ],
            "reason": "Uses true special character rather than font lookalike.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses true special character rather than font lookalike.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Apply text effects",
            "objective_wording_sha256": "fc82351e09fac5c47ddb8aba49f8f91cdf65ca23be400e77f4e2b72f345b5df9",
            "group": "Format text and paragraphs",
            "group_number": 6,
            "objective_number": 1,
            "objective_id": "MO-110-6.1",
            "domain": "Insert and format text, paragraphs, and sections (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "2. Text, paragraphs, and sections",
                "start_line": 72,
                "end_line": 72,
                "span_lf_sha256": "422df9961af3df359bbdc2d7bcdb38b77a3a29f166ff2c824d3ab6e1abcae598"
              }
            ],
            "reason": "Distinguishes appearance effect from reusable character style.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes appearance effect from reusable character style.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Apply formatting by using Format Painter",
            "objective_wording_sha256": "60253a641b154d45128301ab29b23117a9d075ad3613d5e06225e40ec9795f04",
            "group": "Format text and paragraphs",
            "group_number": 6,
            "objective_number": 2,
            "objective_id": "MO-110-6.2",
            "domain": "Insert and format text, paragraphs, and sections (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "2. Text, paragraphs, and sections",
                "start_line": 72,
                "end_line": 72,
                "span_lf_sha256": "422df9961af3df359bbdc2d7bcdb38b77a3a29f166ff2c824d3ab6e1abcae598"
              }
            ],
            "reason": "Explains Format Painter preserves underlying words.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains Format Painter preserves underlying words.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Set line and paragraph spacing and indentation",
            "objective_wording_sha256": "00edd8a5f2f88965d265af19ab939d8fdc22f28ccb5044845b21e579cf547227",
            "group": "Format text and paragraphs",
            "group_number": 6,
            "objective_number": 3,
            "objective_id": "MO-110-6.3",
            "domain": "Insert and format text, paragraphs, and sections (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "2. Text, paragraphs, and sections",
                "start_line": 68,
                "end_line": 70,
                "span_lf_sha256": "32f1d847f71526402cc70083955e4654a73f70d2f627d13d254dc966bb78dbde"
              }
            ],
            "reason": "Separates spacing/indentation and pagination keep behavior.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates spacing/indentation and pagination keep behavior.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Apply built-in character and paragraph styles",
            "objective_wording_sha256": "dfa12eb87eb3a15716d1b592aa493c8720eb6ead1ba73279672978650cfa0a12",
            "group": "Format text and paragraphs",
            "group_number": 6,
            "objective_number": 4,
            "objective_id": "MO-110-6.4",
            "domain": "Insert and format text, paragraphs, and sections (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "2. Text, paragraphs, and sections",
                "start_line": 68,
                "end_line": 72,
                "span_lf_sha256": "8343f6c229c4b1afc217c5b8f7a5f52f5d1af310855c261f5a9b7c9e88b7dd50"
              }
            ],
            "reason": "Explains direct/style edits and character/paragraph scope.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains direct/style edits and character/paragraph scope.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Clear formatting",
            "objective_wording_sha256": "9e75ec87d1e30f0eb24d167fb27f8f5cd9e38a7e824b759f9a2b6a52e6039b93",
            "group": "Format text and paragraphs",
            "group_number": 6,
            "objective_number": 5,
            "objective_id": "MO-110-6.5",
            "domain": "Insert and format text, paragraphs, and sections (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "2. Text, paragraphs, and sections",
                "start_line": 68,
                "end_line": 72,
                "span_lf_sha256": "8343f6c229c4b1afc217c5b8f7a5f52f5d1af310855c261f5a9b7c9e88b7dd50"
              }
            ],
            "reason": "Clears accidental formatting then rebuilds intended style hierarchy.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Clears accidental formatting then rebuilds intended style hierarchy.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Format text in multiple columns",
            "objective_wording_sha256": "8ed75a3eaf4e1613b3ca3e5faa9862ddb643e0b71318e840e790645f5459872c",
            "group": "Create and configure document sections",
            "group_number": 7,
            "objective_number": 1,
            "objective_id": "MO-110-7.1",
            "domain": "Insert and format text, paragraphs, and sections (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "2. Text, paragraphs, and sections",
                "start_line": 74,
                "end_line": 74,
                "span_lf_sha256": "3fa776158830acd6c3a37318222bf4fc4fd82c251d8b3a5f4f3755c3417e025b"
              }
            ],
            "reason": "Explains column flow and independent section boundary.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains column flow and independent section boundary.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert page, section, and column breaks",
            "objective_wording_sha256": "8bdf2926e0092fa1dca8ed02e601001203cb3260f6155759632a3402a6d36ae1",
            "group": "Create and configure document sections",
            "group_number": 7,
            "objective_number": 2,
            "objective_id": "MO-110-7.2",
            "domain": "Insert and format text, paragraphs, and sections (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "1. Manage documents",
                "start_line": 44,
                "end_line": 52,
                "span_lf_sha256": "d16296c8d55b35942841bf746ef2ea29a0ad43863e6df6905ca0ebba64b61534"
              },
              {
                "heading": "2. Text, paragraphs, and sections",
                "start_line": 68,
                "end_line": 74,
                "span_lf_sha256": "307dc8ececf2e03249cf3ebd36a29c1bfb59f9a5a1e26d9be10bf1486621f5a0"
              }
            ],
            "reason": "Distinguishes page/column/section and landscape isolation.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes page/column/section and landscape isolation.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Change page setup options for a section",
            "objective_wording_sha256": "0f7b698da8c9928f57666359bf31d99baa3564e926263ff4799c9ddff1ae25e0",
            "group": "Create and configure document sections",
            "group_number": 7,
            "objective_number": 3,
            "objective_id": "MO-110-7.3",
            "domain": "Insert and format text, paragraphs, and sections (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "2. Text, paragraphs, and sections",
                "start_line": 74,
                "end_line": 74,
                "span_lf_sha256": "3fa776158830acd6c3a37318222bf4fc4fd82c251d8b3a5f4f3755c3417e025b"
              }
            ],
            "reason": "Creates middle-section boundaries and checks linkage.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Creates middle-section boundaries and checks linkage.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Convert text to tables",
            "objective_wording_sha256": "bfc004ed21cd015f5e4914e0f64c968bb8b88c1fc713203f0355b637f108be54",
            "group": "Create tables",
            "group_number": 8,
            "objective_number": 1,
            "objective_id": "MO-110-8.1",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 78,
                "end_line": 82,
                "span_lf_sha256": "e1f52588aa0af033e7889ba2295ee5e9c2f30999aeb0e4f0cf8d54ce11bbe35d"
              }
            ],
            "reason": "Uses delimiter absent from data and verifies record round-trip.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses delimiter absent from data and verifies record round-trip.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Convert tables to text",
            "objective_wording_sha256": "8994b94c5dc176f4990871b1b53bc57aba9ac963e50448c632bec7e8a9bf6c7f",
            "group": "Create tables",
            "group_number": 8,
            "objective_number": 2,
            "objective_id": "MO-110-8.2",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 78,
                "end_line": 82,
                "span_lf_sha256": "e1f52588aa0af033e7889ba2295ee5e9c2f30999aeb0e4f0cf8d54ce11bbe35d"
              }
            ],
            "reason": "Preserves delimiters/records during reverse conversion.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Preserves delimiters/records during reverse conversion.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Create tables by specifying rows and columns",
            "objective_wording_sha256": "46f7337c728a407ccb76648f7b927b97c2d05afb58a5398aa193670faf77cb2c",
            "group": "Create tables",
            "group_number": 8,
            "objective_number": 3,
            "objective_id": "MO-110-8.3",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "Worked build — a table with a predictable shape",
                "start_line": 88,
                "end_line": 88,
                "span_lf_sha256": "822c61c89858c8ee3c9c687fac87385d5b649aefc5e0fad7400a8678e9cdaad1"
              }
            ],
            "reason": "The table exercise selects explicit row/column dimensions, enters a header plus three records, verifies twelve native cells, sorts with a real header and checks that quantity remains attached to its item; it preserves a copy before structural changes.",
            "initial_flag_disposition": "resolved; substantive worked treatment",
            "historical_disposition": "resolved; substantive worked treatment",
            "initial_flag_reason": "Dimensions named without concrete insertion and resulting structure.",
            "initial_reason": "Dimensions named without concrete insertion and resulting structure.",
            "initial_depth_result": "repair-required",
            "repair_id": "mo110-table-construction",
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Sort table data",
            "objective_wording_sha256": "c5de8d967393c61db56ce183ff526bd48d797ec9c9492729ac5f07f6a88a5df4",
            "group": "Modify tables",
            "group_number": 9,
            "objective_number": 1,
            "objective_id": "MO-110-9.1",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 78,
                "end_line": 82,
                "span_lf_sha256": "e1f52588aa0af033e7889ba2295ee5e9c2f30999aeb0e4f0cf8d54ce11bbe35d"
              }
            ],
            "reason": "Selects header/data types and checks merged structure before sorting.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Selects header/data types and checks merged structure before sorting.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure cell margins and spacing",
            "objective_wording_sha256": "90cd80769b37c09d22cf12ac1d5794b971a188513529d1ccc83199dc7e0b4699",
            "group": "Modify tables",
            "group_number": 9,
            "objective_number": 2,
            "objective_id": "MO-110-9.2",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 82,
                "end_line": 82,
                "span_lf_sha256": "b3a5105cadf30eb796e8be71e41d0c0c008be03aa72667dbe9624f8c2bb3be73"
              }
            ],
            "reason": "Distinguishes inset margins from intercell spacing.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes inset margins from intercell spacing.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Merge and split cells",
            "objective_wording_sha256": "0eaed2fb9e6467f15c6c2e6c8178f5f7a30ef9bc54050bb3bd81ac6f853c32f2",
            "group": "Modify tables",
            "group_number": 9,
            "objective_number": 3,
            "objective_id": "MO-110-9.3",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 82,
                "end_line": 82,
                "span_lf_sha256": "b3a5105cadf30eb796e8be71e41d0c0c008be03aa72667dbe9624f8c2bb3be73"
              }
            ],
            "reason": "Separates cell subdivision/table split and checks structure.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates cell subdivision/table split and checks structure.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Resize tables, rows, and columns",
            "objective_wording_sha256": "b629d167a7a981271f964350f2e48b622f997bb78e09c43efc101720ee7c664a",
            "group": "Modify tables",
            "group_number": 9,
            "objective_number": 4,
            "objective_id": "MO-110-9.4",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 78,
                "end_line": 78,
                "span_lf_sha256": "986f36056e56afd19ba52320ca0ab5c15c5dd7c78936266c8087dd29c19e3743"
              }
            ],
            "reason": "Distinguishes dimensions/AutoFit and post-edit stability.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes dimensions/AutoFit and post-edit stability.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Split tables",
            "objective_wording_sha256": "80198ebde7205824e7edbeec0dc7b41909d46553ec5beff6a17d81463ea126c0",
            "group": "Modify tables",
            "group_number": 9,
            "objective_number": 5,
            "objective_id": "MO-110-9.5",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 82,
                "end_line": 82,
                "span_lf_sha256": "b3a5105cadf30eb796e8be71e41d0c0c008be03aa72667dbe9624f8c2bb3be73"
              }
            ],
            "reason": "Explains separate-table result versus split cell.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains separate-table result versus split cell.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Configure a repeating row header",
            "objective_wording_sha256": "130628b218eae76664626728b4dd057066243def766ff19af5b2908510407b5a",
            "group": "Modify tables",
            "group_number": 9,
            "objective_number": 6,
            "objective_id": "MO-110-9.6",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 84,
                "end_line": 84,
                "span_lf_sha256": "bb817a94cc4ad6a50c40fe3555ae6a77b1d25a140c7d07ed556c63e7eb55b485"
              }
            ],
            "reason": "Selects repeat rows from first row and diagnoses manual-break interference.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Selects repeat rows from first row and diagnoses manual-break interference.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Format paragraphs as numbered and bulleted lists",
            "objective_wording_sha256": "d8d58f8e0f1b1903d8486c53850368461db7aec5e2033bf527eeb13daf957051",
            "group": "Create and modify lists",
            "group_number": 10,
            "objective_number": 1,
            "objective_id": "MO-110-10.1",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 80,
                "end_line": 82,
                "span_lf_sha256": "28afaf4662a348ec6d90a1865c46031a6158da6a2c666f2df5a21819fbd66781"
              }
            ],
            "reason": "Distinguishes bullet/number/multilevel and stable list definition.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes bullet/number/multilevel and stable list definition.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Change bullet characters and number formats",
            "objective_wording_sha256": "2a25dba7c61f5b94d542300ab03966d1544b626fb20cd9e05d34942c5a8a1b46",
            "group": "Create and modify lists",
            "group_number": 10,
            "objective_number": 2,
            "objective_id": "MO-110-10.2",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 82,
                "end_line": 82,
                "span_lf_sha256": "b3a5105cadf30eb796e8be71e41d0c0c008be03aa72667dbe9624f8c2bb3be73"
              }
            ],
            "reason": "Uses consistent symbol/number format rather than spaces/digits.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses consistent symbol/number format rather than spaces/digits.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Define custom bullet characters and number formats",
            "objective_wording_sha256": "c732bef2e07172a7c8601c14a7421d8c1cbad2c80ee7bbff3555a9e82ee84fdf",
            "group": "Create and modify lists",
            "group_number": 10,
            "objective_number": 3,
            "objective_id": "MO-110-10.3",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 82,
                "end_line": 82,
                "span_lf_sha256": "b3a5105cadf30eb796e8be71e41d0c0c008be03aa72667dbe9624f8c2bb3be73"
              }
            ],
            "reason": "Uses shared custom definition and editing durability.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses shared custom definition and editing durability.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Increase and decrease list levels",
            "objective_wording_sha256": "87ce8dfa53ebce7942883f7a1a31dae28e7bae32cce1c42cf477ced0076f2c43",
            "group": "Create and modify lists",
            "group_number": 10,
            "objective_number": 4,
            "objective_id": "MO-110-10.4",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 82,
                "end_line": 82,
                "span_lf_sha256": "b3a5105cadf30eb796e8be71e41d0c0c008be03aa72667dbe9624f8c2bb3be73"
              }
            ],
            "reason": "Contrasts list-level operation with spaces.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Contrasts list-level operation with spaces.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Start, restart, and continue list numbering",
            "objective_wording_sha256": "c1aa86c3dfe6d37658b6d72815127c46406f04faf75dde75dcb8b5b3effad453",
            "group": "Create and modify lists",
            "group_number": 10,
            "objective_number": 5,
            "objective_id": "MO-110-10.5",
            "domain": "Manage tables and lists (20–25%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "3. Tables and lists",
                "start_line": 80,
                "end_line": 82,
                "span_lf_sha256": "28afaf4662a348ec6d90a1865c46031a6158da6a2c666f2df5a21819fbd66781"
              }
            ],
            "reason": "Chooses restart/continue intentionally and avoids manual numbers.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Chooses restart/continue intentionally and avoids manual numbers.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert footnotes and endnotes",
            "objective_wording_sha256": "a6f075de0e2a2c73e2dd8c3c768e718e320a9f63303170251a63a99a4fa5a43a",
            "group": "Create and manage footnotes and endnotes",
            "group_number": 11,
            "objective_number": 1,
            "objective_id": "MO-110-11.1",
            "domain": "Create and manage references (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "4. References",
                "start_line": 92,
                "end_line": 94,
                "span_lf_sha256": "633539b6706c90b022ef82c341217cdbbbfcbfa14a147cffeff9bb5ffa2cd22b"
              }
            ],
            "reason": "Distinguishes reference mark and note placement.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes reference mark and note placement.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Modify footnote and endnote properties",
            "objective_wording_sha256": "7cced7eb4997de8f5dbce09f909802459623a4c7b41dd31944bb90299b3a984f",
            "group": "Create and manage footnotes and endnotes",
            "group_number": 11,
            "objective_number": 2,
            "objective_id": "MO-110-11.2",
            "domain": "Create and manage references (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "4. References",
                "start_line": 94,
                "end_line": 94,
                "span_lf_sha256": "8a73a6e431212a3b5ae4dcff03c223d3b72da70ceb1d348fa643f4d907b6882a"
              }
            ],
            "reason": "Configures location/number/restart and checks reference/note together.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Configures location/number/restart and checks reference/note together.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert tables of contents",
            "objective_wording_sha256": "a00bce0a4ff708ff73e36d6d1272333a24dfb6d391361a209b1ff55ff340e705",
            "group": "Create and manage tables of contents",
            "group_number": 12,
            "objective_number": 1,
            "objective_id": "MO-110-12.1",
            "domain": "Create and manage references (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "4. References",
                "start_line": 92,
                "end_line": 96,
                "span_lf_sha256": "3c35f317d1590441d5e947d1327b97b725aaf31cc59ea85ad383185c0c78fc84"
              }
            ],
            "reason": "Uses heading-based fields/navigation after edits.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses heading-based fields/navigation after edits.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Customize tables of contents",
            "objective_wording_sha256": "447bb31c3790e6591e189c9c41dba51854332be9b990b6dff87def0dc6cded41",
            "group": "Create and manage tables of contents",
            "group_number": 12,
            "objective_number": 2,
            "objective_id": "MO-110-12.2",
            "domain": "Create and manage references (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "4. References",
                "start_line": 96,
                "end_line": 96,
                "span_lf_sha256": "472b61d6afd1e165cd3f531b44829df0b82faf89d87b89a39bd0cc3c6bdc41fc"
              }
            ],
            "reason": "Chooses depth/alignment/leader and full update for renamed headings.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Chooses depth/alignment/leader and full update for renamed headings.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert shapes",
            "objective_wording_sha256": "b842df8164a678e65eae99ca65409a32734bd5d96244f0165d5d33c76e4f2c20",
            "group": "Insert illustrations and text boxes",
            "group_number": 13,
            "objective_number": 1,
            "objective_id": "MO-110-13.1",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 100,
                "end_line": 102,
                "span_lf_sha256": "41c5b2cbf899a9d6e71f17b2a59a8e4abb258146f161a2ef0e56290d97cb3fba"
              }
            ],
            "reason": "Uses native editable shape and text rather than flat image.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses native editable shape and text rather than flat image.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert pictures",
            "objective_wording_sha256": "c4575b6570d8c584b99cdf728408d2483e28b435db78f3292ecb2663c0fbb892",
            "group": "Insert illustrations and text boxes",
            "group_number": 13,
            "objective_number": 2,
            "objective_id": "MO-110-13.2",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 100,
                "end_line": 102,
                "span_lf_sha256": "41c5b2cbf899a9d6e71f17b2a59a8e4abb258146f161a2ef0e56290d97cb3fba"
              }
            ],
            "reason": "Distinguishes picture/effects/background/crop and layout inspection.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes picture/effects/background/crop and layout inspection.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert 3D models",
            "objective_wording_sha256": "fb1952d6685a43d37b38ebcc60b97bf931e3a3e32565846c073ff1e2b8b70ea0",
            "group": "Insert illustrations and text boxes",
            "group_number": 13,
            "objective_number": 3,
            "objective_id": "MO-110-13.3",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 104,
                "end_line": 104,
                "span_lf_sha256": "a9a5574e8a8b08ba771b467c5383560d800872f9c49e5e04e86b3c5f0f1e44e9"
              }
            ],
            "reason": "Inserts local model and selects view/size/place/text equivalent.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Inserts local model and selects view/size/place/text equivalent.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert SmartArt graphics",
            "objective_wording_sha256": "428f28c627f1b72fd8e93a857e3bf21dda3ed058245b31f906b886fea6ce9ed1",
            "group": "Insert illustrations and text boxes",
            "group_number": 13,
            "objective_number": 4,
            "objective_id": "MO-110-13.4",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "2a848bbd3ab50b25672723fef0c23ab921cdf9fadfc2a4ad3fd8cf5defc415a1"
              }
            ],
            "reason": "Uses editable SmartArt nodes and text pane.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses editable SmartArt nodes and text pane.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert screenshots and screen clippings",
            "objective_wording_sha256": "3745f3de786f11b940e6dfde80569653f7cfd5df370daeabf7be5d6252b0159a",
            "group": "Insert illustrations and text boxes",
            "group_number": 13,
            "objective_number": 5,
            "objective_id": "MO-110-13.5",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "2a848bbd3ab50b25672723fef0c23ab921cdf9fadfc2a4ad3fd8cf5defc415a1"
              }
            ],
            "reason": "Distinguishes full screenshot from selected clipping.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes full screenshot from selected clipping.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert text boxes",
            "objective_wording_sha256": "9d09746641ab8288522dabe95cdee9730eafa39b9eaea9a7239a707d00caecd2",
            "group": "Insert illustrations and text boxes",
            "group_number": 13,
            "objective_number": 6,
            "objective_id": "MO-110-13.6",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "2a848bbd3ab50b25672723fef0c23ab921cdf9fadfc2a4ad3fd8cf5defc415a1"
              }
            ],
            "reason": "Uses native editable text box and wrapping.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Uses native editable text box and wrapping.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Insert icons",
            "objective_wording_sha256": "fc7dfdb5414884551e3955b8f2623746ccabe8b7320b91b3b8eb03e2cb2c0962",
            "group": "Insert illustrations and text boxes",
            "group_number": 13,
            "objective_number": 7,
            "objective_id": "MO-110-13.7",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 100,
                "end_line": 102,
                "span_lf_sha256": "41c5b2cbf899a9d6e71f17b2a59a8e4abb258146f161a2ef0e56290d97cb3fba"
              }
            ],
            "reason": "Practices distinct icon object and native editability.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Practices distinct icon object and native editability.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Apply artistic effects",
            "objective_wording_sha256": "90a02a4366d33774d35cd98891d642d44f10ad8b7e5f946f7aa2abc8ff144249",
            "group": "Format illustrations and text boxes",
            "group_number": 14,
            "objective_number": 1,
            "objective_id": "MO-110-14.1",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "2a848bbd3ab50b25672723fef0c23ab921cdf9fadfc2a4ad3fd8cf5defc415a1"
              }
            ],
            "reason": "Distinguishes rendering effect from picture framing/style.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes rendering effect from picture framing/style.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Apply picture effects and picture styles",
            "objective_wording_sha256": "d68090ab5848024866514abd0293c9c5978077cce13f94deae6d134b3a7fd7b3",
            "group": "Format illustrations and text boxes",
            "group_number": 14,
            "objective_number": 2,
            "objective_id": "MO-110-14.2",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "2a848bbd3ab50b25672723fef0c23ab921cdf9fadfc2a4ad3fd8cf5defc415a1"
              }
            ],
            "reason": "Explains coordinated framing/effects versus picture content.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains coordinated framing/effects versus picture content.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Remove picture backgrounds",
            "objective_wording_sha256": "aeae7a82cd635a1a32adfce3b9f55de6a90a9c327b73d7fd86e6907faea27f33",
            "group": "Format illustrations and text boxes",
            "group_number": 14,
            "objective_number": 3,
            "objective_id": "MO-110-14.3",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "2a848bbd3ab50b25672723fef0c23ab921cdf9fadfc2a4ad3fd8cf5defc415a1"
              }
            ],
            "reason": "Inspects and refines keep/remove foreground, distinct from crop.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Inspects and refines keep/remove foreground, distinct from crop.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Format graphic elements",
            "objective_wording_sha256": "9d40e17b834c3be6cd3d66c04de06fea9318266e8b7499329f9cdaa85d1d1cf9",
            "group": "Format illustrations and text boxes",
            "group_number": 14,
            "objective_number": 4,
            "objective_id": "MO-110-14.4",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 100,
                "end_line": 104,
                "span_lf_sha256": "31eae6bde7087fbdf2fc487edf339d444d8f53caf3d95f47445287a529c03009"
              }
            ],
            "reason": "Explains crop/align/distribute/group/layer/rotate and export check.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains crop/align/distribute/group/layer/rotate and export check.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Format SmartArt graphics",
            "objective_wording_sha256": "f44e4a472394551a9ec3c083c486223390aa53cd771ea819896dc89782fa43e8",
            "group": "Format illustrations and text boxes",
            "group_number": 14,
            "objective_number": 5,
            "objective_id": "MO-110-14.5",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "2a848bbd3ab50b25672723fef0c23ab921cdf9fadfc2a4ad3fd8cf5defc415a1"
              }
            ],
            "reason": "Keeps nodes/content editable instead of flattening.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Keeps nodes/content editable instead of flattening.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Format 3D models",
            "objective_wording_sha256": "628b8b5289c8690308bdbb6758cdde06dc6fc685af3a58d6e1dd7e04de2dc9bd",
            "group": "Format illustrations and text boxes",
            "group_number": 14,
            "objective_number": 6,
            "objective_id": "MO-110-14.6",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 104,
                "end_line": 104,
                "span_lf_sha256": "a9a5574e8a8b08ba771b467c5383560d800872f9c49e5e04e86b3c5f0f1e44e9"
              }
            ],
            "reason": "Separates 3D viewpoint from frame rotation and PDF behavior.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates 3D viewpoint from frame rotation and PDF behavior.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Add and modify text in text boxes",
            "objective_wording_sha256": "820d14d111823c3622a41db24863edb522454e9a1972b30ab1d091e16f6baa48",
            "group": "Add text to graphic elements",
            "group_number": 15,
            "objective_number": 1,
            "objective_id": "MO-110-15.1",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "2a848bbd3ab50b25672723fef0c23ab921cdf9fadfc2a4ad3fd8cf5defc415a1"
              }
            ],
            "reason": "Adds/revises native text independent of graphic shape.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Adds/revises native text independent of graphic shape.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Add and modify text in shapes",
            "objective_wording_sha256": "698fa7343fd31a6bea911ce13c16c00af2189bfa31ec348946b827d5d1eeb214",
            "group": "Add text to graphic elements",
            "group_number": 15,
            "objective_number": 2,
            "objective_id": "MO-110-15.2",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "2a848bbd3ab50b25672723fef0c23ab921cdf9fadfc2a4ad3fd8cf5defc415a1"
              }
            ],
            "reason": "Edits shape text without flattening diagram.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Edits shape text without flattening diagram.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Add and modify SmartArt graphic content",
            "objective_wording_sha256": "ed2d05a2529bc33cb29144bbfbcf38081728ed013ab67c708c9be9c38d95d29f",
            "group": "Add text to graphic elements",
            "group_number": 15,
            "objective_number": 3,
            "objective_id": "MO-110-15.3",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "2a848bbd3ab50b25672723fef0c23ab921cdf9fadfc2a4ad3fd8cf5defc415a1"
              }
            ],
            "reason": "Edits SmartArt node content through text pane.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Edits SmartArt node content through text pane.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Position objects",
            "objective_wording_sha256": "612ec9d21c459016929d0762583376cc626532b855e543acea6f6ce710056ebc",
            "group": "Modify graphic elements",
            "group_number": 16,
            "objective_number": 1,
            "objective_id": "MO-110-16.1",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 100,
                "end_line": 104,
                "span_lf_sha256": "31eae6bde7087fbdf2fc487edf339d444d8f53caf3d95f47445287a529c03009"
              }
            ],
            "reason": "Explains inline/anchored position and output stability.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains inline/anchored position and output stability.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Wrap text around objects",
            "objective_wording_sha256": "fa9e2fb26cf875977c37a3e9f85815102f9a513db36e4c491538d7dd0b8012ae",
            "group": "Modify graphic elements",
            "group_number": 16,
            "objective_number": 2,
            "objective_id": "MO-110-16.2",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 100,
                "end_line": 100,
                "span_lf_sha256": "8ceabc0bf18f39898cd5304cff65cc79551ab2a56f90afe4eaf62bb68a14386b"
              }
            ],
            "reason": "Distinguishes wrap/anchor behavior and proportional layout.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes wrap/anchor behavior and proportional layout.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Add alternative text to objects",
            "objective_wording_sha256": "fe2883ff02890737f7fc51dd60028dfe4e281c8d5021081b77a6eb670c0def41",
            "group": "Modify graphic elements",
            "group_number": 16,
            "objective_number": 3,
            "objective_id": "MO-110-16.3",
            "domain": "Insert and format graphic elements (15–20%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "5. Graphic elements",
                "start_line": 100,
                "end_line": 100,
                "span_lf_sha256": "8ceabc0bf18f39898cd5304cff65cc79551ab2a56f90afe4eaf62bb68a14386b"
              }
            ],
            "reason": "Requires informative alt text and decorative only for noninformation.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Requires informative alt text and decorative only for noninformation.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Add comments",
            "objective_wording_sha256": "299940a5ffecd004157f658b71834dba116e5bb7013a99c37ca64daa0adb3f3d",
            "group": "Add and manage comments",
            "group_number": 17,
            "objective_number": 1,
            "objective_id": "MO-110-17.1",
            "domain": "Manage document collaboration (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "6. Collaboration",
                "start_line": 108,
                "end_line": 110,
                "span_lf_sha256": "56145150bc1441b1a2241c9ee22d8f70db9ebe6b356eb942e0ae6b8ef11ff7e0"
              }
            ],
            "reason": "Adds/manages discussion separate from text revision.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Adds/manages discussion separate from text revision.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Review and reply to comments",
            "objective_wording_sha256": "1d3fd03d1ca74374499109fade73d81cc19d6f0dc5ea7fcf279bf601b004d68d",
            "group": "Add and manage comments",
            "group_number": 17,
            "objective_number": 2,
            "objective_id": "MO-110-17.2",
            "domain": "Manage document collaboration (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "6. Collaboration",
                "start_line": 108,
                "end_line": 110,
                "span_lf_sha256": "56145150bc1441b1a2241c9ee22d8f70db9ebe6b356eb942e0ae6b8ef11ff7e0"
              }
            ],
            "reason": "Reviews/replies and separates author/change type from acceptance.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Reviews/replies and separates author/change type from acceptance.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Resolve comments",
            "objective_wording_sha256": "fffd693caebc86ac7d3ce084e20ef18b9973edb7c85ad0397cc5a6fdb0f59ac8",
            "group": "Add and manage comments",
            "group_number": 17,
            "objective_number": 3,
            "objective_id": "MO-110-17.3",
            "domain": "Manage document collaboration (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "6. Collaboration",
                "start_line": 110,
                "end_line": 110,
                "span_lf_sha256": "ade376a92b01c673060201b8db0e22794d1de939838afc68785f3f7bf8e79705"
              }
            ],
            "reason": "Distinguishes resolved discussion from deletion/text disposition.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Distinguishes resolved discussion from deletion/text disposition.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Delete comments",
            "objective_wording_sha256": "ad29fcec38875134b913591b7aec89c79123a5ec825cae11695604b5067d8a18",
            "group": "Add and manage comments",
            "group_number": 17,
            "objective_number": 4,
            "objective_id": "MO-110-17.4",
            "domain": "Manage document collaboration (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "6. Collaboration",
                "start_line": 110,
                "end_line": 110,
                "span_lf_sha256": "ade376a92b01c673060201b8db0e22794d1de939838afc68785f3f7bf8e79705"
              }
            ],
            "reason": "Separates removal from accepted revisions and preserves review copy.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Separates removal from accepted revisions and preserves review copy.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Track changes",
            "objective_wording_sha256": "78316af9499cb85cb509b40f7c964d08e7d47a4426e9074b65b01bb88c25b68e",
            "group": "Manage change tracking",
            "group_number": 18,
            "objective_number": 1,
            "objective_id": "MO-110-18.1",
            "domain": "Manage document collaboration (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "6. Collaboration",
                "start_line": 108,
                "end_line": 110,
                "span_lf_sha256": "56145150bc1441b1a2241c9ee22d8f70db9ebe6b356eb942e0ae6b8ef11ff7e0"
              }
            ],
            "reason": "Explains recorded edit categories and off/hidden/accepted states.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Explains recorded edit categories and off/hidden/accepted states.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Review tracked changes",
            "objective_wording_sha256": "ad0757c97d8cbbd8bdd2938c07ef50dea103174ffe1cc9622d610f776ee2ad78",
            "group": "Manage change tracking",
            "group_number": 18,
            "objective_number": 2,
            "objective_id": "MO-110-18.2",
            "domain": "Manage document collaboration (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "6. Collaboration",
                "start_line": 108,
                "end_line": 110,
                "span_lf_sha256": "56145150bc1441b1a2241c9ee22d8f70db9ebe6b356eb942e0ae6b8ef11ff7e0"
              }
            ],
            "reason": "Reviews author/type and reveals pending revisions.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Reviews author/type and reveals pending revisions.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Accept and reject tracked changes",
            "objective_wording_sha256": "d334d700e8d46a107622198864d922647d35e3faff82a13a5d7e33f3f2606899",
            "group": "Manage change tracking",
            "group_number": 18,
            "objective_number": 3,
            "objective_id": "MO-110-18.3",
            "domain": "Manage document collaboration (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "6. Collaboration",
                "start_line": 108,
                "end_line": 110,
                "span_lf_sha256": "56145150bc1441b1a2241c9ee22d8f70db9ebe6b356eb942e0ae6b8ef11ff7e0"
              }
            ],
            "reason": "Accepts/rejects deliberately and preserves review copy.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Accepts/rejects deliberately and preserves review copy.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          },
          {
            "wording": "Lock and unlock change tracking",
            "objective_wording_sha256": "dbb0eb046e6a1261ce62bf16fbfa127b42cb1a78b4c958560a79808fd5c3321f",
            "group": "Manage change tracking",
            "group_number": 18,
            "objective_number": 4,
            "objective_id": "MO-110-18.4",
            "domain": "Manage document collaboration (5–10%)",
            "version": "Detailed current MO-110 official PDF tasks; separate from coarse accepted adapter",
            "evidence_spans": [
              {
                "heading": "6. Collaboration",
                "start_line": 110,
                "end_line": 110,
                "span_lf_sha256": "ade376a92b01c673060201b8db0e22794d1de939838afc68785f3f7bf8e79705"
              }
            ],
            "reason": "Specifies lock/unlock and unlock before accepting/rejecting.",
            "initial_flag_disposition": "not initially flagged; substantive teaching retained and reread",
            "historical_disposition": "not initially flagged; substantive teaching retained and reread",
            "initial_flag_reason": null,
            "initial_reason": "Specifies lock/unlock and unlock before accepting/rejecting.",
            "initial_depth_result": "adequate",
            "repair_id": null,
            "depth_result": "substantive",
            "execution": "Not executed; teaching and proposed expected checks only.",
            "depth": "Substantive explanation, decision or configuration workflow with applicable examples/failure checks."
          }
        ],
        "accepted_baseline_scope": "Six coarse domain names; raw accepted baseline remains unchanged. No claim that detailed task wordings are substrings of this accepted snapshot.",
        "supplemental_detailed_objective_evidence": {
          "url": "https://arch-center.azureedge.net/Learning/Credentials/MO-110_OD_MOS365_Word.pdf",
          "pdf_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-mo110-skills.pdf",
          "pdf_raw_sha256": "ab1ecc06ab88436e02d86dfdc926aebecc95a54b30eb3a74ac9f13a53947155d",
          "pdf_pages_read": [
            1,
            2,
            3
          ],
          "extracted_text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-mo110-skills.txt",
          "extracted_text_raw_sha256": "c666a8f69332a0ff23ec999c2f596e02b8799352d439f58b98fdb8c3cb73c849",
          "extracted_text_lf_sha256": "c666a8f69332a0ff23ec999c2f596e02b8799352d439f58b98fdb8c3cb73c849",
          "extraction_method": "pypdf PdfReader page.extract_text(), all three pages joined with LF; complete output retained. Individual task whitespace normalized only for wording hashes.",
          "detailed_task_count": 70,
          "detailed_group_count": 18,
          "normalized_task_list_sha256": "70f4489bcf4b803536d1247509cb8f2a0f6761734b9f4cb97c962a7301285407",
          "durability_note": "Coordinator should retain these supplemental bytes/text in a dated objective artifact or review ledger; do not replace or misdescribe the coarse accepted baseline."
        },
        "accepted_status_raw_sha256": "6e8a29ea37892c43a7addf1cd7d6f3b0c6cc21cf453b20e6a2b33fab01fce989"
      },
      {
        "exam_code": "MO-111",
        "guide_path": "guides/MO-111-microsoft-word-expert-microsoft-365-apps.md",
        "guide_lf_sha256": "916671ccfcd7239e5a003449808c9db71f8a2588166030d10541f570c021eaa5",
        "objective_raw_sha256": "0db958488191b514b8598df0288463d19a4cc9b1f7fa81b3855850e6945c8fbc",
        "objective_count": 47,
        "group_count": 14,
        "domain_count": 4,
        "accepted_objective_path": "data/objective-snapshots/mo-111-official-objectives.txt",
        "accepted_objective_scope": "coarse official page domains only",
        "accepted_status_path": "data/objective-snapshots/mo-111-official-status.json",
        "accepted_status_raw_sha256": "b8ee8667b7a0040f13cabb9a663407fcf19b99e70c18ec50b982ae17c32d26bb",
        "detailed_objective_evidence": {
          "url": "https://arch-center.azureedge.net/Learning/Credentials/MO-111_OD_MOS365_WordExpert.pdf",
          "pdf_raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo111-skills.pdf",
          "pdf_raw_sha256": "d2786433aad5c9f4264d046d660520c6d64c3225a2434cfd1e55539bebf117db",
          "pdf_page_count": 3,
          "pdf_extracted_text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-plain-mo111.txt",
          "pdf_extracted_text_raw_sha256": "b8528bbea02572f0d133b7bf20de3bea2a87c4ff3882382d86a5c31c69d6c237",
          "layout_extraction_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo111-skills.txt",
          "layout_extraction_raw_sha256": "31bcf9fbe756bc2bc26ad52d587244fcfd67baf5001bb36c8021d7ee1b448c57",
          "detailed_task_text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-current-mo111-detailed-tasks.txt",
          "detailed_task_text_raw_sha256": "184b008cf2873376de19540b47e8de3beed1c85e5bd78c5fccc4e4275d2f1f7f",
          "task_extraction_rule": "Ordered detailed PDF bullets; collapsed whitespace/continued wrapped bullet lines; one complete task per LF-terminated line. Domain/group identity retained in current_mapping.",
          "coarse_snapshot_relationship": "Accepted objective snapshot contains only broad domains. Its raw hash is separate; detailed task wording/hash is bound to this official PDF and captured extraction, not asserted to occur in the coarse accepted text."
        },
        "capture_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-111-microsoft-word-expert-microsoft-365-apps.md",
        "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-111.diff",
        "diff_raw_sha256": "9fb9274de7260cbfa4e84a944d99daba916481cdc2b610d9db039492e151a535",
        "current_mapping": [
          {
            "objective_id": "MO-111-1.1",
            "wording": "Modify existing document templates",
            "objective_wording_sha256": "0a33391a0ea0773cf958ead62f83f3c63107dd72487b113fe847600720546e2e",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Manage documents and templates",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Document options and settings",
                "start_line": 46,
                "end_line": 46,
                "span_lf_sha256": "0ac0ca6d34a7a2d291af9c6aca6e83e8bfb0f1208d716d9c95121a0f0ebf11e1"
              },
              {
                "heading": "Worked examples",
                "start_line": 130,
                "end_line": 130,
                "span_lf_sha256": "0aad11f1f35e63307ba8d35560c101fe6d26d2cb74ab2f849b14d62998054839"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Opens and saves the actual template rather than a derived document, preserves the master and verifies a newly created document inherits the change.",
            "repair_packet_ids": [
              "word-dependency-and-protection",
              "word-review-artifact"
            ],
            "selected_section_keys": [
              "template",
              "templateexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-1.2",
            "wording": "Manage document versions",
            "objective_wording_sha256": "e34c6a7eaac266ffcb339236172745374948d513ca158665afc1b9d312e83f2b",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Manage documents and templates",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Document options and settings",
                "start_line": 52,
                "end_line": 52,
                "span_lf_sha256": "f1d887720e9f06199d4dd1fd4cd00bffc8ebc24a4fcd31d7393a69fee3181a61"
              },
              {
                "heading": "Hands-on labs",
                "start_line": 153,
                "end_line": 153,
                "span_lf_sha256": "988162c75a1a9484275711d3859450a21809c4819454ddeb312d6687a5cdb788"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Explains storage-dependent revision retrieval separately from comparison/combination and asks for a retained source/revision trail in the review lab.",
            "repair_packet_ids": [
              "word-dependency-and-protection",
              "word-review-artifact"
            ],
            "selected_section_keys": [
              "versions",
              "lab6"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-1.3",
            "wording": "Compare and combine multiple documents",
            "objective_wording_sha256": "a91b8a928db1bf7cb8953a1dc65d0fbf74d0c329f843738f374c80465b8ab386",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Manage documents and templates",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "1. Document options and settings",
                "start_line": 48,
                "end_line": 48,
                "span_lf_sha256": "8cdacaec3e7279cab19ee152b0e2a740e9c68951205747baecbf5f9c2294d976"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Compares Original 10-day wording with Revised 15-day wording into a new artifact, then combines labeled reviewer contributions and deliberately resolves them.",
            "repair_packet_ids": [
              "word-dependency-and-protection",
              "word-review-artifact"
            ],
            "selected_section_keys": [
              "compare"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-1.4",
            "wording": "Link to external document content",
            "objective_wording_sha256": "392469b0b5bc68f1a12f294f141f1911af0b2b35c9cee3c43b2549aac49b8f0b",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Manage documents and templates",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked document dependency and protection check",
                "start_line": 56,
                "end_line": 56,
                "span_lf_sha256": "22ed58a7699e8b3bde1a75605ec73e582b1e1b5369a01affc1fc622dc3f5329a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Inserts a linked source object, changes and updates it, then renames/restores the source to distinguish cached content, refresh and an embedded independent copy.",
            "repair_packet_ids": [
              "word-dependency-and-protection",
              "word-review-artifact"
            ],
            "selected_section_keys": [
              "link"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-1.5",
            "wording": "Enable macros in a document",
            "objective_wording_sha256": "24af9c369e3025723ffdb43d7e1540fcc366985e374426219b2d2f9afb417178",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Manage documents and templates",
            "group_number": 1,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "4. Advanced features",
                "start_line": 116,
                "end_line": 116,
                "span_lf_sha256": "ea8c61a758c3fe800beecf1dd0c797e04dc6141990d078fe179db8ec19b9dc37"
              },
              {
                "heading": "4. Advanced features",
                "start_line": 118,
                "end_line": 118,
                "span_lf_sha256": "9e3c8f3848171c0f245eae4553ab04eb7dccde31d0778cd7dcfc6ada3c8ebdc3"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Separates macro storage from permitted execution, uses locally authored formatting practice and rejects a blanket weakening of the Windows internet-origin policy.",
            "repair_packet_ids": [
              "word-dependency-and-protection",
              "word-review-artifact"
            ],
            "selected_section_keys": [
              "macro",
              "trust"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-1.6",
            "wording": "Manage the Quick Access toolbar",
            "objective_wording_sha256": "b102acd5bdd6e343257d6411f94ed7aaa59d664a093dc4b2d5e02ef147dcbc77",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Manage documents and templates",
            "group_number": 1,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "1. Document options and settings",
                "start_line": 50,
                "end_line": 50,
                "span_lf_sha256": "9eafda28fabb2936cdb5a5c40d36fa7fcf1af10875e9da63952699852e4ffa69"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Customizes the Quick Access Toolbar for needed commands and checks application/document/template scope before expecting portability.",
            "repair_packet_ids": [
              "word-dependency-and-protection",
              "word-review-artifact"
            ],
            "selected_section_keys": [
              "customize"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-1.7",
            "wording": "Display hidden ribbon tabs",
            "objective_wording_sha256": "9a07d4b7b0dddc6904f70c294aff982a18a38c625969b4419a3727072d0ef256",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Manage documents and templates",
            "group_number": 1,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "1. Document options and settings",
                "start_line": 50,
                "end_line": 50,
                "span_lf_sha256": "9eafda28fabb2936cdb5a5c40d36fa7fcf1af10875e9da63952699852e4ffa69"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Exposes hidden Developer through ribbon customization so form/macro work can proceed; the scope/portability warning prevents confusing document content with application customization.",
            "repair_packet_ids": [
              "word-dependency-and-protection",
              "word-review-artifact"
            ],
            "selected_section_keys": [
              "customize"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-1.8",
            "wording": "Change the Normal template default font",
            "objective_wording_sha256": "b700526aa7f853b45151586498cd3959208a4280bce8764fe31c89df606be5d7",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Manage documents and templates",
            "group_number": 1,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "1. Document options and settings",
                "start_line": 46,
                "end_line": 46,
                "span_lf_sha256": "0ac0ca6d34a7a2d291af9c6aca6e83e8bfb0f1208d716d9c95121a0f0ebf11e1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Explains that Normal.dotm default-font changes affect future documents based on it, preserves a copy and tests a fresh document rather than expecting all existing files to update.",
            "repair_packet_ids": [
              "word-dependency-and-protection",
              "word-review-artifact"
            ],
            "selected_section_keys": [
              "template"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-2.1",
            "wording": "Restrict editing",
            "objective_wording_sha256": "288aeaaa9dde790b14006ab52ec9f9fb220e00bb026f6bfc7a37b4206569bb7d",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Prepare documents for collaboration",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked document dependency and protection check",
                "start_line": 58,
                "end_line": 58,
                "span_lf_sha256": "9aedf1df37511d1c6d154398dd3d2b0b6b85a715a58f500aea49f20282b9e331"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Enforces the chosen form-edit restriction, tests permitted input and a forbidden outside edit, and stops protection with a recoverable practice password.",
            "repair_packet_ids": [
              "word-dependency-and-protection"
            ],
            "selected_section_keys": [
              "protect"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-2.2",
            "wording": "Protect documents by using passwords",
            "objective_wording_sha256": "bc216247e52b57952c6b2e9264283b4d64b46fe4df6118247392196765d6ffb4",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Prepare documents for collaboration",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked document dependency and protection check",
                "start_line": 58,
                "end_line": 58,
                "span_lf_sha256": "9aedf1df37511d1c6d154398dd3d2b0b6b85a715a58f500aea49f20282b9e331"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Encrypts a separate saved copy, closes/reopens it with incorrect and correct passwords, removes the practice password and retains an unprotected original.",
            "repair_packet_ids": [
              "word-dependency-and-protection"
            ],
            "selected_section_keys": [
              "protect"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-3.1",
            "wording": "Configure editing and display languages",
            "objective_wording_sha256": "dada5d1f9cbcb9605f08377a2257587bbdbbf1ac1a0c61fcf277ec7816dabd27",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Use and configure language options",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Document options and settings",
                "start_line": 50,
                "end_line": 50,
                "span_lf_sha256": "9eafda28fabb2936cdb5a5c40d36fa7fcf1af10875e9da63952699852e4ffa69"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Distinguishes editing/proofing assistance from the display interface and explicitly says neither translates the existing document text.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "customize"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-3.2",
            "wording": "Use language-specific features",
            "objective_wording_sha256": "d44e46af191f4fad651017f0420ea548e63d0d49c5d3095e4c70637b69e1cada",
            "domain": "Manage document options and settings (20–25%)",
            "group": "Use and configure language options",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Document options and settings",
                "start_line": 50,
                "end_line": 50,
                "span_lf_sha256": "9eafda28fabb2936cdb5a5c40d36fa7fcf1af10875e9da63952699852e4ffa69"
              },
              {
                "heading": "Worked page repair",
                "start_line": 76,
                "end_line": 76,
                "span_lf_sha256": "b332d84752fbe42a8a6f8935baacea2efffb04e5f27c72435872666beb8f8b00"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Connects proofing language to assistance/hyphenation and tests a nonhyphenated selected paragraph against automatic body-text hyphenation.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "customize",
              "hyphen"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-4.1",
            "wording": "Find and replace text by using wildcards and special characters",
            "objective_wording_sha256": "2932f75737b3c5276a7d78e46867026b65b79569f61f6d2d37b2a556ade174ba",
            "domain": "Use advanced editing and formatting features (20–25%)",
            "group": "Find, replace, and paste document content",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "2. Advanced editing and formatting",
                "start_line": 68,
                "end_line": 68,
                "span_lf_sha256": "5ae52a3efe2cf6823c4ec8a86ca4ad24a69d8055e8f2fa2547fdf7a91ec0aa40"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Treats Word wildcard mode separately from general regex, tests matches on a copy and checks scope, counts and neighboring text after replacement.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "find"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-4.2",
            "wording": "Find and replace formatting and styles",
            "objective_wording_sha256": "236452fb75589a96c129ef6d7b08a9b7cdbeebe481b597bfae4d50808efcc190",
            "domain": "Use advanced editing and formatting features (20–25%)",
            "group": "Find, replace, and paste document content",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "2. Advanced editing and formatting",
                "start_line": 68,
                "end_line": 68,
                "span_lf_sha256": "5ae52a3efe2cf6823c4ec8a86ca4ad24a69d8055e8f2fa2547fdf7a91ec0aa40"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Checks formatting/style search criteria separately from text patterns and verifies representative matches before and after replacement.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "find"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-4.3",
            "wording": "Apply paste options",
            "objective_wording_sha256": "9e805232573a408ca6195d3149530cc013a35001e70d53480f861f8978d868e3",
            "domain": "Use advanced editing and formatting features (20–25%)",
            "group": "Find, replace, and paste document content",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "2. Advanced editing and formatting",
                "start_line": 68,
                "end_line": 68,
                "span_lf_sha256": "5ae52a3efe2cf6823c4ec8a86ca4ad24a69d8055e8f2fa2547fdf7a91ec0aa40"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Compares source formatting, destination characteristics, plain text and picture results, including editability and configurable retained list markers.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "find"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-5.1",
            "wording": "Configure hyphenation and line numbers",
            "objective_wording_sha256": "185d3034963f9cb5a1067649130503e1a9a71b40b6813770bcdb4c64edfbc49e",
            "domain": "Use advanced editing and formatting features (20–25%)",
            "group": "Configure paragraph layout options",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked page repair",
                "start_line": 76,
                "end_line": 76,
                "span_lf_sha256": "b332d84752fbe42a8a6f8935baacea2efffb04e5f27c72435872666beb8f8b00"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Enables body hyphenation and per-paragraph suppression, restarts line numbers by page and checks Print Layout while separating them from lists/page numbers.",
            "repair_packet_ids": [
              "word-pagination"
            ],
            "selected_section_keys": [
              "hyphen"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-5.2",
            "wording": "Set paragraph pagination options",
            "objective_wording_sha256": "8275c36db0c5cc28eb89fb0caa2fb73db2f482c2c33d8731223a6c2bc569f2fa",
            "domain": "Use advanced editing and formatting features (20–25%)",
            "group": "Configure paragraph layout options",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked page repair",
                "start_line": 74,
                "end_line": 74,
                "span_lf_sha256": "e832a0ae63873ae05765dc952fa1b34f028b591ef5a65becf29354c9970840fd"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Places a heading near a page boundary, applies Keep with next/Keep lines together, adds content and compares the result with Page break before.",
            "repair_packet_ids": [
              "word-pagination"
            ],
            "selected_section_keys": [
              "page"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-6.1",
            "wording": "Create styles",
            "objective_wording_sha256": "c6c634d8e293e0f845e582f05b12d9a37fe7465ca635574f87e996e16df37c79",
            "domain": "Use advanced editing and formatting features (20–25%)",
            "group": "Create and manage paragraph, character, and table styles",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "2. Advanced editing and formatting",
                "start_line": 64,
                "end_line": 64,
                "span_lf_sha256": "b7716a3efe80f90ac6981943153a785ee1aa9ad139b69f005fd91f04ea2bf36b"
              },
              {
                "heading": "2. Advanced editing and formatting",
                "start_line": 70,
                "end_line": 70,
                "span_lf_sha256": "530e3aa019542d529651cf47848725ed2b4fe17719168d564d44efdafbe17307"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Separates paragraph, character and table style definitions, explains base/following style relationships and uses a reusable heading/body design rather than visual bolding alone.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "inherit",
              "styles"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-6.2",
            "wording": "Modify styles",
            "objective_wording_sha256": "757ad0c009c6f936c2f79be96755ce60d482b872b163eebc464143eea61256a7",
            "domain": "Use advanced editing and formatting features (20–25%)",
            "group": "Create and manage paragraph, character, and table styles",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "2. Advanced editing and formatting",
                "start_line": 64,
                "end_line": 64,
                "span_lf_sha256": "b7716a3efe80f90ac6981943153a785ee1aa9ad139b69f005fd91f04ea2bf36b"
              },
              {
                "heading": "2. Advanced editing and formatting",
                "start_line": 70,
                "end_line": 70,
                "span_lf_sha256": "530e3aa019542d529651cf47848725ed2b4fe17719168d564d44efdafbe17307"
              },
              {
                "heading": "Worked reusable design pack",
                "start_line": 92,
                "end_line": 92,
                "span_lf_sha256": "79938a026d8eff918b185a4a0768bcbf66b9ddd6c5fcbd26902fdf52f3a0b0dc"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Treats style changes as definition changes, accounts for inheritance/direct-format exceptions and checks representative content instead of assuming visual similarity proves the applied style.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "inherit",
              "styles",
              "styleset"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-6.3",
            "wording": "Copy styles to other documents or templates",
            "objective_wording_sha256": "f460501d576cb87911817dd6a6aa3e1479be4c8fc2ad3994dfc9505ff1a5e607",
            "domain": "Use advanced editing and formatting features (20–25%)",
            "group": "Create and manage paragraph, character, and table styles",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "2. Advanced editing and formatting",
                "start_line": 70,
                "end_line": 70,
                "span_lf_sha256": "530e3aa019542d529651cf47848725ed2b4fe17719168d564d44efdafbe17307"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses Organizer to copy a named definition to the correct document/template, warns about overwriting a same-named destination style and checks actual styled content.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "styles"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-7.1",
            "wording": "Create QuickParts",
            "objective_wording_sha256": "0014726157169a29691b33209cd25008d500d8704f3c46a88d7876efa4fe1c42",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create and modify building blocks",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 88,
                "end_line": 88,
                "span_lf_sha256": "9036128839b12a75059038d875740b363a8121a2c82b41906ab3052d1f92fd3a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Saves a selected two-paragraph Delivery Clause to the intended template/gallery and includes the paragraph mark when paragraph formatting must travel.",
            "repair_packet_ids": [
              "word-reusable-design"
            ],
            "selected_section_keys": [
              "quick"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-7.2",
            "wording": "Manage building blocks",
            "objective_wording_sha256": "1087ef689780d228eb1ff40d662dac580c64b9b4d6677aed135591d27b09a9d0",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create and modify building blocks",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 88,
                "end_line": 88,
                "span_lf_sha256": "9036128839b12a75059038d875740b363a8121a2c82b41906ab3052d1f92fd3a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Reinserts and revises the stored block, redefines by its identity, renames it with Organizer and deletes only the practice entry while checking an inserted instance remains.",
            "repair_packet_ids": [
              "word-reusable-design"
            ],
            "selected_section_keys": [
              "quick"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-8.1",
            "wording": "Create custom color sets",
            "objective_wording_sha256": "c66c21412ee7eef39f5ecdb7465eeb13d95a5646bb685bba15c23f6c318f8d56",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create custom design elements",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 90,
                "end_line": 90,
                "span_lf_sha256": "219abae4a98af3f4e775745288df1f61c5b46ec58ff64e916ab3fc1c33411858"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Changes Accent 1 through Customize Colors, saves a named color set and applies it to a second document with theme-aware content.",
            "repair_packet_ids": [
              "word-reusable-design"
            ],
            "selected_section_keys": [
              "theme"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-8.2",
            "wording": "Create custom font sets",
            "objective_wording_sha256": "25fad9db46b6db79fcc92b3241183592b49348d294c1e2b9978ffd0a3b3acb67",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create custom design elements",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 90,
                "end_line": 90,
                "span_lf_sha256": "219abae4a98af3f4e775745288df1f61c5b46ec58ff64e916ab3fc1c33411858"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Chooses separate heading/body fonts through Customize Fonts, saves a named font set and checks it as a theme component rather than an interface setting.",
            "repair_packet_ids": [
              "word-reusable-design"
            ],
            "selected_section_keys": [
              "theme"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-8.3",
            "wording": "Create custom themes",
            "objective_wording_sha256": "edef1961adc602641beb11b93999fdbd0635d714fc109845b03e17f2763d84d7",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create custom design elements",
            "group_number": 8,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 90,
                "end_line": 90,
                "span_lf_sha256": "219abae4a98af3f4e775745288df1f61c5b46ec58ff64e916ab3fc1c33411858"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Combines color/font/effect choices, saves a named .thmx and tests theme-aware versus direct-formatted content in a second document.",
            "repair_packet_ids": [
              "word-reusable-design"
            ],
            "selected_section_keys": [
              "theme"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-8.4",
            "wording": "Create custom style sets",
            "objective_wording_sha256": "bed1ef376d7f5bd4fd1543209cf26093211840d6caa0fe0957d8f7628e643c89",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create custom design elements",
            "group_number": 8,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 92,
                "end_line": 92,
                "span_lf_sha256": "79938a026d8eff918b185a4a0768bcbf66b9ddd6c5fcbd26902fdf52f3a0b0dc"
              },
              {
                "heading": "Hands-on labs",
                "start_line": 148,
                "end_line": 148,
                "span_lf_sha256": "73db790c831c08fc28e2fea302a887bd3933ce4d6f32af0b6930f7693a42b8a9"
              }
            ],
            "current_depth_result": "bounded-provisional-teaching-current-source-gap",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "bounded-teaching-added-current-source-gap-retained",
            "reason": "Provides useful optional Windows build-specific investigation of the historical style-set save route. It accepts missing-command/build/artifact evidence as a legitimate unresolved outcome, makes successful creation unnecessary for lab completion, and distinguishes a saved style set from .thmx or a general .dotx. Current-build support remains unconfirmed and the source gate remains blocked.",
            "repair_packet_ids": [
              "word-reusable-design"
            ],
            "selected_section_keys": [
              "styleset",
              "lab1"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-9.1",
            "wording": "Mark index entries",
            "objective_wording_sha256": "3b86d186273a3ce14d353b668337c0f61753389f93695c8c8720e6ae609e2e76",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create and manage indexes",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 94,
                "end_line": 94,
                "span_lf_sha256": "f85e753927829a145da4948d4988d605ac787afd4bdb26a1a04872e70005f28a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Marks a main entry and subentry, separating source index markers from ordinary headings or a table of contents.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "index"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-9.2",
            "wording": "Create indexes",
            "objective_wording_sha256": "55ac15c6831709f010f44f6788391b73f1ff8e4967e61b46c4b64b3868336796",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create and manage indexes",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 94,
                "end_line": 94,
                "span_lf_sha256": "f85e753927829a145da4948d4988d605ac787afd4bdb26a1a04872e70005f28a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Generates the index from marked entries, rather than mistaking a table of contents or manually typed alphabetical list for it.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "index"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-9.3",
            "wording": "Update indexes",
            "objective_wording_sha256": "025a525bb5e8eb30a6a6a0adf5464e6ae6de4a340d9d5e39c88e54e8feec6daa",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create and manage indexes",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 94,
                "end_line": 94,
                "span_lf_sha256": "f85e753927829a145da4948d4988d605ac787afd4bdb26a1a04872e70005f28a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Moves indexed source text and updates the generated index so its page references must follow the changed document.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "index"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-10.1",
            "wording": "Insert figure and table captions",
            "objective_wording_sha256": "fe5635228df268f6b97555ec2d5c73cb2eba0602b1b228d1362caeb929f734f4",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create and manage tables of figures",
            "group_number": 10,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked captions and generated lists",
                "start_line": 98,
                "end_line": 98,
                "span_lf_sha256": "ed6c2eb498f8cac409f650c739db278ea58b18d91b6a2a7a9e04a44eddcfd51f"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Adds Figure captions to two objects and a Table caption to a table, preserving the difference in source labels for generated lists.",
            "repair_packet_ids": [
              "word-captions-fields-and-controls"
            ],
            "selected_section_keys": [
              "caption"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-10.2",
            "wording": "Configure caption properties",
            "objective_wording_sha256": "17f473e3fba9ce68fae99fbd414076ca81f1774faedde91a6435c7ba5b74307e",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create and manage tables of figures",
            "group_number": 10,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked captions and generated lists",
                "start_line": 98,
                "end_line": 98,
                "span_lf_sha256": "ed6c2eb498f8cac409f650c739db278ea58b18d91b6a2a7a9e04a44eddcfd51f"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Chooses caption label, descriptive text, position and numbering format, then diagnoses a table incorrectly appearing in a Figure list by inspecting its label.",
            "repair_packet_ids": [
              "word-captions-fields-and-controls"
            ],
            "selected_section_keys": [
              "caption"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-10.3",
            "wording": "Insert and modify a table of figures",
            "objective_wording_sha256": "d1f03b655316d1bd70c9e0cc4fc6c50a97d5d65e3fedce7c478f83cf34790c13",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create and manage tables of figures",
            "group_number": 10,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked captions and generated lists",
                "start_line": 98,
                "end_line": 98,
                "span_lf_sha256": "ed6c2eb498f8cac409f650c739db278ea58b18d91b6a2a7a9e04a44eddcfd51f"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Inserts lists with chosen label/format/options, changes caption text and moves content, then updates the entire table and checks both text and page numbers.",
            "repair_packet_ids": [
              "word-captions-fields-and-controls"
            ],
            "selected_section_keys": [
              "caption"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-11.1",
            "wording": "Create and modify bibliography citation sources",
            "objective_wording_sha256": "3c43f24544327a0aca25065e3d095a8f247c26591157bf5fe7b3f8e346395aac",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create and manage bibliographies",
            "group_number": 11,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 94,
                "end_line": 94,
                "span_lf_sha256": "f85e753927829a145da4948d4988d605ac787afd4bdb26a1a04872e70005f28a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Maintains bibliography source records and explicitly distinguishes correcting their metadata from editing rendered citation text.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "index"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-11.2",
            "wording": "Insert citations for bibliographies",
            "objective_wording_sha256": "c60551804cc8cd8d8af3a87e801e7c0bcabaa0f5c9e7049c102a500ae0f2e644",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create and manage bibliographies",
            "group_number": 11,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 94,
                "end_line": 94,
                "span_lf_sha256": "f85e753927829a145da4948d4988d605ac787afd4bdb26a1a04872e70005f28a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Inserts citations tied to those maintained source records, so the citation is a dynamic reference rather than manually typed appearance.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "index"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-11.3",
            "wording": "Insert bibliographies",
            "objective_wording_sha256": "70f5198afd574fbb1bb02df7aa56fbffd75786a3b2584fea5cd168fb95a026ea",
            "domain": "Create custom document elements (20–25%)",
            "group": "Create and manage bibliographies",
            "group_number": 11,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked reusable design pack",
                "start_line": 94,
                "end_line": 94,
                "span_lf_sha256": "f85e753927829a145da4948d4988d605ac787afd4bdb26a1a04872e70005f28a"
              },
              {
                "heading": "Hands-on labs",
                "start_line": 150,
                "end_line": 150,
                "span_lf_sha256": "05b41bfbd97228568ebe1b8180f98e0e5e45433957aaa7cdecc3d32bfab48973"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Generates the bibliography from maintained records/citations as part of the reference workflow and checks regeneration after source-record changes in the reference lab.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "index",
              "lab3"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-12.1",
            "wording": "Add custom fields",
            "objective_wording_sha256": "86c358bfd38081e2e9612f15a0f6d9d6c6d979a3a4c43f44b6a7864be92ab1ba",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Manage forms, fields, and controls",
            "group_number": 12,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked fields and fillable controls",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "a6a8ce3e901012b1f8dc4b1d726054d5ee264c03d18b4d1065379b8c254aaae5"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Inserts a real DocProperty field displaying a Title value, differentiating field creation from typing brace-shaped text.",
            "repair_packet_ids": [
              "word-captions-fields-and-controls"
            ],
            "selected_section_keys": [
              "field"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-12.2",
            "wording": "Modify field properties",
            "objective_wording_sha256": "98377047786d7969c2e223f4c96f2fe10ef534c33add2c9bd2d4c1de42c096f2",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Manage forms, fields, and controls",
            "group_number": 12,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked fields and fillable controls",
                "start_line": 102,
                "end_line": 102,
                "span_lf_sha256": "a6a8ce3e901012b1f8dc4b1d726054d5ee264c03d18b4d1065379b8c254aaae5"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Changes the underlying property, refreshes the result and uses Edit Field to select Author instead of Title while inspecting code/result behavior.",
            "repair_packet_ids": [
              "word-captions-fields-and-controls"
            ],
            "selected_section_keys": [
              "field"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-12.3",
            "wording": "Insert standard content controls",
            "objective_wording_sha256": "3697831117d941be81d730e67fac822b96b2f7a1b4073c2708d48732f5b2c620",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Manage forms, fields, and controls",
            "group_number": 12,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked fields and fillable controls",
                "start_line": 104,
                "end_line": 104,
                "span_lf_sha256": "6d3313b13b5be3a0b16014764922793697eb58aa47d4a590f327f948fd1a4dfe"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Inserts text, date, check-box and drop-down controls into a separate form and distinguishes the Windows workflow from Mac/web capabilities.",
            "repair_packet_ids": [
              "word-captions-fields-and-controls"
            ],
            "selected_section_keys": [
              "controls"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-12.4",
            "wording": "Configure standard content controls",
            "objective_wording_sha256": "8ee311a0206b92183cb9f74b9ad4c98c7906affc61205b3856941a5978cd8169",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Manage forms, fields, and controls",
            "group_number": 12,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked fields and fillable controls",
                "start_line": 104,
                "end_line": 104,
                "span_lf_sha256": "6d3313b13b5be3a0b16014764922793697eb58aa47d4a590f327f948fd1a4dfe"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Sets control titles/defaults/choices and instructional text, leaves Design Mode and tests protected entry while distinguishing deletion locking from disabling content edits.",
            "repair_packet_ids": [
              "word-captions-fields-and-controls"
            ],
            "selected_section_keys": [
              "controls"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-13.1",
            "wording": "Record simple macros",
            "objective_wording_sha256": "8defb97ab642297f0a8b036e4bcd9eb7f3a0a6e268df1a1694ab0a76c7e3cdcb",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Create and modify macros",
            "group_number": 13,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4. Advanced features",
                "start_line": 116,
                "end_line": 116,
                "span_lf_sha256": "ea8c61a758c3fe800beecf1dd0c797e04dc6141990d078fe179db8ec19b9dc37"
              },
              {
                "heading": "4. Advanced features",
                "start_line": 118,
                "end_line": 118,
                "span_lf_sha256": "9e3c8f3848171c0f245eae4553ab04eb7dccde31d0778cd7dcfc6ada3c8ebdc3"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Records a harmless formatting operation in the intended storage file, stops before unrelated actions and tests supported keyboard selection assumptions.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "macro",
              "trust"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-13.2",
            "wording": "Name simple macros",
            "objective_wording_sha256": "743eed777172f14326b240e210d0b6395681348c3b2d2d94f5a8e5dd0baabd40",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Create and modify macros",
            "group_number": 13,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Advanced features",
                "start_line": 116,
                "end_line": 116,
                "span_lf_sha256": "ea8c61a758c3fe800beecf1dd0c797e04dc6141990d078fe179db8ec19b9dc37"
              },
              {
                "heading": "4. Advanced features",
                "start_line": 118,
                "end_line": 118,
                "span_lf_sha256": "9e3c8f3848171c0f245eae4553ab04eb7dccde31d0778cd7dcfc6ada3c8ebdc3"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Chooses an unambiguous macro name and intended document/template storage before recording, so availability can be checked in the correct target.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "macro",
              "trust"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-13.3",
            "wording": "Edit simple macros",
            "objective_wording_sha256": "3131b89476714cf806dd147dc2bc328ef7ef783f932005cb81f8b6cf7cb890d8",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Create and modify macros",
            "group_number": 13,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4. Advanced features",
                "start_line": 116,
                "end_line": 116,
                "span_lf_sha256": "ea8c61a758c3fe800beecf1dd0c797e04dc6141990d078fe179db8ec19b9dc37"
              },
              {
                "heading": "4. Advanced features",
                "start_line": 118,
                "end_line": 118,
                "span_lf_sha256": "9e3c8f3848171c0f245eae4553ab04eb7dccde31d0778cd7dcfc6ada3c8ebdc3"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Inspects and edits the recorded simple procedure and reruns on a known selection, with no claim that permissive file format proves trusted execution.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "macro",
              "trust"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-13.4",
            "wording": "Copy macros to other documents or templates",
            "objective_wording_sha256": "541b6ff2ebcdc3489e7b897ff663b7d2571bfb5b66f9ec2c12d2e2ee124e5785",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Create and modify macros",
            "group_number": 13,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "4. Advanced features",
                "start_line": 116,
                "end_line": 116,
                "span_lf_sha256": "ea8c61a758c3fe800beecf1dd0c797e04dc6141990d078fe179db8ec19b9dc37"
              },
              {
                "heading": "4. Advanced features",
                "start_line": 118,
                "end_line": 118,
                "span_lf_sha256": "9e3c8f3848171c0f245eae4553ab04eb7dccde31d0778cd7dcfc6ada3c8ebdc3"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Copies the simple macro with Organizer to a second disposable template and verifies storage/availability separately from policy-permitted execution.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "macro",
              "trust"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-14.1",
            "wording": "Manage recipient lists",
            "objective_wording_sha256": "505e2a862ad166ccfe8a5415fab62b61b1f54a57e8e058f9b4386ef04ec79bb9",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Perform mail merges",
            "group_number": 14,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4. Advanced features",
                "start_line": 120,
                "end_line": 120,
                "span_lf_sha256": "7957a9459f994ecbde73e6941735d70d0b1e4d8c61073100c16071df5b2cdf20"
              },
              {
                "heading": "Worked examples",
                "start_line": 133,
                "end_line": 133,
                "span_lf_sha256": "4e30081052d11f605522094a14223a9ee7d285f9cda36c7ebe277c85dc7805fe"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Cleans types/headers and postal identifiers, filters inactive/invalid recipients and reconciles four eligible identities instead of equating pages with records.",
            "repair_packet_ids": [
              "word-merge-field-operation"
            ],
            "selected_section_keys": [
              "merge",
              "mergeexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-14.2",
            "wording": "Insert merged fields",
            "objective_wording_sha256": "c1813e4b4b99febe39a68ae1039641da5f7286b924389b6a0b41bac722cbffba",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Perform mail merges",
            "group_number": 14,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Advanced features",
                "start_line": 122,
                "end_line": 122,
                "span_lf_sha256": "ba43b1227c8ed67c361145474d274b10c5095ffcbc72790a03bc7e0482bbc4df"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Uses Insert Merge Field for actual source columns, keeps punctuation outside fields and diagnoses a disabled field command by checking recipient connection/mapping.",
            "repair_packet_ids": [
              "word-merge-field-operation"
            ],
            "selected_section_keys": [
              "mergefields"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-14.3",
            "wording": "Preview merge results",
            "objective_wording_sha256": "7adb62b40f5a7d7bb98b1b03a76c12e666894011ed8a72f2ee36a3dc40c6cd99",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Perform mail merges",
            "group_number": 14,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4. Advanced features",
                "start_line": 120,
                "end_line": 120,
                "span_lf_sha256": "7957a9459f994ecbde73e6941735d70d0b1e4d8c61073100c16071df5b2cdf20"
              },
              {
                "heading": "Worked examples",
                "start_line": 133,
                "end_line": 133,
                "span_lf_sha256": "4e30081052d11f605522094a14223a9ee7d285f9cda36c7ebe277c85dc7805fe"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Previews first/last and blank/long-value records and checks optional fields before releasing the merged output.",
            "repair_packet_ids": [
              "word-merge-field-operation"
            ],
            "selected_section_keys": [
              "merge",
              "mergeexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-111-14.4",
            "wording": "Create merged documents, labels, and envelopes",
            "objective_wording_sha256": "e4d8ee221a563b405075c847c459ee59b3f2408f94b186dafa0be02a0a95ebfd",
            "domain": "Use advanced Word features (25–30%)",
            "group": "Perform mail merges",
            "group_number": 14,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "4. Advanced features",
                "start_line": 120,
                "end_line": 120,
                "span_lf_sha256": "7957a9459f994ecbde73e6941735d70d0b1e4d8c61073100c16071df5b2cdf20"
              },
              {
                "heading": "4. Advanced features",
                "start_line": 122,
                "end_line": 122,
                "span_lf_sha256": "ba43b1227c8ed67c361145474d274b10c5095ffcbc72790a03bc7e0482bbc4df"
              },
              {
                "heading": "Worked examples",
                "start_line": 133,
                "end_line": 133,
                "span_lf_sha256": "4e30081052d11f605522094a14223a9ee7d285f9cda36c7ebe277c85dc7805fe"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Finishes letters into individual documents and repeats the field layout for labels/envelopes, checking label record progression, identity counts and envelope placement.",
            "repair_packet_ids": [
              "word-merge-field-operation"
            ],
            "selected_section_keys": [
              "merge",
              "mergefields",
              "mergeexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          }
        ]
      },
      {
        "exam_code": "MO-210",
        "guide_path": "guides/MO-210-microsoft-excel-microsoft-365-apps.md",
        "guide_lf_sha256": "8a58326b229da89dffd587eda22658fadf3fa5b49c14c1c344096b50f85e2868",
        "objective_raw_sha256": "71db2aebfc9e02978f17b80207c9b0bd180775ad9c8486050965a27a5fadc0d7",
        "objective_count": 65,
        "group_count": 17,
        "domain_count": 5,
        "accepted_objective_path": "data/objective-snapshots/mo-210-official-objectives.txt",
        "accepted_objective_scope": "coarse official page domains only",
        "accepted_status_path": "data/objective-snapshots/mo-210-official-status.json",
        "accepted_status_raw_sha256": "306b41dc3cacb8e45db553a23a27c795590d1b17631b4753c392ff657ad52115",
        "detailed_objective_evidence": {
          "url": "https://arch-center.azureedge.net/Learning/Credentials/microsoft-certified-security-operations-analyst-skills-measured.pdf",
          "pdf_raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo210-skills.pdf",
          "pdf_raw_sha256": "c18b5396df8158e1e14ee0d032332b86c01bc3b96b1166fbf49c6db0133f0e43",
          "pdf_page_count": 3,
          "pdf_extracted_text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-plain-mo210.txt",
          "pdf_extracted_text_raw_sha256": "9939f9cc575d814f52d3aa92faa8da46e434b28d398342d240f4e0564a688b49",
          "layout_extraction_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo210-skills.txt",
          "layout_extraction_raw_sha256": "f0d3cc1cdecd66e0148652f2acc8371734aafe10916da743cce94ce4e5cd45a5",
          "detailed_task_text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-current-mo210-detailed-tasks.txt",
          "detailed_task_text_raw_sha256": "f4fa5c61e6bfd90158fc3fead9477f6b7a7873e21118af5bbbf13810209af768",
          "task_extraction_rule": "Ordered detailed PDF bullets; collapsed whitespace/continued wrapped bullet lines; one complete task per LF-terminated line. Domain/group identity retained in current_mapping.",
          "coarse_snapshot_relationship": "Accepted objective snapshot contains only broad domains. Its raw hash is separate; detailed task wording/hash is bound to this official PDF and captured extraction, not asserted to occur in the coarse accepted text."
        },
        "capture_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-210-microsoft-excel-microsoft-365-apps.md",
        "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-210.diff",
        "diff_raw_sha256": "27f47ea2317727e15e78df5e906c8471f35a574219cbac2c6053700edc1fe1e3",
        "current_mapping": [
          {
            "objective_id": "MO-210-1.1",
            "wording": "import data from text files",
            "objective_wording_sha256": "d3e2f271dd67a8c955b896aac67afeb0fbf756ce3e33dcff62a52b75106d2d40",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Import data into workbooks",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 47,
                "end_line": 47,
                "span_lf_sha256": "196a2dca0742e43b44a923ecfabda7bc8f8153b4847933dcb5c7a714ff68d9ba"
              },
              {
                "heading": "Hands-on labs",
                "start_line": 142,
                "end_line": 142,
                "span_lf_sha256": "8b0aeec980f19de1dd8c37a8bfc7b22b5eeb43f9d4d17ee7a8c1c736f0a6f8bf"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Previews text delimiters/encoding/types before loading, preserves leading-zero identifiers as text and reconciles source rows/strings rather than trusting the displayed format.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "imports",
              "lab1"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-1.2",
            "wording": "import data from online sources",
            "objective_wording_sha256": "53519aab1ddd98b81e225bb6bd9d5e7ab53906929b9ed9764b3859e24f8fa9a3",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Import data into workbooks",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 47,
                "end_line": 47,
                "span_lf_sha256": "196a2dca0742e43b44a923ecfabda7bc8f8153b4847933dcb5c7a714ff68d9ba"
              },
              {
                "heading": "Hands-on labs",
                "start_line": 142,
                "end_line": 142,
                "span_lf_sha256": "8b0aeec980f19de1dd8c37a8bfc7b22b5eeb43f9d4d17ee7a8c1c736f0a6f8bf"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Identifies the intended public online table/resource and access requirements, then inspects imported column types instead of treating retrieval as data correctness.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "imports",
              "lab1"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-2.1",
            "wording": "search for data within a workbook",
            "objective_wording_sha256": "8f21e4770597808e3c8fe79109c98ab40ee68997fba644211503b6522cc73aae",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Navigate within workbooks",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 55,
                "end_line": 55,
                "span_lf_sha256": "300f5f017b79455bc8d66f16bd41319574a7619aebc44973916aae4d8f88baf9"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Searches distinctive IDs with Within: Workbook and Find All, compares formula versus value search and navigates to an actual result.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "navigate"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-2.2",
            "wording": "navigate to named cells, ranges, or workbook elements",
            "objective_wording_sha256": "5066dff634a0fd1678bcbf7ef2b2871578c70423214f724ee84a32625bba51e0",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Navigate within workbooks",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "cbbb76ee8188d6fa2f71aec8180e8c81bd0168ba62bc1d6e90511a6342390564"
              },
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 89,
                "end_line": 89,
                "span_lf_sha256": "d22611fb3523d83690638ad6d4c1c3d47aea1ee2ba75bdd398d85de63065774b"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Uses the Name box/Find/Go To model and defines a named destination with inspected scope/Refers to, so a target can be located independently of its displayed label.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "workbook",
              "name"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-2.3",
            "wording": "insert and remove hyperlinks",
            "objective_wording_sha256": "516f48690127c7401c2a420f3a9a59413a2e91100b3cd7857dfe5abfd8ecae4b",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Navigate within workbooks",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 55,
                "end_line": 55,
                "span_lf_sha256": "300f5f017b79455bc8d66f16bd41319574a7619aebc44973916aae4d8f88baf9"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Inserts and follows a descriptive cell link to Summary, removes its hyperlink and checks that the label remains.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "navigate"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-3.1",
            "wording": "modify page setup",
            "objective_wording_sha256": "26e70a37c9066daccfc9f3bb5bec4eeed502417a691e7bf0def7bc6d3d60975b",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Format worksheets and workbooks",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "cbbb76ee8188d6fa2f71aec8180e8c81bd0168ba62bc1d6e90511a6342390564"
              },
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "55ee4f9c9c23663b6163fc907997b08280666989aae70ec721dbc2f327f859a1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Configures orientation/page breaks/scaling and inspects print/export output, separating screen layout from the delivered pages.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "workbook",
              "views"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-3.2",
            "wording": "adjust row height and column width",
            "objective_wording_sha256": "36c2efb14c96b00e107e264b2d76250f693fbb27d66d84d318af97aad9d69de9",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Format worksheets and workbooks",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Sets column widths and row height for a long header and checks visible content, rather than treating a truncated display as missing data.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-3.3",
            "wording": "customize headers and footers",
            "objective_wording_sha256": "2f9e4a71b292e2c065c07cd97c01d4888fe6296a2f97320d960326b7a81ec483",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Format worksheets and workbooks",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "cbbb76ee8188d6fa2f71aec8180e8c81bd0168ba62bc1d6e90511a6342390564"
              },
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "55ee4f9c9c23663b6163fc907997b08280666989aae70ec721dbc2f327f859a1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Includes headers/footers in workbook output setup and validates the actual preview/export rather than relying on the worksheet editing view.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "workbook",
              "views"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-3.4",
            "wording": "customize options and views",
            "objective_wording_sha256": "e3b2f39f2bf8b9a945162a1ed416824fedad5f1021bc1c30c8e5811e50d302c4",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Format worksheets and workbooks",
            "group_number": 3,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "55ee4f9c9c23663b6163fc907997b08280666989aae70ec721dbc2f327f859a1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Distinguishes display options, formula display, frozen headings and independent window arrangements according to the inspection need.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "views"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-3.5",
            "wording": "manage the Quick Access toolbar",
            "objective_wording_sha256": "838de278df4f363b868e09a8df93eb3a7d7cdf0f8cc8c18ee2266e1902a4ddcd",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Format worksheets and workbooks",
            "group_number": 3,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "55ee4f9c9c23663b6163fc907997b08280666989aae70ec721dbc2f327f859a1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Customizes the Quick Access Toolbar with required commands as part of the multi-sheet workbook lab and verifies that output/content checks remain possible.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "views"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-3.6",
            "wording": "display and modify worksheets in different views",
            "objective_wording_sha256": "60689efdc775720656fbec4cab8fb0b030926fdcc9669ef91ed8f53dcb162273",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Format worksheets and workbooks",
            "group_number": 3,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "55ee4f9c9c23663b6163fc907997b08280666989aae70ec721dbc2f327f859a1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Compares Normal, Page Layout and Page Break Preview for different editing/output questions and inspects changes in the relevant view.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "views"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-3.7",
            "wording": "freeze worksheet rows and columns",
            "objective_wording_sha256": "a1433ad4259c5020dfb969d82ccb388a00f16111ea80d35046ea9bd82500edb8",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Format worksheets and workbooks",
            "group_number": 3,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 57,
                "end_line": 57,
                "span_lf_sha256": "217c9dd0b13c36076fc3ec8ebf02a4cb9920f857b4b4a7cf07060d2532688cec"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Freezes from C3 and scrolls vertically/horizontally to prove rows 1–2 and columns A–B stay visible, then unfreezes before changing the boundary.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "freeze"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-3.8",
            "wording": "change window views",
            "objective_wording_sha256": "a59ffeab8e02a5d8189138f726987a133a1cd6ee496110e5b08e7004307b750f",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Format worksheets and workbooks",
            "group_number": 3,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "55ee4f9c9c23663b6163fc907997b08280666989aae70ec721dbc2f327f859a1"
              },
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 57,
                "end_line": 57,
                "span_lf_sha256": "217c9dd0b13c36076fc3ec8ebf02a4cb9920f857b4b4a7cf07060d2532688cec"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses window arrangements to inspect separate areas and distinguishes them from Freeze Panes and Split/New Window behavior.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "views",
              "freeze"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-3.9",
            "wording": "modify built-in workbook properties",
            "objective_wording_sha256": "498b252f9a853828cfe53852af07fdc8c9cfe94a839339f06c0cc48489df4798",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Format worksheets and workbooks",
            "group_number": 3,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "cbbb76ee8188d6fa2f71aec8180e8c81bd0168ba62bc1d6e90511a6342390564"
              },
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 45,
                "end_line": 45,
                "span_lf_sha256": "30586a20e0d3b3fff06f2a4c4858dba755236b43a4b01a49536521052c7823c0"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Includes built-in workbook properties in the delivery inspection and inspects metadata deliberately rather than assuming a saved workbook is clean.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "workbook",
              "inspection"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-3.10",
            "wording": "Display formulas",
            "objective_wording_sha256": "071b0638f43856f685d0228d5c6393fb1fc353625d6daa138b552d2ea07dfcfb",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Format worksheets and workbooks",
            "group_number": 3,
            "objective_number": 10,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "55ee4f9c9c23663b6163fc907997b08280666989aae70ec721dbc2f327f859a1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Shows formulas to audit references, then returns to results before final output so the chosen view matches the review/delivery need.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "views"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-4.1",
            "wording": "set a print area",
            "objective_wording_sha256": "f8050bbe1869dd684dce6122182bef131d0907178993b16fb61811203c0fde7a",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Prepare workbooks for collaboration and distribution",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "cbbb76ee8188d6fa2f71aec8180e8c81bd0168ba62bc1d6e90511a6342390564"
              },
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "55ee4f9c9c23663b6163fc907997b08280666989aae70ec721dbc2f327f859a1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Sets a print area and distinguishes it from repeated titles/scaling, then verifies which sheets and pages actually export.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "workbook",
              "views"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-4.2",
            "wording": "save and export workbooks in alternative file formats",
            "objective_wording_sha256": "22bd190292fbf722921b68fb2acbf9bb9797b71f5f7615ee20b20416774b4671",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Prepare workbooks for collaboration and distribution",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "cbbb76ee8188d6fa2f71aec8180e8c81bd0168ba62bc1d6e90511a6342390564"
              },
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "55ee4f9c9c23663b6163fc907997b08280666989aae70ec721dbc2f327f859a1"
              },
              {
                "heading": "Integrated practice scenarios",
                "start_line": 134,
                "end_line": 134,
                "span_lf_sha256": "4f54b7ad68128507323578ee0a45ce8ebe0e0138e59d004cb91bd3e561ce4c36"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Saves/exports to the requested alternate format and inspects the output pages instead of assuming editing-view appearance proves delivery correctness.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "workbook",
              "views",
              "budget"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-4.3",
            "wording": "configure print settings",
            "objective_wording_sha256": "a475ec5fa4794cf920c5e404df8f062341829d20c3a03806a949f45ea1a57350",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Prepare workbooks for collaboration and distribution",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "cbbb76ee8188d6fa2f71aec8180e8c81bd0168ba62bc1d6e90511a6342390564"
              },
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "55ee4f9c9c23663b6163fc907997b08280666989aae70ec721dbc2f327f859a1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Configures print area/titles/scaling/orientation/page breaks for separate output needs and validates the resulting pages.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "workbook",
              "views"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-4.4",
            "wording": "inspect workbooks and correct issues",
            "objective_wording_sha256": "b6635189aacd96e6d242af870eb8ff8e149b7eaee025d52e0b8200c82356c90d",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Prepare workbooks for collaboration and distribution",
            "group_number": 4,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 45,
                "end_line": 45,
                "span_lf_sha256": "30586a20e0d3b3fff06f2a4c4858dba755236b43a4b01a49536521052c7823c0"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Inspects accessibility, properties and comments/notes before distribution, with a final content/totals reconciliation rather than only a reachability check.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "inspection"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-4.5",
            "wording": "manage comments and notes",
            "objective_wording_sha256": "f4cb6c7b4a65b8efc69491e8406a79450f7231f77bcb22e095366e193c0bc5ac",
            "domain": "Manage worksheets and workbooks (25–30%)",
            "group": "Prepare workbooks for collaboration and distribution",
            "group_number": 4,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "1. Worksheets and workbooks",
                "start_line": 51,
                "end_line": 51,
                "span_lf_sha256": "1004e93e469426d81ee5cce0cf99a7b438a88909c5a0be35a84725f2f15c9752"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Distinguishes threaded replies/resolution from ordinary notes and checks both without confusing discussion resolution with deleting the cell data.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "comments"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-5.1",
            "wording": "paste data by using special paste options",
            "objective_wording_sha256": "37c0cae968be273e83132252ea0113e63e51419d551d4cb8ae7cba1d0f67bebb",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Manipulate data in worksheets",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "2. Cells and ranges",
                "start_line": 63,
                "end_line": 63,
                "span_lf_sha256": "172949e5dd362ebd06f2d3a9259d3a2223f40bfd2475a401b2ef347338423d52"
              },
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Chooses content/formula/format/value paste according to the needed layer and checks destination values/formulas rather than allowing a visually correct paste to hide a changed calculation.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "cells",
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-5.2",
            "wording": "fill cells by using Auto Fill",
            "objective_wording_sha256": "cf65aa03410e2bcbce0f6fcce5aca57787f35a6a56bc89aa72d3932bc0aa7e94",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Manipulate data in worksheets",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "2. Cells and ranges",
                "start_line": 69,
                "end_line": 69,
                "span_lf_sha256": "83f43b2839d7be27bf0ccec035f14f7966f5ce406d64c8d9f9559e9b074189fb"
              },
              {
                "heading": "Worked examples",
                "start_line": 124,
                "end_line": 124,
                "span_lf_sha256": "93940df277143e7b223e79e8ee74579fa323ac53801330e6d9f1366d15bbc8b4"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Extends an inferred pattern or copied formula with Auto Fill and checks exception/boundary outputs instead of assuming the guessed sequence is correct.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "generation",
              "mixed"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-5.3",
            "wording": "insert and delete multiple columns or rows",
            "objective_wording_sha256": "9403b7be573b98ba1b40397993316ea1cf4e5c7ba1d5025d7f38fd992981e2e8",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Manipulate data in worksheets",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "2. Cells and ranges",
                "start_line": 63,
                "end_line": 63,
                "span_lf_sha256": "172949e5dd362ebd06f2d3a9259d3a2223f40bfd2475a401b2ef347338423d52"
              },
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Inserts/deletes selected rows/columns while preserving record association and distinguishes structural deletion from merely clearing their cell contents.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "cells",
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-5.4",
            "wording": "insert and delete cells",
            "objective_wording_sha256": "51834a8e09ed119af22c2bf766083e90b6a91840e15c85e360a6c6f2b6859b83",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Manipulate data in worksheets",
            "group_number": 5,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "2. Cells and ranges",
                "start_line": 63,
                "end_line": 63,
                "span_lf_sha256": "172949e5dd362ebd06f2d3a9259d3a2223f40bfd2475a401b2ef347338423d52"
              },
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses disposable copies to contrast Delete Cells, which shifts neighbors, with Clear Contents/Formats, which retains the cell positions.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "cells",
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-5.5",
            "wording": "generate numeric data by using RANDBETWEEN() and SEQUENCE()",
            "objective_wording_sha256": "9dd1aea6a2d4cae54cfd03fba827300a5a4e38fd6f2e449f19c0038d23b172bc",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Manipulate data in worksheets",
            "group_number": 5,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "2. Cells and ranges",
                "start_line": 69,
                "end_line": 69,
                "span_lf_sha256": "83f43b2839d7be27bf0ccec035f14f7966f5ce406d64c8d9f9559e9b074189fb"
              },
              {
                "heading": "Worked examples",
                "start_line": 125,
                "end_line": 125,
                "span_lf_sha256": "943389f40aab22bdbe3e27cd1cf83091535fdadc1e26e0587228a12d180e5258"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Specifies inclusive RANDBETWEEN limits and a deterministic 2×3 SEQUENCE with six expected values, tests an obstructed spill and rejects random values as stable unique IDs.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "generation",
              "sequence"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-6.1",
            "wording": "merge and unmerge cells",
            "objective_wording_sha256": "2450b3c858f012c0d3f9c2797b56b723685c5679d4181d71e7b2bca37c194cc8",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Format cells and ranges",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Merges only a title over empty presentation cells, unmerges and checks the surviving value, warning against destructive merges in data records.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-6.2",
            "wording": "modify cell alignment, orientation, and indentation",
            "objective_wording_sha256": "c364f3090b9fa87912b7d5d80f9ce051685f6e05ed4e960bcebfd2371cf53fae",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Format cells and ranges",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Uses Format Cells Alignment for orientation, indentation and horizontal/vertical alignment, then inspects long-header readability.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-6.3",
            "wording": "format cells by using Format Painter",
            "objective_wording_sha256": "3c80a63ea1199758dd206bac6063d24ec56c55afbe9a45afaff06a0185d358c2",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Format cells and ranges",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Copies the correctly formatted source cell with Format Painter and checks the destination value/formula were not unintentionally replaced.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-6.4",
            "wording": "wrap text within cells",
            "objective_wording_sha256": "9ce3d8f47841353b7cd23c562c20f5acfba53a79a8d2a860c862e569ebd309d0",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Format cells and ranges",
            "group_number": 6,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Applies wrap to a long header and adjusts row/column dimensions so wrapped content is actually visible.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-6.5",
            "wording": "apply number formats",
            "objective_wording_sha256": "a9b2f8b52f9e915f80eb49c80b89f82ab1190a1e720f393f25c98750262e72dd",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Format cells and ranges",
            "group_number": 6,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Applies a numeric format while comparing the formula-bar stored value, preserving the distinction between presentation and underlying type/value.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-6.6",
            "wording": "apply cell formats from the Format Cells dialog box",
            "objective_wording_sha256": "c206dd0810e68fe53698db21c72ee52070c0c424fd0718d5832fb1fa60e5996a",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Format cells and ranges",
            "group_number": 6,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Uses the Format Cells dialog’s Alignment controls on a selected range and separately checks number formatting and stored values.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-6.7",
            "wording": "apply cell styles",
            "objective_wording_sha256": "42a66b20eafae21ca472200bdba782d8b18f67bfbf62872cdd3491b7ce3e352a",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Format cells and ranges",
            "group_number": 6,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              },
              {
                "heading": "2. Cells and ranges",
                "start_line": 71,
                "end_line": 71,
                "span_lf_sha256": "f86c0c53bf5fee49dd9f5522264af749b8e67dcaa1c9b34dbd768bf7c549d99f"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Applies a built-in cell style to a heading and distinguishes it from conditional-rule and number-format layers.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "format",
              "grouped"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-6.8",
            "wording": "clear cell formatting",
            "objective_wording_sha256": "8750cd02d6fe9ee708903ca951089c57207bd9d6814674b1b1b77c9790745d65",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Format cells and ranges",
            "group_number": 6,
            "objective_number": 8,
            "evidence_spans": [
              {
                "heading": "Worked navigation and presentation pass",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "ca3c153e0ad1e011733462f8782b7b462ec2bce008ec7db749d1fb26bc5193b8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Uses Clear Formats on a copy and verifies values/formulas remain, comparing it with content clearing and structural deletion.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-6.9",
            "wording": "format multiple worksheets by grouping",
            "objective_wording_sha256": "d48ec802aa3916b3bddee2ec96374e0cfae1064a4ceb31989449184770e715d3",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Format cells and ranges",
            "group_number": 6,
            "objective_number": 9,
            "evidence_spans": [
              {
                "heading": "2. Cells and ranges",
                "start_line": 71,
                "end_line": 71,
                "span_lf_sha256": "f86c0c53bf5fee49dd9f5522264af749b8e67dcaa1c9b34dbd768bf7c549d99f"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Groups only intended worksheets for identical formatting, checks the selected set and ungroups before sheet-specific edits.",
            "repair_packet_ids": [
              "excel-navigation-and-formatting"
            ],
            "selected_section_keys": [
              "grouped"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-7.1",
            "wording": "define a named range",
            "objective_wording_sha256": "6dfbb5d7920af3c44a899e0280482cf2d1c8f18c62780ff212d45cf56cc8e1d5",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Define and reference named ranges",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 89,
                "end_line": 89,
                "span_lf_sha256": "d22611fb3523d83690638ad6d4c1c3d47aea1ee2ba75bdd398d85de63065774b"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Defines workbook-scoped TaxRate for Summary!B2 and inspects Refers to; it also explains local-name qualification and duplicate scope.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "name"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-7.2",
            "wording": "reference a named range",
            "objective_wording_sha256": "c8809b318135f4c8720b4f4fa063cc9eae3a9102b8845a6e584504c5a8c1f4c0",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Define and reference named ranges",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 89,
                "end_line": 89,
                "span_lf_sha256": "d22611fb3523d83690638ad6d4c1c3d47aea1ee2ba75bdd398d85de63065774b"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "References TaxRate from another sheet in a 100-unit calculation with expected 110, checking scope rather than merely typing a familiar name.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "name"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-8.1",
            "wording": "insert Sparklines",
            "objective_wording_sha256": "ba10269538eac25188acb24209698739bff665f89635119a9636b827675b822b",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Summarize data visually",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "2. Cells and ranges",
                "start_line": 71,
                "end_line": 71,
                "span_lf_sha256": "f86c0c53bf5fee49dd9f5522264af749b8e67dcaa1c9b34dbd768bf7c549d99f"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses a compact in-cell trend and checks its source range and scale so comparisons are based on the intended records.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "grouped"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-8.2",
            "wording": "apply built-in conditional formatting",
            "objective_wording_sha256": "8a5500170197966de9114059d8ccb5eb2b467bf9f6666cbb1d99d286ea5515ce",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Summarize data visually",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked built-in conditional rule",
                "start_line": 75,
                "end_line": 75,
                "span_lf_sha256": "3047a1ef45a67bd3751c02556bd1d3bce054bea65102739e213039df593a49c1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Selects B2:B5 containing 50/100/150/200 and applies a built-in Greater Than 100 highlight. It predicts only 150/200, then changes input B3 to 101 while retaining threshold 100 so three values qualify. This actual applied workflow repairs independent finding G05-B-004; the earlier initially adequate/author-pass decision was too generous.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "conditionalwork"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword.",
            "additional_independent_repair_ids": [
              "G05-B-004"
            ],
            "independent_repair_disposition": "Actual built-in-rule workflow reread after coordinator repair; separate from original 61 initial flags. Initial history is preserved."
          },
          {
            "objective_id": "MO-210-8.3",
            "wording": "remove conditional formatting",
            "objective_wording_sha256": "4d4f47bd4e738cc73d1f4ab2ccd8a205f3076b9cd730921d2fbbfa8c2a6a26f3",
            "domain": "Manage data cells and ranges (25–30%)",
            "group": "Summarize data visually",
            "group_number": 8,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "2. Cells and ranges",
                "start_line": 71,
                "end_line": 71,
                "span_lf_sha256": "f86c0c53bf5fee49dd9f5522264af749b8e67dcaa1c9b34dbd768bf7c549d99f"
              },
              {
                "heading": "Worked built-in conditional rule",
                "start_line": 75,
                "end_line": 75,
                "span_lf_sha256": "3047a1ef45a67bd3751c02556bd1d3bce054bea65102739e213039df593a49c1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses Manage Rules to verify comparison and Applies to range, deletes only the created rule and checks all values plus manual two-decimal number formatting remain. It rejects Clear Formats for removing a single conditional rule; the new independent repair supplies a concrete artifact check beyond the prior conceptual removal advice.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "grouped",
              "conditionalwork"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword.",
            "additional_independent_repair_ids": [
              "G05-B-004"
            ],
            "independent_repair_disposition": "Actual built-in-rule workflow reread after coordinator repair; separate from original 61 initial flags. Initial history is preserved."
          },
          {
            "objective_id": "MO-210-9.1",
            "wording": "create Excel tables from cell ranges",
            "objective_wording_sha256": "76b93894689bd6c983b7f5c935050eb8a279462a8b6cd4126952c1f2d2641f7c",
            "domain": "Manage tables and table data (10–15%)",
            "group": "Create and format tables",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 91,
                "end_line": 91,
                "span_lf_sha256": "f730a821f11b79941a63a41d1a05e5db2c1a6b367e8263cb500415c02076c85a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Creates SalesData from the complete labeled Item/Quantity/Price range with My table has headers and verifies calculated-row expansion.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "table"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-9.2",
            "wording": "apply table styles",
            "objective_wording_sha256": "718ff70ed7be37ec0f420d58a1ec8c1d0f49e54f588431ec443514f962f04042",
            "domain": "Manage tables and table data (10–15%)",
            "group": "Create and format tables",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "3. Tables",
                "start_line": 81,
                "end_line": 81,
                "span_lf_sha256": "b81d56f31225ce7be017ba458c8b2999d06557b6b5c3575cee63d48c8701d707"
              },
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 91,
                "end_line": 91,
                "span_lf_sha256": "f730a821f11b79941a63a41d1a05e5db2c1a6b367e8263cb500415c02076c85a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Applies a table style while treating banding/first-column emphasis as separately chosen options, preserving records and numeric outputs.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "tableconcept",
              "table"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-9.3",
            "wording": "convert tables to cell ranges",
            "objective_wording_sha256": "86cd38faeb897da959d6be019e814ec891efd26480169b877450a4659c710ca7",
            "domain": "Manage tables and table data (10–15%)",
            "group": "Create and format tables",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 91,
                "end_line": 91,
                "span_lf_sha256": "f730a821f11b79941a63a41d1a05e5db2c1a6b367e8263cb500415c02076c85a"
              },
              {
                "heading": "3. Tables",
                "start_line": 85,
                "end_line": 85,
                "span_lf_sha256": "3ad50818a60c7a0a6e6e7aa5a52c17493ad209932e02902f5d06517f4b4500a5"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Converts a copy to a normal range, inspects the converted formulas and verifies removed automatic structured expansion behavior.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "table",
              "totals"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-10.1",
            "wording": "add or remove table rows and columns",
            "objective_wording_sha256": "6bb73d6c45b64081fcdcc6c39559b336f220f4eea87e31eaf55a8331ef393f90",
            "domain": "Manage tables and table data (10–15%)",
            "group": "Modify tables",
            "group_number": 10,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 91,
                "end_line": 91,
                "span_lf_sha256": "f730a821f11b79941a63a41d1a05e5db2c1a6b367e8263cb500415c02076c85a"
              },
              {
                "heading": "3. Tables",
                "start_line": 81,
                "end_line": 81,
                "span_lf_sha256": "b81d56f31225ce7be017ba458c8b2999d06557b6b5c3575cee63d48c8701d707"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Adds the C/1/5 record and Amount column, checks the new calculated value and expanding total, and preserves records when modifying the table structure.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "table",
              "tableconcept"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-10.2",
            "wording": "configure table style options",
            "objective_wording_sha256": "9830bda46d375870906caedcc9706460fc37d4b53d99c37bfc84a03b094b30f9",
            "domain": "Manage tables and table data (10–15%)",
            "group": "Modify tables",
            "group_number": 10,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 91,
                "end_line": 91,
                "span_lf_sha256": "f730a821f11b79941a63a41d1a05e5db2c1a6b367e8263cb500415c02076c85a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Toggles banded rows/first-column emphasis independently of the style and checks presentation against the same underlying table population.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "table"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-10.3",
            "wording": "insert and configure total rows",
            "objective_wording_sha256": "3ca0ca1d8b3ec0fa0ece95fcd92db7a4e8c5c83c1e44fbcc13703dd619478a6a",
            "domain": "Manage tables and table data (10–15%)",
            "group": "Modify tables",
            "group_number": 10,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "3. Tables",
                "start_line": 85,
                "end_line": 85,
                "span_lf_sha256": "3ad50818a60c7a0a6e6e7aa5a52c17493ad209932e02902f5d06517f4b4500a5"
              },
              {
                "heading": "Worked examples",
                "start_line": 128,
                "end_line": 128,
                "span_lf_sha256": "93cf54dad0b6bbe0fce066b12f244cd2c8bf2063bf37c4f50ebf5e87d8d672d7"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Configures a Total Row and inspects its SUBTOTAL behavior under filters rather than assuming its position implies all stored rows were summed.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "totals",
              "visible"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-11.1",
            "wording": "filter records",
            "objective_wording_sha256": "b96c3774e90688cc4e7439c052fe76c399101cbd798396b2523795130c00f636",
            "domain": "Manage tables and table data (10–15%)",
            "group": "Filter and sort table data",
            "group_number": 11,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 91,
                "end_line": 91,
                "span_lf_sha256": "f730a821f11b79941a63a41d1a05e5db2c1a6b367e8263cb500415c02076c85a"
              },
              {
                "heading": "3. Tables",
                "start_line": 83,
                "end_line": 83,
                "span_lf_sha256": "9abc6740299e79e5c8b223842017e566bc80edfa5eddf87003e5a642b6a2cef5"
              },
              {
                "heading": "Worked examples",
                "start_line": 128,
                "end_line": 128,
                "span_lf_sha256": "93cf54dad0b6bbe0fce066b12f244cd2c8bf2063bf37c4f50ebf5e87d8d672d7"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Filters an item and reconciles the visible population with the standard Total Row, contrasting a 400 visible total with the full 600 stored sum.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "table",
              "filter",
              "visible"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-11.2",
            "wording": "sort data by multiple columns",
            "objective_wording_sha256": "59d6538afb08022d4d1556d0e5390e253676a01b46458a22ddabdd0c5ef57a82",
            "domain": "Manage tables and table data (10–15%)",
            "group": "Filter and sort table data",
            "group_number": 11,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 91,
                "end_line": 91,
                "span_lf_sha256": "f730a821f11b79941a63a41d1a05e5db2c1a6b367e8263cb500415c02076c85a"
              },
              {
                "heading": "3. Tables",
                "start_line": 83,
                "end_line": 83,
                "span_lf_sha256": "9abc6740299e79e5c8b223842017e566bc80edfa5eddf87003e5a642b6a2cef5"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Sorts complete records by Item then Quantity with explicit priority and warns that sorting reorders rows while filtering only hides records.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "table",
              "filter"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-12.1",
            "wording": "insert relative, absolute, and mixed references",
            "objective_wording_sha256": "62e76092bae4c7a4a780d5453728dd96ee59e0c92c4b3f347f113f8ff8432252",
            "domain": "Perform operations by using formulas and functions (15–20%)",
            "group": "insert references",
            "group_number": 12,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4. Formulas and functions",
                "start_line": 97,
                "end_line": 97,
                "span_lf_sha256": "d44e776e0bef3c3b48d864177f5fea028a8b6a0c77cfb5a51bdfa99990bd3566"
              },
              {
                "heading": "Worked examples",
                "start_line": 124,
                "end_line": 124,
                "span_lf_sha256": "93940df277143e7b223e79e8ee74579fa323ac53801330e6d9f1366d15bbc8b4"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Predicts fixed/moving row and column coordinates and fills =$B2*(1+C$1) in two directions with expected 105/110/210/220 outputs.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "refs",
              "mixed"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-12.2",
            "wording": "use structured references in formulas",
            "objective_wording_sha256": "5c5d4cea2cb4caad17578572d120c2c96b02fcb24bee1d8a4cae7340bd39eb7b",
            "domain": "Perform operations by using formulas and functions (15–20%)",
            "group": "insert references",
            "group_number": 12,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 91,
                "end_line": 91,
                "span_lf_sha256": "f730a821f11b79941a63a41d1a05e5db2c1a6b367e8263cb500415c02076c85a"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Uses row-scoped [@Quantity]*[@Price] versus whole-column SUM(SalesData[Amount]), then adds a row and verifies the total changes from 80 to 85.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "table"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-13.1",
            "wording": "perform calculations by using the AVERAGE(), MAX(), MIN(), and SUM() functions",
            "objective_wording_sha256": "195d6639a86f3274cddcbfe1ebda2f4814c8ab6e067af41b6e4f089688996713",
            "domain": "Perform operations by using formulas and functions (15–20%)",
            "group": "calculate and transform data",
            "group_number": 13,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 93,
                "end_line": 93,
                "span_lf_sha256": "6e01b3dd28a3a5963ae07320face29108b2b4dc093c19b6483d8797eea13fab9"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Computes SUM 85, AVERAGE 85/3, MAX 60 and MIN 5 for 20/60/5, keeping numeric values separate from presentation.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "branch"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-13.2",
            "wording": "count cells by using the COUNT(), COUNTA(), and COUNTBLANK() functions",
            "objective_wording_sha256": "872e467a7db13a72443b80a6a087bdea7dabdd104cd168723867f9b532b0e33f",
            "domain": "Perform operations by using formulas and functions (15–20%)",
            "group": "calculate and transform data",
            "group_number": 13,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Formulas and functions",
                "start_line": 101,
                "end_line": 101,
                "span_lf_sha256": "605c3acf33bb6706d444c1798e1bc8a3e4022966d0aabf7e098264083974e2a5"
              },
              {
                "heading": "Worked examples",
                "start_line": 123,
                "end_line": 123,
                "span_lf_sha256": "c96bbddd1f2ce151c7ae50d87c29f6068db266552d6244f6c10e38f3171942fe"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Tests numeric zero, empty cells, text numbers and empty-text formulas with COUNT 2, COUNTA 5 and COUNTBLANK 2 and explains their overlap.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "count",
              "counts"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-13.3",
            "wording": "perform conditional operations by using the IF() function",
            "objective_wording_sha256": "f261c13c8a598fb71048e793f9113f70bfca81bdab26aece0819b15f6549b423",
            "domain": "Perform operations by using formulas and functions (15–20%)",
            "group": "calculate and transform data",
            "group_number": 13,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked names, structured references and branch checks",
                "start_line": 93,
                "end_line": 93,
                "span_lf_sha256": "6e01b3dd28a3a5963ae07320face29108b2b4dc093c19b6483d8797eea13fab9"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Separates input D2 from IF result E2 on a test sheet and checks 19/20/21/0 against Below/Meets/Meets/Below while leaving SalesData formulas intact.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "branch"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-13.4",
            "wording": "sort data by using the SORT() function",
            "objective_wording_sha256": "a6a8d4129cb8a161f4b550814efb61b198948c52780bab739573434f8736c530",
            "domain": "Perform operations by using formulas and functions (15–20%)",
            "group": "calculate and transform data",
            "group_number": 13,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "4. Formulas and functions",
                "start_line": 103,
                "end_line": 103,
                "span_lf_sha256": "c5b9759fe10ded36ea901ed35c79800b69f24c1f670f5a8cee870c25ac201d0a"
              },
              {
                "heading": "Worked examples",
                "start_line": 126,
                "end_line": 126,
                "span_lf_sha256": "54d0b929f3cbbe5abdd67b8d320ccc88d9886a5a5ed98930c922814eefbf1715"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Returns a separate sorted array with SORT instead of reordering source rows and checks full-record range/blocked-spill conditions.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "arrays",
              "unique"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-13.5",
            "wording": "get unique values by using the UNIQUE() function",
            "objective_wording_sha256": "184c9c759132b44df61ee8c0f32d29b7446cc4c9ff159b4b161d7ae4157b0b92",
            "domain": "Perform operations by using formulas and functions (15–20%)",
            "group": "calculate and transform data",
            "group_number": 13,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "4. Formulas and functions",
                "start_line": 103,
                "end_line": 103,
                "span_lf_sha256": "c5b9759fe10ded36ea901ed35c79800b69f24c1f670f5a8cee870c25ac201d0a"
              },
              {
                "heading": "Worked examples",
                "start_line": 126,
                "end_line": 126,
                "span_lf_sha256": "54d0b929f3cbbe5abdd67b8d320ccc88d9886a5a5ed98930c922814eefbf1715"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses UNIQUE for East/North/South versus exactly_once returning only East, preserving the original repeated source records.",
            "repair_packet_ids": [
              "excel-names-tables-and-formulas"
            ],
            "selected_section_keys": [
              "arrays",
              "unique"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-14.1",
            "wording": "format text by using RIGHT(), LEFT(), and MID() functions",
            "objective_wording_sha256": "2be2652be5a824aea0bcd24e2f15caa59cc81d5442a6398beb527795d8a45100",
            "domain": "Perform operations by using formulas and functions (15–20%)",
            "group": "format and modify text",
            "group_number": 14,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4. Formulas and functions",
                "start_line": 105,
                "end_line": 105,
                "span_lf_sha256": "ae9d66f6e7585284ffc9850fcfc52f207c0e3b07d644e9ff30793d2a936f15fc"
              },
              {
                "heading": "Worked examples",
                "start_line": 127,
                "end_line": 127,
                "span_lf_sha256": "3fc0f5dc359afdce7fd1d4b012c6fcd420c927829bb5703884ffe6d2fbc7e911"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Extracts ny and 0012 from ny-0012 using LEFT/RIGHT/MID with explicit edge/position reasoning and preserves digits as text.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "text",
              "identifier"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-14.2",
            "wording": "format text by using UPPER(), LOWER(), and LEN() functions",
            "objective_wording_sha256": "1931c16672b5da9d8ebf39fa1ce1f066fe35cb2df904a2d604d331a3fabeae90",
            "domain": "Perform operations by using formulas and functions (15–20%)",
            "group": "format and modify text",
            "group_number": 14,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Formulas and functions",
                "start_line": 105,
                "end_line": 105,
                "span_lf_sha256": "ae9d66f6e7585284ffc9850fcfc52f207c0e3b07d644e9ff30793d2a936f15fc"
              },
              {
                "heading": "Worked examples",
                "start_line": 127,
                "end_line": 127,
                "span_lf_sha256": "3fc0f5dc359afdce7fd1d4b012c6fcd420c927829bb5703884ffe6d2fbc7e911"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Explains UPPER/LOWER case normalization and LEN character counting, with NY-0012 and length 7 as inspected expected outputs.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "text",
              "identifier"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-14.3",
            "wording": "format text by using the CONCAT() and TEXTJOIN() functions",
            "objective_wording_sha256": "ff525f8fc52da5ed135014f283b401bc518e8596e1d7117ffeee482c3a7a0c9e",
            "domain": "Perform operations by using formulas and functions (15–20%)",
            "group": "format and modify text",
            "group_number": 14,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4. Formulas and functions",
                "start_line": 105,
                "end_line": 105,
                "span_lf_sha256": "ae9d66f6e7585284ffc9850fcfc52f207c0e3b07d644e9ff30793d2a936f15fc"
              },
              {
                "heading": "Worked examples",
                "start_line": 127,
                "end_line": 127,
                "span_lf_sha256": "3fc0f5dc359afdce7fd1d4b012c6fcd420c927829bb5703884ffe6d2fbc7e911"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Distinguishes separator-free CONCAT from delimiter/empty-cell-aware TEXTJOIN and checks NY / 0012 while retaining textual identifiers.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "text",
              "identifier"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-15.1",
            "wording": "create charts",
            "objective_wording_sha256": "8ba8905146f5b49a107dcc1d66d43f70656a2c2967cb910428071b44086ef071",
            "domain": "Manage charts (15–20%)",
            "group": "create charts",
            "group_number": 15,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "5. Charts",
                "start_line": 109,
                "end_line": 109,
                "span_lf_sha256": "b439e9f119468cd9ca6b1224d46c487df0e6020b52208eff070ad5047d647610"
              },
              {
                "heading": "Worked chart revision",
                "start_line": 115,
                "end_line": 115,
                "span_lf_sha256": "e25131182569d3f72791d5770ef41b67d64a21defe22829947563ac1e704d545"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Selects Month/Actual and inserts a clustered column chart for category comparison, then checks Jan/Feb category labels and both Actual/Plan values.",
            "repair_packet_ids": [
              "excel-chart-edit"
            ],
            "selected_section_keys": [
              "chartconcept",
              "chart"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-15.2",
            "wording": "create chart sheets",
            "objective_wording_sha256": "50d22aa832a4667638a4b6dd6262316ac8dc017e0c1db1e0563486ee8bd9beaf",
            "domain": "Manage charts (15–20%)",
            "group": "create charts",
            "group_number": 15,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "5. Charts",
                "start_line": 111,
                "end_line": 111,
                "span_lf_sha256": "39793378473c92b76292538de1a32a82e70352375ddf6367503de3cbd053fb38"
              },
              {
                "heading": "Worked chart revision",
                "start_line": 115,
                "end_line": 115,
                "span_lf_sha256": "e25131182569d3f72791d5770ef41b67d64a21defe22829947563ac1e704d545"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses Move Chart → New sheet for a chart sheet versus Object in for embedding, preserving the distinction between chart-only and worksheet placement.",
            "repair_packet_ids": [
              "excel-chart-edit"
            ],
            "selected_section_keys": [
              "chartsheet",
              "chart"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-16.1",
            "wording": "add data series to charts",
            "objective_wording_sha256": "6c09d483df8cc318e819909ee903b6f0f85e3914edff4a737d249a23fbb9ae4c",
            "domain": "Manage charts (15–20%)",
            "group": "modify charts",
            "group_number": 16,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked chart revision",
                "start_line": 115,
                "end_line": 115,
                "span_lf_sha256": "e25131182569d3f72791d5770ef41b67d64a21defe22829947563ac1e704d545"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Adds Plan through Select Data using its header and value range, then verifies legend names and all four expected values.",
            "repair_packet_ids": [
              "excel-chart-edit"
            ],
            "selected_section_keys": [
              "chart"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-16.2",
            "wording": "switch between rows and columns in source data",
            "objective_wording_sha256": "13e21d377f6beb9734989cc074be0a239b5a35e9b2fb8049029bf57db17eac95",
            "domain": "Manage charts (15–20%)",
            "group": "modify charts",
            "group_number": 16,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked chart revision",
                "start_line": 115,
                "end_line": 115,
                "span_lf_sha256": "e25131182569d3f72791d5770ef41b67d64a21defe22829947563ac1e704d545"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Switches rows/columns, explains which dimension became the series and restores the intended Month/Actual/Plan relationship.",
            "repair_packet_ids": [
              "excel-chart-edit"
            ],
            "selected_section_keys": [
              "chart"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-16.3",
            "wording": "add and modify chart elements",
            "objective_wording_sha256": "e7499e6e23faa6a2692f69832fee85bdcbb3204a0b71fb7d543e72f36a9d1bd5",
            "domain": "Manage charts (15–20%)",
            "group": "modify charts",
            "group_number": 16,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked chart revision",
                "start_line": 115,
                "end_line": 115,
                "span_lf_sha256": "e25131182569d3f72791d5770ef41b67d64a21defe22829947563ac1e704d545"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Adds axis titles and data labels and rechecks their values/units after February Actual changes to 160, diagnosing a stale source range before styling.",
            "repair_packet_ids": [
              "excel-chart-edit"
            ],
            "selected_section_keys": [
              "chart"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-17.1",
            "wording": "apply chart layouts",
            "objective_wording_sha256": "2cc1e21544e5453751ff596ab8f7f2d978ed89f0cd7835db22d15d0fb1e5b7f1",
            "domain": "Manage charts (15–20%)",
            "group": "format charts",
            "group_number": 17,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked chart revision",
                "start_line": 115,
                "end_line": 115,
                "span_lf_sha256": "e25131182569d3f72791d5770ef41b67d64a21defe22829947563ac1e704d545"
              },
              {
                "heading": "5. Charts",
                "start_line": 111,
                "end_line": 111,
                "span_lf_sha256": "39793378473c92b76292538de1a32a82e70352375ddf6367503de3cbd053fb38"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Applies a chart layout separately from a visual style and verifies the categories, labels and source values survived the change.",
            "repair_packet_ids": [
              "excel-chart-edit"
            ],
            "selected_section_keys": [
              "chart",
              "chartsheet"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-17.2",
            "wording": "apply chart styles",
            "objective_wording_sha256": "29f869b8896745bf2fe4d5b6f9e931904799f28a940a1a838b64ad69f03e7e3f",
            "domain": "Manage charts (15–20%)",
            "group": "format charts",
            "group_number": 17,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked chart revision",
                "start_line": 115,
                "end_line": 115,
                "span_lf_sha256": "e25131182569d3f72791d5770ef41b67d64a21defe22829947563ac1e704d545"
              },
              {
                "heading": "5. Charts",
                "start_line": 111,
                "end_line": 111,
                "span_lf_sha256": "39793378473c92b76292538de1a32a82e70352375ddf6367503de3cbd053fb38"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Applies a visual chart style after establishing the correct series/axes, preserving the warning that attractive formatting cannot repair missing data.",
            "repair_packet_ids": [
              "excel-chart-edit"
            ],
            "selected_section_keys": [
              "chart",
              "chartsheet"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-210-17.3",
            "wording": "add alternative text to charts for accessibility",
            "objective_wording_sha256": "ba33d7289bb8351bdfdcfdc581704398fbe93565b390518005600d7268f02eeb",
            "domain": "Manage charts (15–20%)",
            "group": "format charts",
            "group_number": 17,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked chart revision",
                "start_line": 115,
                "end_line": 115,
                "span_lf_sha256": "e25131182569d3f72791d5770ef41b67d64a21defe22829947563ac1e704d545"
              },
              {
                "heading": "5. Charts",
                "start_line": 111,
                "end_line": 111,
                "span_lf_sha256": "39793378473c92b76292538de1a32a82e70352375ddf6367503de3cbd053fb38"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Adds explanatory chart alt text, then rechecks it with the revised Actual value so accessibility describes the intended comparison rather than only object appearance.",
            "repair_packet_ids": [
              "excel-chart-edit"
            ],
            "selected_section_keys": [
              "chart",
              "chartsheet"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          }
        ]
      },
      {
        "exam_code": "MO-211",
        "guide_path": "guides/MO-211-microsoft-excel-expert.md",
        "guide_lf_sha256": "c86adc45edf779b57fa9a1eb933fbbb2d20175042f53890031b16573d2f06d60",
        "objective_raw_sha256": "174e46cb264079c29287f88c0b16eafdeac46dfb7f746bb6323aeec315944e34",
        "objective_count": 48,
        "group_count": 14,
        "domain_count": 4,
        "accepted_objective_path": "data/objective-snapshots/mo-211-official-objectives.txt",
        "accepted_objective_scope": "coarse official page domains only",
        "accepted_status_path": "data/objective-snapshots/mo-211-official-status.json",
        "accepted_status_raw_sha256": "0f072c8b3c675f38917a10f3a5aadc709d52c9873e7794436a569f44e21df657",
        "detailed_objective_evidence": {
          "url": "https://arch-center.azureedge.net/Learning/Credentials/MO-211_OD_MOS365_ExcelExpert.pdf",
          "pdf_raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo211-skills.pdf",
          "pdf_raw_sha256": "f6cc84c4249cc1379a9f80cdb818bf6d2481474955ddfd818507de89f4eb124f",
          "pdf_page_count": 3,
          "pdf_extracted_text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-plain-mo211.txt",
          "pdf_extracted_text_raw_sha256": "b098e58eafd8f467990d57d31dd1b87403ec2243c3bf2a25211244416c176c90",
          "layout_extraction_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo211-skills.txt",
          "layout_extraction_raw_sha256": "2c966bbfaa5ee19eb932471780aa0059a15c0d7be90afd305a8682b475c6e326",
          "detailed_task_text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-current-mo211-detailed-tasks.txt",
          "detailed_task_text_raw_sha256": "6f6c947df4e3c8c2345105cb54df4613bf9199204d0f434a4de7cd12ad85419d",
          "task_extraction_rule": "Ordered detailed PDF bullets; collapsed whitespace/continued wrapped bullet lines; one complete task per LF-terminated line. Domain/group identity retained in current_mapping.",
          "coarse_snapshot_relationship": "Accepted objective snapshot contains only broad domains. Its raw hash is separate; detailed task wording/hash is bound to this official PDF and captured extraction, not asserted to occur in the coarse accepted text."
        },
        "capture_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-211-microsoft-excel-expert.md",
        "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-211.diff",
        "diff_raw_sha256": "78b2150dcfe48e4ece82433a9f4d5591d83577e02b60074ce15f26d7a16b59be",
        "current_mapping": [
          {
            "objective_id": "MO-211-1.1",
            "wording": "Copy macros between workbooks",
            "objective_wording_sha256": "553ad3f1ee610efe6ea2c5a19bff519e17d0243bee7237f3b89193ee955e82e8",
            "domain": "Manage workbook options and settings (10–15%)",
            "group": "Manage workbooks",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Workbook options and settings",
                "start_line": 48,
                "end_line": 48,
                "span_lf_sha256": "5d4b5bf4c5c6e17a568efcd86912bff398de76308df292f11b7f384b4322cd2c"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Opens source/destination workbooks and copies the module through Project Explorer, checking old workbook references and retained VBA format separately from execution permission.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "copymacro"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-1.2",
            "wording": "Reference data in other workbooks",
            "objective_wording_sha256": "964d03524db394f963f99762c002f86b010525745084e24ee45f283f99f85518",
            "domain": "Manage workbook options and settings (10–15%)",
            "group": "Manage workbooks",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Workbook options and settings",
                "start_line": 42,
                "end_line": 42,
                "span_lf_sha256": "dbd4a5dcf2166058e12b0412279ab4fb1e328d032727548696270e4b19754bb1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Identifies the source file/sheet/cell, edits the source and compares destination values while warning that a cached display is not proof of refresh.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "external"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-1.3",
            "wording": "Enable macros in a workbook",
            "objective_wording_sha256": "d63984b267d1ee8f2bfb27a03f333be7e600392fc7dd75c16ea85d85dd221e89",
            "domain": "Manage workbook options and settings (10–15%)",
            "group": "Manage workbooks",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "1. Workbook options and settings",
                "start_line": 48,
                "end_line": 48,
                "span_lf_sha256": "5d4b5bf4c5c6e17a568efcd86912bff398de76308df292f11b7f384b4322cd2c"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Enables only locally created or verified macros under environment policy; .xlsm/.xlsb preserves code but does not itself establish trust or enable it.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "copymacro"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-1.4",
            "wording": "Manage workbook versions",
            "objective_wording_sha256": "273ad84ea2bee25984f420d197075a6cd3c6bd4b4ec5ec822252c97d2e68fb00",
            "domain": "Manage workbook options and settings (10–15%)",
            "group": "Manage workbooks",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "1. Workbook options and settings",
                "start_line": 42,
                "end_line": 42,
                "span_lf_sha256": "dbd4a5dcf2166058e12b0412279ab4fb1e328d032727548696270e4b19754bb1"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Saves a checkpoint and inspects supported storage/account version history before restoring a copy, keeping version retrieval distinct from recalculation.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "external"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-2.1",
            "wording": "Restrict editing",
            "objective_wording_sha256": "288aeaaa9dde790b14006ab52ec9f9fb220e00bb026f6bfc7a37b4206569bb7d",
            "domain": "Manage workbook options and settings (10–15%)",
            "group": "Prepare workbooks for collaboration",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Workbook options and settings",
                "start_line": 44,
                "end_line": 44,
                "span_lf_sha256": "c788945bed2d1a18e91e0049750b44e433b3622aa036bb0891379e2f7ddc2c4c"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Unlocks intended input cells before protection, configures allowed actions and tests permitted versus forbidden edits.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "protect"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-2.2",
            "wording": "Protect worksheets and cell ranges",
            "objective_wording_sha256": "e1175ce62132bb026f219933c45c9b86f6e3e35af9b0c070550362f333ff3f13",
            "domain": "Manage workbook options and settings (10–15%)",
            "group": "Prepare workbooks for collaboration",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Workbook options and settings",
                "start_line": 44,
                "end_line": 44,
                "span_lf_sha256": "c788945bed2d1a18e91e0049750b44e433b3622aa036bb0891379e2f7ddc2c4c"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Protects formulas/ranges while leaving intended inputs editable and explicitly tests that protection satisfies the requested edit boundary.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "protect"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-2.3",
            "wording": "Protect workbook structure",
            "objective_wording_sha256": "2d67942ce7e35890f76ddfe00f28fa5327e36aa17f07a9fcb64a5c4721e20dfb",
            "domain": "Manage workbook options and settings (10–15%)",
            "group": "Prepare workbooks for collaboration",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "1. Workbook options and settings",
                "start_line": 44,
                "end_line": 44,
                "span_lf_sha256": "c788945bed2d1a18e91e0049750b44e433b3622aa036bb0891379e2f7ddc2c4c"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Separates workbook structure protection over sheet operations from worksheet protection and encryption/access controls.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "protect"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-2.4",
            "wording": "Configure formula calculation options",
            "objective_wording_sha256": "1c2d8de486763273d688dca93a05ed7066d7f7075c9a2488fcfc76d69802ffc0",
            "domain": "Manage workbook options and settings (10–15%)",
            "group": "Prepare workbooks for collaboration",
            "group_number": 2,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "1. Workbook options and settings",
                "start_line": 46,
                "end_line": 46,
                "span_lf_sha256": "94651474de9ad17ab049104a6eda4fad88a0073bea6656f964b214364015d245"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Changes calculation mode deliberately, tests a changed input in Manual mode and recalculates; hiding stale-value formatting does not make a value current.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "calculate"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-3.1",
            "wording": "Fill cells by using Flash Fill",
            "objective_wording_sha256": "f434d2fb8e64b1415ef5f703c40535b6d82bccf17fbe64a0e00a8148a8160145",
            "domain": "Manage and format data (30–35%)",
            "group": "Fill cells based on existing data",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "2. Manage and format data",
                "start_line": 52,
                "end_line": 52,
                "span_lf_sha256": "57f2f122c62ca3b1e19af0fa36dd2d39ef61b889d560d0fcea49655278d6c8af"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses Flash Fill for recognizable transformations and checks exception rows, explaining that the result is static rather than a recalculating formula.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "fill"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-3.2",
            "wording": "Fill cells by using advanced Fill Series options",
            "objective_wording_sha256": "2c5de1ab012d654fdf9a69b829377740177d258a978dfa6c7ff6a7b904be1cec",
            "domain": "Manage and format data (30–35%)",
            "group": "Fill cells based on existing data",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "2. Manage and format data",
                "start_line": 52,
                "end_line": 52,
                "span_lf_sha256": "57f2f122c62ca3b1e19af0fa36dd2d39ef61b889d560d0fcea49655278d6c8af"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Compares linear, growth and date choices in Fill Series and checks the generated pattern instead of assuming every extension is an arithmetic sequence.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "fill"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-3.3",
            "wording": "Generate numeric data by using RANDARRAY()",
            "objective_wording_sha256": "3904c421fd7be87bc7f2d44855b05a91f5849606018791e6f98dc299d748af01",
            "domain": "Manage and format data (30–35%)",
            "group": "Fill cells based on existing data",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "2. Manage and format data",
                "start_line": 52,
                "end_line": 52,
                "span_lf_sha256": "57f2f122c62ca3b1e19af0fa36dd2d39ef61b889d560d0fcea49655278d6c8af"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Specifies a 4×2 RANDARRAY of integers bounded 1–6, expects possible repeats and retains values-only evidence when reproducibility is needed.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "fill"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-4.1",
            "wording": "Create custom number formats",
            "objective_wording_sha256": "a85ecde4d872e070f49ea963bfde5355765bcf15e3c9544311c1eed121f220a8",
            "domain": "Manage and format data (30–35%)",
            "group": "Format and validate data",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "2. Manage and format data",
                "start_line": 54,
                "end_line": 54,
                "span_lf_sha256": "4e162f5b9a356197fa79c144f25317cfd34569faf335cfb2cfab01c8c9314873"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses 00000 to display 123 as 00123, inspects the formula-bar value and distinguishes the four number-format sections from actual data conversion.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-4.2",
            "wording": "Configure data validation",
            "objective_wording_sha256": "9ab6396c1c7b8b0fb3684ce0c14ad42399ff5073e205ea1448e7c400bfd320aa",
            "domain": "Manage and format data (30–35%)",
            "group": "Format and validate data",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "2. Manage and format data",
                "start_line": 54,
                "end_line": 54,
                "span_lf_sha256": "4e162f5b9a356197fa79c144f25317cfd34569faf335cfb2cfab01c8c9314873"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Configures type/limits/prompt/error alert, distinguishes Stop from overridable alerts and finds pasted/existing violations without pretending circles repair them.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "format"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-4.3",
            "wording": "Group and ungroup data",
            "objective_wording_sha256": "dc620bbead193f7bd72745ad03eb7c8651b184e8b332ce25e95a75393400d492",
            "domain": "Manage and format data (30–35%)",
            "group": "Format and validate data",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "2. Manage and format data",
                "start_line": 56,
                "end_line": 56,
                "span_lf_sha256": "66a85204d587088595003d2acaf8a63407f5bce33e368b1d959aa92e79bf5bbc"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Groups and ungroups detail rows/columns and expands/collapses the outline without deleting the underlying records.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "subtotal"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-4.4",
            "wording": "Calculate data by inserting subtotals and totals",
            "objective_wording_sha256": "a7895401028d2204a5c4e57f853b132c8779c1a2a4d325da9bbe7326a06c1cb2",
            "domain": "Manage and format data (30–35%)",
            "group": "Format and validate data",
            "group_number": 4,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "2. Manage and format data",
                "start_line": 56,
                "end_line": 56,
                "span_lf_sha256": "66a85204d587088595003d2acaf8a63407f5bce33e368b1d959aa92e79bf5bbc"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Sorts a normal range by its group key before Subtotal insertion, chooses the aggregation and reconciles group/grand totals separately from table conversion.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "subtotal"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-4.5",
            "wording": "Remove duplicate records",
            "objective_wording_sha256": "3cd318340f798a23ceeb6d4b535918f243a660005dc70cde59fcef7f2ce08e02",
            "domain": "Manage and format data (30–35%)",
            "group": "Format and validate data",
            "group_number": 4,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "2. Manage and format data",
                "start_line": 56,
                "end_line": 56,
                "span_lf_sha256": "66a85204d587088595003d2acaf8a63407f5bce33e368b1d959aa92e79bf5bbc"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Removes duplicates according to explicitly selected key columns on a preserved copy, distinguishing repeated identifiers from entire-row equality.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "subtotal"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-5.1",
            "wording": "Create custom conditional formatting rules",
            "objective_wording_sha256": "e0eab0efcd984b72816e485f9a9f9a753b1dc75973532b9df373061c89471a0d",
            "domain": "Manage and format data (30–35%)",
            "group": "Apply advanced conditional formatting and filtering",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "2. Manage and format data",
                "start_line": 58,
                "end_line": 58,
                "span_lf_sha256": "cf7b9f93ad1937bf8e292a8380d960df6300456f6e316266a70033a545f7ee2a"
              },
              {
                "heading": "2. Row rules and multiple criteria",
                "start_line": 153,
                "end_line": 153,
                "span_lf_sha256": "e4670e0700241a43dec844452a9e650657d5c568a2afdb3054302505d0914bc4"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Creates custom rules for a stated threshold and tests below/equal/above conditions rather than judging one correctly colored cell.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "rules",
              "ruleexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-5.2",
            "wording": "Create conditional formatting rules that use formulas",
            "objective_wording_sha256": "8b3643cfce2e96024f7a7db3fb27fdcea631697e705a407d10e552b17e853a16",
            "domain": "Manage and format data (30–35%)",
            "group": "Apply advanced conditional formatting and filtering",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "2. Manage and format data",
                "start_line": 58,
                "end_line": 58,
                "span_lf_sha256": "cf7b9f93ad1937bf8e292a8380d960df6300456f6e316266a70033a545f7ee2a"
              },
              {
                "heading": "2. Row rules and multiple criteria",
                "start_line": 153,
                "end_line": 153,
                "span_lf_sha256": "e4670e0700241a43dec844452a9e650657d5c568a2afdb3054302505d0914bc4"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Applies =AND($A2=\"East\",$B2=\"Open\",$C2>=100) to full records and verifies only row 2, explaining why fixed row 2 would misclassify later records.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "rules",
              "ruleexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-5.3",
            "wording": "Manage conditional formatting rules",
            "objective_wording_sha256": "0e16363f133eec89d599f0bf0e43ed76f68ce46390426fddb11908b4a6dfe3db",
            "domain": "Manage and format data (30–35%)",
            "group": "Apply advanced conditional formatting and filtering",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "2. Manage and format data",
                "start_line": 58,
                "end_line": 58,
                "span_lf_sha256": "cf7b9f93ad1937bf8e292a8380d960df6300456f6e316266a70033a545f7ee2a"
              },
              {
                "heading": "2. Row rules and multiple criteria",
                "start_line": 153,
                "end_line": 153,
                "span_lf_sha256": "e4670e0700241a43dec844452a9e650657d5c568a2afdb3054302505d0914bc4"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Inspects Applies to, anchors, overlapping rules, priority and Stop If True, then tests another row and a boundary value.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "rules",
              "ruleexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-6.1",
            "wording": "Perform logical operations by using nested functions including the IF(), IFS(), SWITCH(), SUMIF(), AVERAGEIF(), COUNTIF(), SUMIFS(), AVERAGEIFS(), COUNTIFS(), MAXIFS(), MINIFS(), AND(), OR(), NOT(), and LET() functions",
            "objective_wording_sha256": "c1dde69317e67fa22f342645d8cc13e114f4905c26ad95f0c7f4036517e4103c",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Perform logical operations in formulas",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Logic, criteria and lookup",
                "start_line": 66,
                "end_line": 66,
                "span_lf_sha256": "36acf35fb4e7c0e040e3aa056389dc2d93c14f47221b138d119464c44c442989"
              },
              {
                "heading": "Logic, criteria and lookup",
                "start_line": 67,
                "end_line": 67,
                "span_lf_sha256": "fc0431411220dbd81b45cc5e1de4974255ae34c4693803031136925cc1de7e24"
              },
              {
                "heading": "Logic, criteria and lookup",
                "start_line": 68,
                "end_line": 68,
                "span_lf_sha256": "d3e0928cb0ad087553df02a6d781cf4067d687a9b974e7b65ecff256de9b608d"
              },
              {
                "heading": "Worked logic and legacy lookup checks",
                "start_line": 76,
                "end_line": 76,
                "span_lf_sha256": "10c96a32b305038d5a5a368364c8502a3eda45a8ed18a2019336ca37e38dfbba"
              },
              {
                "heading": "2. Row rules and multiple criteria",
                "start_line": 153,
                "end_line": 153,
                "span_lf_sha256": "e4670e0700241a43dec844452a9e650657d5c568a2afdb3054302505d0914bc4"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Uses named logical/criteria families in actual formulas: ordered IFS, SWITCH fallback, nested IF/AND/OR/NOT, local LET, single-criterion 260/3 and 260, and East/Open multi-criteria aggregates 180/2/90/120/60.",
            "repair_packet_ids": [
              "excel-expert-function-matrix"
            ],
            "selected_section_keys": [
              "logic",
              "criteria",
              "let",
              "logicwork",
              "ruleexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-7.1",
            "wording": "Look up data by using the XLOOKUP(), VLOOKUP(), HLOOKUP(), MATCH(), and INDEX() functions",
            "objective_wording_sha256": "38d1359b3bd62fb0695235550456fa0d7065d09eb2cb6c17a7f897e96d6cc62f",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Look up data by using functions",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Logic, criteria and lookup",
                "start_line": 70,
                "end_line": 70,
                "span_lf_sha256": "4c09fbdd1485fa81bde7ffda2cc77f4183b24ca96575aa8a23d9f8805de1a70a"
              },
              {
                "heading": "Logic, criteria and lookup",
                "start_line": 72,
                "end_line": 72,
                "span_lf_sha256": "996e7ef114cba7ff4d22f8365c656a7b0933ced7857967213b63d04d2aec2e91"
              },
              {
                "heading": "Worked logic and legacy lookup checks",
                "start_line": 78,
                "end_line": 78,
                "span_lf_sha256": "341b071cbc00913a09a91f02ae3fb7f067cc5c58262a955efd4019d0ee40fbb9"
              },
              {
                "heading": "1. Duplicate lookup keys",
                "start_line": 149,
                "end_line": 149,
                "span_lf_sha256": "23cd8648bd5ed1e786517135d9561d3dafd9efa179729383f122f5b0a67d5c0d"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Implements exact VLOOKUP, horizontal HLOOKUP and INDEX/MATCH returning 20, distinguishes MATCH position 2, tests missing/approximate boundary data and compares first/last XLOOKUP with duplicate aggregation.",
            "repair_packet_ids": [
              "excel-expert-function-matrix"
            ],
            "selected_section_keys": [
              "lookup",
              "xlookup",
              "lookupwork",
              "dup"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-8.1",
            "wording": "Reference date and time by using the NOW() and TODAY() functions",
            "objective_wording_sha256": "8f08bc7739ed16b18a00eb48f87d1cdfee6edd973c89cb11d78a8feeac3edfc9",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Use advanced date and time functions",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Dates, analysis and arrays",
                "start_line": 82,
                "end_line": 82,
                "span_lf_sha256": "46f4c38a84f2bf19d530000be4fe2a3aaa13a7ebda4c29e104666b614cb675f9"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses TODAY/NOW as recalculated date/time expressions rather than immutable timestamps and requires real dates instead of ambiguous text.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "dates"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-8.2",
            "wording": "Calculate dates by using the WEEKDAY() and WORKDAY() functions",
            "objective_wording_sha256": "5d30ee33c261dda721a8d5e25122401acc00deb80d4506b3fa19ee9ad6222c52",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Use advanced date and time functions",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Dates, analysis and arrays",
                "start_line": 82,
                "end_line": 82,
                "span_lf_sha256": "46f4c38a84f2bf19d530000be4fe2a3aaa13a7ebda4c29e104666b614cb675f9"
              },
              {
                "heading": "5. Working days",
                "start_line": 165,
                "end_line": 165,
                "span_lf_sha256": "b8acd63c1dd774d0ec6f853297956aa937f4c8fdccd54044a12021bfa3f67cba"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Sets WEEKDAY return type and offsets Friday with WORKDAY, comparing Sep 29/30 results with a stated fictional closure and ordinary calendar addition.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "dates",
              "working"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-9.1",
            "wording": "Summarize data from multiple ranges by using the Consolidate feature",
            "objective_wording_sha256": "5624877b19495edd4cc42b7619b2d8bc9a7c432cfe25dc59d10cd2da8a1d17be",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Perform data analysis",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Dates, analysis and arrays",
                "start_line": 84,
                "end_line": 84,
                "span_lf_sha256": "29bdec9de0996d9cda3d0f81698f848a6c082d953be0baecba5338858f5c889b"
              },
              {
                "heading": "Worked consolidation and what-if analysis",
                "start_line": 88,
                "end_line": 88,
                "span_lf_sha256": "5b1be8afc287845bd522e854ba3283459409da2c02222598d902e111eb901ee0"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Adds both labeled North/South ranges to Sum consolidation, selects category labels and checks A13/B27 versus wrong positional 17/23, then changes a source and distinguishes links from a snapshot.",
            "repair_packet_ids": [
              "excel-expert-analysis"
            ],
            "selected_section_keys": [
              "analysis",
              "consolidate"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-9.2",
            "wording": "Perform what-if analysis by using Goal Seek and Scenario Manager",
            "objective_wording_sha256": "a0685e03b3c54c09cea4a0a014a5f38acf83d8ad2b36764f3d64230b42ea9508",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Perform data analysis",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Dates, analysis and arrays",
                "start_line": 84,
                "end_line": 84,
                "span_lf_sha256": "29bdec9de0996d9cda3d0f81698f848a6c082d953be0baecba5338858f5c889b"
              },
              {
                "heading": "Worked consolidation and what-if analysis",
                "start_line": 90,
                "end_line": 90,
                "span_lf_sha256": "2eab77bb9849756473ece2553c4f1d47956dfc1849ab1a086b5ffd21e4fc7520"
              },
              {
                "heading": "Worked consolidation and what-if analysis",
                "start_line": 92,
                "end_line": 92,
                "span_lf_sha256": "e903cfc9d8a6d4465422217498f50d4d4bebe9f7857cd9497a3ea1bd3b2f1b08"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Sets a formula target B4=300 by changing B2 to about 30, then stores Base and Stretch input sets producing 200/360 and regenerates the static scenario summary after edits.",
            "repair_packet_ids": [
              "excel-expert-analysis"
            ],
            "selected_section_keys": [
              "analysis",
              "goalseek",
              "scenario"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-9.3",
            "wording": "Forecast data by using the AND(), IF(), and NPER() functions",
            "objective_wording_sha256": "27e4e8a310cd23b0577c267cb961593177b4c039a9b63a05f40580c18da33175",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Perform data analysis",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked consolidation and what-if analysis",
                "start_line": 94,
                "end_line": 94,
                "span_lf_sha256": "cce2e12f7a00463d212846af26dd888747d382989f948ddb496a05787fe1b74e"
              },
              {
                "heading": "4. Payment periods and a feasibility gate",
                "start_line": 161,
                "end_line": 161,
                "span_lf_sha256": "cd66158e182ab9a746907d7fa6fba73a47e85f7dbc3a32e249ec7ad8497d3d27"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Gates an NPER estimate with AND/IF and tests valid 100/1200 versus zero payment, preserving constant-model assumptions instead of calling it a market prediction.",
            "repair_packet_ids": [
              "excel-expert-analysis"
            ],
            "selected_section_keys": [
              "finance",
              "payment"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-9.4",
            "wording": "Calculate financial data by using the PMT() function",
            "objective_wording_sha256": "3883521c2e87df10b3bde150d91b0fa93fe667b07853cc7a585efa4fa5fd4af3",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Perform data analysis",
            "group_number": 9,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked consolidation and what-if analysis",
                "start_line": 94,
                "end_line": 94,
                "span_lf_sha256": "cce2e12f7a00463d212846af26dd888747d382989f948ddb496a05787fe1b74e"
              },
              {
                "heading": "4. Payment periods and a feasibility gate",
                "start_line": 161,
                "end_line": 161,
                "span_lf_sha256": "cd66158e182ab9a746907d7fa6fba73a47e85f7dbc3a32e249ec7ad8497d3d27"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Computes zero-rate PMT -100 and distinguishes periodic units/cash-flow signs and beginning/end timing before applying positive annual rates to monthly periods.",
            "repair_packet_ids": [
              "excel-expert-analysis"
            ],
            "selected_section_keys": [
              "finance",
              "payment"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-9.5",
            "wording": "Filter data by using FILTER()",
            "objective_wording_sha256": "83aed38ced9fb92aa9dee964263bec88916ed3520ae7525a5c6abb898720ab9a",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Perform data analysis",
            "group_number": 9,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Worked consolidation and what-if analysis",
                "start_line": 96,
                "end_line": 96,
                "span_lf_sha256": "54c4d9c26ca6f5cae6591b38f3a71fe772c70430120075977a51a6a73cc22325"
              },
              {
                "heading": "3. Filter and sort different projections",
                "start_line": 157,
                "end_line": 157,
                "span_lf_sha256": "3a833e835010c8784deae8863c352a23a82d514348dbb5d6d82d4f789b46e70d"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Filters complete East/Open records with a same-sized Boolean include array, checks 120/60 and no-match text and separates empty results from criteria errors/spill obstructions.",
            "repair_packet_ids": [
              "excel-expert-analysis"
            ],
            "selected_section_keys": [
              "arrays",
              "filterexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-9.6",
            "wording": "Sort data by using SORTBY()",
            "objective_wording_sha256": "6e1d15890f0fcebe279cc179f81921e375fd8a38659d0060690da4e777884fbe",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Perform data analysis",
            "group_number": 9,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Worked consolidation and what-if analysis",
                "start_line": 96,
                "end_line": 96,
                "span_lf_sha256": "54c4d9c26ca6f5cae6591b38f3a71fe772c70430120075977a51a6a73cc22325"
              },
              {
                "heading": "3. Filter and sort different projections",
                "start_line": 157,
                "end_line": 157,
                "span_lf_sha256": "3a833e835010c8784deae8863c352a23a82d514348dbb5d6d82d4f789b46e70d"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Sorts a returned amount array by keys into 200/120/80/60, explains direction/dimension matching and leaves the source records unchanged.",
            "repair_packet_ids": [
              "excel-expert-analysis"
            ],
            "selected_section_keys": [
              "arrays",
              "filterexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-10.1",
            "wording": "Trace precedence and dependence",
            "objective_wording_sha256": "652ee674762c65f863fa844e01deea650e7cffa2f78e2ceedc21219acf77c60f",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Troubleshoot formulas",
            "group_number": 10,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked formula diagnosis",
                "start_line": 104,
                "end_line": 104,
                "span_lf_sha256": "c673ccffd780ab692af5c47709440885fdac41ea431cb0307cd108285994a0f4"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Traces D2 back to B2/C2 and B2 forward to D2, separating precedents from dependents and checking external/untraceable limits.",
            "repair_packet_ids": [
              "excel-expert-audit"
            ],
            "selected_section_keys": [
              "diagnosis"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-10.2",
            "wording": "Monitor cells and formulas by using the Watch Window",
            "objective_wording_sha256": "a3fcbeb8e18cac0d9c1f4e5c991ca7264b4de13b55d4b2b377101e4f2d4f37dd",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Troubleshoot formulas",
            "group_number": 10,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked formula diagnosis",
                "start_line": 104,
                "end_line": 104,
                "span_lf_sha256": "c673ccffd780ab692af5c47709440885fdac41ea431cb0307cd108285994a0f4"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Adds D2 to Watch Window, changes B2 elsewhere and observes the expected wrong 200.1 before repair to 220, then removes the retained watch after evidence capture.",
            "repair_packet_ids": [
              "excel-expert-audit"
            ],
            "selected_section_keys": [
              "diagnosis"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-10.3",
            "wording": "Validate formulas by using error checking rules",
            "objective_wording_sha256": "30d7832286b6371768a1a16fa1379309b0b5ceaaff07eb2cd4c1f47d7f0a38e9",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Troubleshoot formulas",
            "group_number": 10,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked formula diagnosis",
                "start_line": 106,
                "end_line": 106,
                "span_lf_sha256": "6684cd7efa1abc989c8aa8d14b721f310ccf82552e4e2711cf80aa4e95f88589"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Enables relevant formula-error rules, inspects a deliberate division-by-zero through Error Checking and distinguishes ignoring a warning from repairing the requirement.",
            "repair_packet_ids": [
              "excel-expert-audit"
            ],
            "selected_section_keys": [
              "errors"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-10.4",
            "wording": "Evaluate formulas",
            "objective_wording_sha256": "d7d1cec94aa641a1ad10b9ea7a5467ebdda76cf898cfe660fd02331a359da9dd",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Troubleshoot formulas",
            "group_number": 10,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked formula diagnosis",
                "start_line": 104,
                "end_line": 104,
                "span_lf_sha256": "c673ccffd780ab692af5c47709440885fdac41ea431cb0307cd108285994a0f4"
              },
              {
                "heading": "Worked formula diagnosis",
                "start_line": 106,
                "end_line": 106,
                "span_lf_sha256": "6684cd7efa1abc989c8aa8d14b721f310ccf82552e4e2711cf80aa4e95f88589"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Steps through the wrong B2+C2 in Evaluate Formula before changing it to B2*(1+C2), showing that syntactically valid formulas can implement the wrong operation.",
            "repair_packet_ids": [
              "excel-expert-audit"
            ],
            "selected_section_keys": [
              "diagnosis",
              "errors"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-11.1",
            "wording": "Record simple macros",
            "objective_wording_sha256": "8defb97ab642297f0a8b036e4bcd9eb7f3a0a6e268df1a1694ab0a76c7e3cdcb",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Create and modify simple macros",
            "group_number": 11,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked formula diagnosis",
                "start_line": 108,
                "end_line": 108,
                "span_lf_sha256": "df75878289a1b1a058fdcf663667e55d4512e13b2e2402fadd258d1255398958"
              },
              {
                "heading": "1. Workbook options and settings",
                "start_line": 48,
                "end_line": 48,
                "span_lf_sha256": "5d4b5bf4c5c6e17a568efcd86912bff398de76308df292f11b7f384b4322cd2c"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Records only a small formatting operation and stops before unrelated actions, then tests absolute versus relative behavior from another starting cell.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "macro",
              "copymacro"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-11.2",
            "wording": "Name simple macros",
            "objective_wording_sha256": "743eed777172f14326b240e210d0b6395681348c3b2d2d94f5a8e5dd0baabd40",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Create and modify simple macros",
            "group_number": 11,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked formula diagnosis",
                "start_line": 108,
                "end_line": 108,
                "span_lf_sha256": "df75878289a1b1a058fdcf663667e55d4512e13b2e2402fadd258d1255398958"
              },
              {
                "heading": "1. Workbook options and settings",
                "start_line": 48,
                "end_line": 48,
                "span_lf_sha256": "5d4b5bf4c5c6e17a568efcd86912bff398de76308df292f11b7f384b4322cd2c"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses an explicit FormatInputCells name and checks the active workbook/sheet and storage rather than relying on a familiar filename.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "macro",
              "copymacro"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-11.3",
            "wording": "Edit simple macros",
            "objective_wording_sha256": "3131b89476714cf806dd147dc2bc328ef7ef783f932005cb81f8b6cf7cb890d8",
            "domain": "Create advanced formulas and macros (25–30%)",
            "group": "Create and modify simple macros",
            "group_number": 11,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked formula diagnosis",
                "start_line": 108,
                "end_line": 108,
                "span_lf_sha256": "df75878289a1b1a058fdcf663667e55d4512e13b2e2402fadd258d1255398958"
              },
              {
                "heading": "1. Workbook options and settings",
                "start_line": 48,
                "end_line": 48,
                "span_lf_sha256": "5d4b5bf4c5c6e17a568efcd86912bff398de76308df292f11b7f384b4322cd2c"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Inspects and changes a simple formatting instruction in the editor, reruns on a disposable copy and tests selection/range-size assumptions without compiler-execution claims.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "macro",
              "copymacro"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-12.1",
            "wording": "Create and modify dual-axis charts",
            "objective_wording_sha256": "f0c1d804db4f22184ca9ee7d377d183d6be6d1b5d27fabb33d711b35312ca0d1",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify advanced charts",
            "group_number": 12,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 116,
                "end_line": 116,
                "span_lf_sha256": "cf36aa8a0a536c08d90a45667c7cc0fe377baa83d620bc369659245234e10b2e"
              },
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 120,
                "end_line": 120,
                "span_lf_sha256": "b97be18d0d36e60d97c40abd55eaf7289de171bfc1af5fda6dbc07cf984c2231"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Creates a Units column/Rate line Combo on separately labeled axes and checks percentages remain 0.1/0.2 rather than 10/20 before modifying the selected chart.",
            "repair_packet_ids": [
              "excel-expert-chart-artifacts"
            ],
            "selected_section_keys": [
              "chartintro",
              "combo"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-12.2",
            "wording": "Create and modify charts including Box & Whisker, Combo, Funnel, Histogram, Sunburst, and Waterfall charts",
            "objective_wording_sha256": "ef2139e9275679a7cc6d9f9b6086a6cec4b6a4e664fa9a6f53cd8af2a2c44756",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify advanced charts",
            "group_number": 12,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Advanced charts and tables",
                "start_line": 112,
                "end_line": 112,
                "span_lf_sha256": "718daf51a4b71a4fe87c08a287733364541a54e9f6fe19ebcd2b6586db23f39d"
              },
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 116,
                "end_line": 116,
                "span_lf_sha256": "cf36aa8a0a536c08d90a45667c7cc0fe377baa83d620bc369659245234e10b2e"
              },
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 120,
                "end_line": 120,
                "span_lf_sha256": "b97be18d0d36e60d97c40abd55eaf7289de171bfc1af5fda6dbc07cf984c2231"
              },
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 121,
                "end_line": 121,
                "span_lf_sha256": "f364177911e1121180246dcc64654a64e569e98ea41b459fe43eb9d86ccc7eba"
              },
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 122,
                "end_line": 122,
                "span_lf_sha256": "018bf1d1621103109c7f499bce33a7b1784e0daa8227bb21c01239f98cd43a07"
              },
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 123,
                "end_line": 123,
                "span_lf_sha256": "f3ffce0f0242a723c3c6e94228a213c6c1b5d34faba9fc2247dde53729571075"
              },
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 124,
                "end_line": 124,
                "span_lf_sha256": "a5569655240453ee71014908fa5b43fdf1f8128b2190b8ce7c70a077d04827c3"
              },
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 125,
                "end_line": 125,
                "span_lf_sha256": "09a013c0543505f69008ff350b557ab8afcb033b07b92fe1740fb8be211897ae"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Provides original source data and editable-chart artifact checks for all six named types: Combo units, Box medians 4/7, Histogram five observations, edited Funnel stage, Sunburst hierarchy total 90 and Waterfall closing 120.",
            "repair_packet_ids": [
              "excel-expert-chart-artifacts"
            ],
            "selected_section_keys": [
              "chartconcept",
              "chartintro",
              "combo",
              "box",
              "histogram",
              "funnel",
              "sunburst",
              "waterfall"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-13.1",
            "wording": "Create PivotTables",
            "objective_wording_sha256": "d1324bf3cd9abc0315b70e2cdcb436b0c368c71d43b733e5d4c0cab2b6bb4e5b",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify PivotTables",
            "group_number": 13,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 129,
                "end_line": 129,
                "span_lf_sha256": "2f047b451dfe14dbf97f2b686889f3e5400ca571406a25ea8e35749937e34a45"
              },
              {
                "heading": "Worked PivotTable and PivotChart navigation",
                "start_line": 137,
                "end_line": 137,
                "span_lf_sha256": "fdeb357e49aa48652c4f1f2e5ac6268f257c752b9c9c1a2c6cf7e1121805fd59"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Creates a clean Region/City/Amount source and PivotTable with Region then City rows and Sum Amount, reconciling East 250/West 200/grand 450.",
            "repair_packet_ids": [
              "excel-expert-pivotchart"
            ],
            "selected_section_keys": [
              "pivot",
              "pivotwork"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-13.2",
            "wording": "Modify field selections and options",
            "objective_wording_sha256": "94d327dfb582da6eb5f517de6c8bf209b866db8c582bad5e153e1bd635783d3b",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify PivotTables",
            "group_number": 13,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 129,
                "end_line": 129,
                "span_lf_sha256": "2f047b451dfe14dbf97f2b686889f3e5400ca571406a25ea8e35749937e34a45"
              },
              {
                "heading": "Worked PivotTable and PivotChart navigation",
                "start_line": 137,
                "end_line": 137,
                "span_lf_sha256": "fdeb357e49aa48652c4f1f2e5ac6268f257c752b9c9c1a2c6cf7e1121805fd59"
              },
              {
                "heading": "Worked PivotTable and PivotChart navigation",
                "start_line": 139,
                "end_line": 139,
                "span_lf_sha256": "12e059e0d4eccf7ae9d6a83ff0000f38e913f8a8e52e867d86ec6ca0de87e711"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Sets field areas explicitly and moves Region/City among axis/legend/filter areas, observing that linked PivotTable and PivotChart layouts change together.",
            "repair_packet_ids": [
              "excel-expert-pivotchart"
            ],
            "selected_section_keys": [
              "pivot",
              "pivotwork",
              "pivotchart"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-13.3",
            "wording": "Create slicers",
            "objective_wording_sha256": "a444d66dee39a15ec6d6bcc122739f5fea8084a385208604f7a1b39eae79358d",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify PivotTables",
            "group_number": 13,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 131,
                "end_line": 131,
                "span_lf_sha256": "95f81605745f10174ab1e9ab5f5171c1ac154ea8f5c8f8d2dd19c8ab1a8e0125"
              },
              {
                "heading": "Worked PivotTable and PivotChart navigation",
                "start_line": 137,
                "end_line": 137,
                "span_lf_sha256": "fdeb357e49aa48652c4f1f2e5ac6268f257c752b9c9c1a2c6cf7e1121805fd59"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Adds a Region slicer, selects East, checks the filtered table/chart population and clears it before grand-total reconciliation.",
            "repair_packet_ids": [
              "excel-expert-pivotchart"
            ],
            "selected_section_keys": [
              "pivotchecks",
              "pivotwork"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-13.4",
            "wording": "Group PivotTable data",
            "objective_wording_sha256": "8cdc99374668a27da78daa7a87ad3d8e91b774df3b133acb019fedc725094a2a",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify PivotTables",
            "group_number": 13,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 131,
                "end_line": 131,
                "span_lf_sha256": "95f81605745f10174ab1e9ab5f5171c1ac154ea8f5c8f8d2dd19c8ab1a8e0125"
              },
              {
                "heading": "Worked PivotTable and PivotChart navigation",
                "start_line": 137,
                "end_line": 137,
                "span_lf_sha256": "fdeb357e49aa48652c4f1f2e5ac6268f257c752b9c9c1a2c6cf7e1121805fd59"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Groups valid dates by month on a separate copy and repairs text/blank source dates before treating a failed group as a missing feature.",
            "repair_packet_ids": [
              "excel-expert-pivotchart"
            ],
            "selected_section_keys": [
              "pivotchecks",
              "pivotwork"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-13.5",
            "wording": "Add calculated fields",
            "objective_wording_sha256": "578bd3a0b8a4765f738736756eace1650c1effd45868e1978ac10816e6e6eb92",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify PivotTables",
            "group_number": 13,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 133,
                "end_line": 133,
                "span_lf_sha256": "99d13de9a6e3db6b1b6406c81b4434e9c2bebc8806886ef8a904b7ca72aac006"
              },
              {
                "heading": "6. A plausible Pivot total can be wrong",
                "start_line": 169,
                "end_line": 169,
                "span_lf_sha256": "63441a9b194d8bda0f3ebe313351f11c1b2f5e2642b81c0b49e8547df9c808e3"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses a classic calculated field Quantity*UnitPrice to expose aggregate-product 300 versus row-revenue 140, then repairs the model with a source Revenue column.",
            "repair_packet_ids": [
              "excel-expert-pivotchart"
            ],
            "selected_section_keys": [
              "classic",
              "revenue"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-13.6",
            "wording": "Configure value field settings",
            "objective_wording_sha256": "c2ad4490f5d6ff66cbb149ffab281b8f4aec475f1fc44de7119499f98cc825a9",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify PivotTables",
            "group_number": 13,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Worked advanced-chart workbook",
                "start_line": 129,
                "end_line": 129,
                "span_lf_sha256": "2f047b451dfe14dbf97f2b686889f3e5400ca571406a25ea8e35749937e34a45"
              },
              {
                "heading": "Worked PivotTable and PivotChart navigation",
                "start_line": 137,
                "end_line": 137,
                "span_lf_sha256": "fdeb357e49aa48652c4f1f2e5ac6268f257c752b9c9c1a2c6cf7e1121805fd59"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Selects Sum and a numeric format in Value Field Settings, separates Show Values As from aggregation and diagnoses Count caused by text-containing source fields.",
            "repair_packet_ids": [
              "excel-expert-pivotchart"
            ],
            "selected_section_keys": [
              "pivot",
              "pivotwork"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-14.1",
            "wording": "Create PivotCharts",
            "objective_wording_sha256": "5d225fc48154c827c3fb9ec6d437d89a294d349c05dc6bec91c2c35b7b28be14",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify PivotCharts",
            "group_number": 14,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked PivotTable and PivotChart navigation",
                "start_line": 139,
                "end_line": 139,
                "span_lf_sha256": "12e059e0d4eccf7ae9d6a83ff0000f38e913f8a8e52e867d86ec6ca0de87e711"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Creates a PivotChart from the known PivotTable, chooses a column chart and preserves the documented Mac-first-PivotTable boundary.",
            "repair_packet_ids": [
              "excel-expert-pivotchart"
            ],
            "selected_section_keys": [
              "pivotchart"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-14.2",
            "wording": "Manipulate options in existing PivotCharts",
            "objective_wording_sha256": "98a6376b08680352406677f5a66a989defce443968f1655fa25e262bf452b9ba",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify PivotCharts",
            "group_number": 14,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked PivotTable and PivotChart navigation",
                "start_line": 139,
                "end_line": 139,
                "span_lf_sha256": "12e059e0d4eccf7ae9d6a83ff0000f38e913f8a8e52e867d86ec6ca0de87e711"
              },
              {
                "heading": "Worked PivotTable and PivotChart navigation",
                "start_line": 141,
                "end_line": 141,
                "span_lf_sha256": "e3992d352eb8068916b6eac9005b78d5d47721eab5847ef5df736036433c85f9"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Moves axis/legend/filter fields and checks the associated table and active filter population, diagnosing 450/300 after a new source row rather than blaming style.",
            "repair_packet_ids": [
              "excel-expert-pivotchart"
            ],
            "selected_section_keys": [
              "pivotchart",
              "refresh"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-14.3",
            "wording": "Apply styles to PivotCharts",
            "objective_wording_sha256": "07199d9091e9708bdb27a04e44f1f12c5783cf24967f35a66847422caaff7428",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify PivotCharts",
            "group_number": 14,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked PivotTable and PivotChart navigation",
                "start_line": 139,
                "end_line": 139,
                "span_lf_sha256": "12e059e0d4eccf7ae9d6a83ff0000f38e913f8a8e52e867d86ec6ca0de87e711"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Applies a built-in PivotChart style only after selecting the chart with correct fields and totals, keeping presentation separate from source/aggregation correctness.",
            "repair_packet_ids": [
              "excel-expert-pivotchart"
            ],
            "selected_section_keys": [
              "pivotchart"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-211-14.4",
            "wording": "Drill down into PivotChart details",
            "objective_wording_sha256": "142fbae5909bb28399768fbddf16c80e3c9d5e854a6cde44272f2812e4acdba9",
            "domain": "Manage advanced charts and tables (25–30%)",
            "group": "Create and modify PivotCharts",
            "group_number": 14,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "Worked PivotTable and PivotChart navigation",
                "start_line": 139,
                "end_line": 139,
                "span_lf_sha256": "12e059e0d4eccf7ae9d6a83ff0000f38e913f8a8e52e867d86ec6ca0de87e711"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Uses category-label Expand/Collapse to show East cities 100/150 and return to 250, distinguishing hierarchy drilling from PivotTable value Show Details on a new sheet.",
            "repair_packet_ids": [
              "excel-expert-pivotchart"
            ],
            "selected_section_keys": [
              "pivotchart"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          }
        ]
      },
      {
        "exam_code": "MO-310",
        "guide_path": "guides/MO-310-microsoft-powerpoint-microsoft-365-apps.md",
        "guide_lf_sha256": "caa6c79dee588d3a69dc3b92c7c2e38603df55d16197558e5f0a6805c29da7ec",
        "objective_raw_sha256": "9ce732345e113b5587ccd794bdfa12dfbb2e95feda7c178566a8132c2f015570",
        "objective_count": 73,
        "group_count": 20,
        "domain_count": 5,
        "accepted_objective_path": "data/objective-snapshots/mo-310-official-objectives.txt",
        "accepted_objective_scope": "coarse official page domains only",
        "accepted_status_path": "data/objective-snapshots/mo-310-official-status.json",
        "accepted_status_raw_sha256": "6537a81add91771a3ca3bbb3f6b548f7bb165e684f4c0df33237cb7893dfdd24",
        "detailed_objective_evidence": {
          "url": "https://arch-center.azureedge.net/Learning/Credentials/MO-310_OD_MOS365_PowerPoint-%282%29.pdf",
          "pdf_raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo310-skills.pdf",
          "pdf_raw_sha256": "29e1689505e742e8fedea780b0379bbc7327ab6e9d34ee6440b4d523d1b252fb",
          "pdf_page_count": 3,
          "pdf_extracted_text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-plain-mo310.txt",
          "pdf_extracted_text_raw_sha256": "616a9d7a43c0d8125cabce023df1c24a09c7ac926aa089a675a9c6a9238ac6e7",
          "layout_extraction_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo310-skills.txt",
          "layout_extraction_raw_sha256": "ee22427504e7cad2e5995bea27350ecfb4fe59460d52b2c460e1afefa8f58004",
          "detailed_task_text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-current-mo310-detailed-tasks.txt",
          "detailed_task_text_raw_sha256": "48dd078a860f6815643cc6d4051c628b9eb5aa039ab81f8191d4d63dc01f9e19",
          "task_extraction_rule": "Ordered detailed PDF bullets; collapsed whitespace/continued wrapped bullet lines; one complete task per LF-terminated line. Domain/group identity retained in current_mapping.",
          "coarse_snapshot_relationship": "Accepted objective snapshot contains only broad domains. Its raw hash is separate; detailed task wording/hash is bound to this official PDF and captured extraction, not asserted to occur in the coarse accepted text."
        },
        "capture_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-310-microsoft-powerpoint-microsoft-365-apps.md",
        "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-310.diff",
        "diff_raw_sha256": "9138ac9f76e692f22523ee2677df5f594679565c0ddf41e86a7a5c945c42e58a",
        "current_mapping": [
          {
            "objective_id": "MO-310-1.1",
            "wording": "Change slide master theme or background elements",
            "objective_wording_sha256": "f5b145a1670790568ad9fb88f29dc752a120efadbc3bb53c806e45f1b1dc9a5e",
            "domain": "Manage presentations (20–25%)",
            "group": "Modify slide masters, handout masters, and note masters",
            "group_number": 1,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "419c481f363dc11ab688eef011f814b07e3ca01de4b401ea72674904ce994e0b"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Changes the master theme/background and checks inheritance on test slides instead of duplicating slide-specific decoration everywhere.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "master"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-1.2",
            "wording": "Modify slide master content",
            "objective_wording_sha256": "ec8f6439f26873ff7bd71f04e52a73bd1a8f5ab91120b8a6754b57cd9ac31f13",
            "domain": "Manage presentations (20–25%)",
            "group": "Modify slide masters, handout masters, and note masters",
            "group_number": 1,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "419c481f363dc11ab688eef011f814b07e3ca01de4b401ea72674904ce994e0b"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Places shared content on the master while leaving individual slide content on its slide, then verifies inherited appearance.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "master"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-1.3",
            "wording": "Create slide layouts",
            "objective_wording_sha256": "d81f6a56b063a16b68af4b8f40f016e87565d0cc793b51c917d704a15a0a3025",
            "domain": "Manage presentations (20–25%)",
            "group": "Modify slide masters, handout masters, and note masters",
            "group_number": 1,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "419c481f363dc11ab688eef011f814b07e3ca01de4b401ea72674904ce994e0b"
              },
              {
                "heading": "Focused source-to-evidence route",
                "start_line": 195,
                "end_line": 195,
                "span_lf_sha256": "e882bb3dc6066315eed03ff2731847a01eb2fb417e1f3dc1f3e7d03de2b280d9"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Creates a layout with appropriate placeholders; the learning route duplicates a layout, adds a picture placeholder and applies it to two slides.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "master",
              "layoutlearn"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-1.4",
            "wording": "Modify slide layouts",
            "objective_wording_sha256": "96baecf8563fcb6edbee0407003a7aedd013930fe2c6b513c1ea197dbdd93ad3",
            "domain": "Manage presentations (20–25%)",
            "group": "Modify slide masters, handout masters, and note masters",
            "group_number": 1,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "419c481f363dc11ab688eef011f814b07e3ca01de4b401ea72674904ce994e0b"
              },
              {
                "heading": "Focused source-to-evidence route",
                "start_line": 195,
                "end_line": 195,
                "span_lf_sha256": "e882bb3dc6066315eed03ff2731847a01eb2fb417e1f3dc1f3e7d03de2b280d9"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Modifies the layout, reapplies it and checks Reset/inheritance while distinguishing independent text boxes from layout placeholders.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "master",
              "layoutlearn"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-1.5",
            "wording": "Modify the handout master",
            "objective_wording_sha256": "37ab6abfa8402ee517e299dad3c17f93b5f7c8ad0287f4c6dd98f152ec7e4680",
            "domain": "Manage presentations (20–25%)",
            "group": "Modify slide masters, handout masters, and note masters",
            "group_number": 1,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 45,
                "end_line": 45,
                "span_lf_sha256": "81c232fd05b97580abef2553446dde0e58ef70cbc199f3c58df9898f2fc85177"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Adjusts shared handout branding/placeholders and previews handouts separately from Notes Master and slide output.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "outputs"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-1.6",
            "wording": "Modify the notes master",
            "objective_wording_sha256": "01732d9913f0b112b71336c4c98599be7b53db4c269a5c59c52461b012e27456",
            "domain": "Manage presentations (20–25%)",
            "group": "Modify slide masters, handout masters, and note masters",
            "group_number": 1,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 45,
                "end_line": 45,
                "span_lf_sha256": "81c232fd05b97580abef2553446dde0e58ef70cbc199f3c58df9898f2fc85177"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Adjusts shared notes-page branding/placeholders and previews the slide-plus-notes output separately from handouts.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "outputs"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-2.1",
            "wording": "Change slide size",
            "objective_wording_sha256": "c1302b9c9c9519405f5e21df328752c482a237051b24bb4b4aaea44bbe38f980",
            "domain": "Manage presentations (20–25%)",
            "group": "Change presentation options and views",
            "group_number": 2,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 45,
                "end_line": 45,
                "span_lf_sha256": "81c232fd05b97580abef2553446dde0e58ef70cbc199f3c58df9898f2fc85177"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Changes size early and inspects cropping/fit when resizing existing content instead of assuming all elements scale safely.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "outputs"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-2.2",
            "wording": "Display presentations in different views",
            "objective_wording_sha256": "90b457e82f6e1f5f49b69879425fe588a2f750a1cded9aa1d5ef1e083787545c",
            "domain": "Manage presentations (20–25%)",
            "group": "Change presentation options and views",
            "group_number": 2,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 45,
                "end_line": 45,
                "span_lf_sha256": "81c232fd05b97580abef2553446dde0e58ef70cbc199f3c58df9898f2fc85177"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses Normal for editing, Slide Sorter for sequence, Notes Page for speaker-note output and master views for shared design decisions.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "outputs"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-2.3",
            "wording": "Modify built-in presentation properties",
            "objective_wording_sha256": "adae604c83dfcf143af5e652030c9e29d67d86dc7966bf8a8e469352a1c8fb40",
            "domain": "Manage presentations (20–25%)",
            "group": "Change presentation options and views",
            "group_number": 2,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 45,
                "end_line": 45,
                "span_lf_sha256": "81c232fd05b97580abef2553446dde0e58ef70cbc199f3c58df9898f2fc85177"
              },
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 53,
                "end_line": 53,
                "span_lf_sha256": "6ace2d5512743eddb565cabc6bb2568ee52706caae39ef6bd44a181d2723c6eb"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Sets built-in Title/Author properties to match the deliverable and includes metadata in the distribution inspection.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "outputs",
              "distribute"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-3.1",
            "wording": "Print slides",
            "objective_wording_sha256": "5cc0ffda835e97dfb5378b3684db1c4bd7a49a183d9ad79056b4d6fb3d242fdd",
            "domain": "Manage presentations (20–25%)",
            "group": "Configure print settings for presentations",
            "group_number": 3,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 47,
                "end_line": 47,
                "span_lf_sha256": "044bedd9d4b40f85b6f866e57250d59846cfa9dbe49fad473fce0d42087f9639"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Prints selected slide ranges with deliberate hidden-slide inclusion, orientation and color/grayscale choices and checks actual page output.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "print"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-3.2",
            "wording": "Print notes pages",
            "objective_wording_sha256": "137194e0d0a660099d6844270996e130c4c72590236d072622a691c009c5dd99",
            "domain": "Manage presentations (20–25%)",
            "group": "Configure print settings for presentations",
            "group_number": 3,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 47,
                "end_line": 47,
                "span_lf_sha256": "044bedd9d4b40f85b6f866e57250d59846cfa9dbe49fad473fce0d42087f9639"
              },
              {
                "heading": "2. Slides and navigation",
                "start_line": 61,
                "end_line": 61,
                "span_lf_sha256": "2005448a4e663fe19c1058dc0a8ae5b3a74f3e39b7cd96b61e7fa054a3cc2065"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Prints notes pages containing slide image plus speaker notes and validates their independent header/footer/page controls.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "print",
              "headers"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-3.3",
            "wording": "Print handouts",
            "objective_wording_sha256": "870cf8b3e0a86e6b49591244b115578ad8f730a98f4c3b8fdfd57d04a5e3c2bc",
            "domain": "Manage presentations (20–25%)",
            "group": "Configure print settings for presentations",
            "group_number": 3,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 47,
                "end_line": 47,
                "span_lf_sha256": "044bedd9d4b40f85b6f866e57250d59846cfa9dbe49fad473fce0d42087f9639"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Prints handouts with a selected slides-per-page arrangement and distinguishes the result from a notes-page printout.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "print"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-4.1",
            "wording": "Create custom slide shows",
            "objective_wording_sha256": "17aeb67ea79b0dada54eb41b4d4dfb3f34d7d305661ba8c701c495b0fb403618",
            "domain": "Manage presentations (20–25%)",
            "group": "Configure and present slide shows",
            "group_number": 4,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "8cb1d3e178b78555e013462eedb52ca607e290056f6c2cf65687a3184101ac1d"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Creates a named audience-specific show, orders its selected slides and tests that show rather than assuming section organization selects a delivery subset.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "show"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-4.2",
            "wording": "Configure slide show options",
            "objective_wording_sha256": "8c9deeefef2e8bf4e4ccf8401255cbc7100a173521dc2d4fb2fba35e6671e958",
            "domain": "Manage presentations (20–25%)",
            "group": "Configure and present slide shows",
            "group_number": 4,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "8cb1d3e178b78555e013462eedb52ca607e290056f6c2cf65687a3184101ac1d"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Chooses speaker/kiosk/browser and timing/narration/manual advance options according to delivery needs and tests the actual arrangement.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "show"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-4.3",
            "wording": "Rehearse slide show timing",
            "objective_wording_sha256": "85bcbed8e614cfd25ccfd31082168c774567040c06b350172e607d03658b282a",
            "domain": "Manage presentations (20–25%)",
            "group": "Configure and present slide shows",
            "group_number": 4,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "8cb1d3e178b78555e013462eedb52ca607e290056f6c2cf65687a3184101ac1d"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Rehearses the show and deliberately accepts/discards timings rather than confusing a preview with saved advance behavior.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "show"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-4.4",
            "wording": "Set up slide show recording options",
            "objective_wording_sha256": "64164a71d93fe28c79a435615709def92780722dd7dd5678e7b43d926ef20a1e",
            "domain": "Manage presentations (20–25%)",
            "group": "Configure and present slide shows",
            "group_number": 4,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "8cb1d3e178b78555e013462eedb52ca607e290056f6c2cf65687a3184101ac1d"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Configures microphone/camera/ink options before recording, keeping narration/show timing separate from screen-region capture.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "show"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-4.5",
            "wording": "Present slide shows by using Presenter View",
            "objective_wording_sha256": "3b449f9713a8970655a4744f1a2e10e117ac5dfa42a16d264b6584aeb7d16a19",
            "domain": "Manage presentations (20–25%)",
            "group": "Configure and present slide shows",
            "group_number": 4,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "8cb1d3e178b78555e013462eedb52ca607e290056f6c2cf65687a3184101ac1d"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Tests that the audience sees the intended slide while presenter notes/navigation/timing remain on the presenter display.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "show"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-5.1",
            "wording": "Restrict editing",
            "objective_wording_sha256": "288aeaaa9dde790b14006ab52ec9f9fb220e00bb026f6bfc7a37b4206569bb7d",
            "domain": "Manage presentations (20–25%)",
            "group": "Prepare presentations for collaboration and distribution",
            "group_number": 5,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 51,
                "end_line": 51,
                "span_lf_sha256": "f92a01ee6f3645a1b944d3389245cea744cdf9f95b19329338f30aecda0c1076"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Distinguishes removable Mark as Final status from security and tests the intended editing control on a disposable copy in an authorized environment.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "protect"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-5.2",
            "wording": "Protect presentations by using passwords",
            "objective_wording_sha256": "0992c3ad8b25d782de8f3b303c97404dc05384621f80bc7974264b26573bd54d",
            "domain": "Manage presentations (20–25%)",
            "group": "Prepare presentations for collaboration and distribution",
            "group_number": 5,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 51,
                "end_line": 51,
                "span_lf_sha256": "f92a01ee6f3645a1b944d3389245cea744cdf9f95b19329338f30aecda0c1076"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Separates opening-password from modification-password requirements and verifies the selected protection on a recoverable practice copy.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "protect"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-5.3",
            "wording": "Inspect presentations and correct issues",
            "objective_wording_sha256": "3744ba94270abda118563f5e18e8e061195c687ca7dc3592a72066699bdac934",
            "domain": "Manage presentations (20–25%)",
            "group": "Prepare presentations for collaboration and distribution",
            "group_number": 5,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 53,
                "end_line": 53,
                "span_lf_sha256": "6ace2d5512743eddb565cabc6bb2568ee52706caae39ef6bd44a181d2723c6eb"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Runs inspection on a copy and reviews accessibility/compatibility, hidden slides, notes, metadata and embedded content before distribution.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "distribute"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-5.4",
            "wording": "Manage comments",
            "objective_wording_sha256": "fd965fa1b94d629217070543d951d98c0e56b6a7ef30bd10e957b3aeaee9b445",
            "domain": "Manage presentations (20–25%)",
            "group": "Prepare presentations for collaboration and distribution",
            "group_number": 5,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 53,
                "end_line": 53,
                "span_lf_sha256": "6ace2d5512743eddb565cabc6bb2568ee52706caae39ef6bd44a181d2723c6eb"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Manages replies/resolution and inspects remaining discussions before distribution without confusing hidden review content with removed content.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "distribute"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-5.5",
            "wording": "Preserve presentation content",
            "objective_wording_sha256": "0364351961dda240b407139a7418cac105dc5c987fda5e02f716f40656c198be",
            "domain": "Manage presentations (20–25%)",
            "group": "Prepare presentations for collaboration and distribution",
            "group_number": 5,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 53,
                "end_line": 53,
                "span_lf_sha256": "6ace2d5512743eddb565cabc6bb2568ee52706caae39ef6bd44a181d2723c6eb"
              },
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 103,
                "end_line": 103,
                "span_lf_sha256": "0d88eb27297f13245d4bc3d1bef60d8c36ab35fa343f5a4a7dc61825806fc6c8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Retains the editable original before inspection/removal/compression and retests media/accessibility tracks because a smaller file may lose information.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "distribute",
              "compress"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-5.6",
            "wording": "Export presentations to other formats",
            "objective_wording_sha256": "1ff076aa2176b9c44b958d1c1286d5bd84a70c152cb7a2058ad5dc516992bb97",
            "domain": "Manage presentations (20–25%)",
            "group": "Prepare presentations for collaboration and distribution",
            "group_number": 5,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 53,
                "end_line": 53,
                "span_lf_sha256": "6ace2d5512743eddb565cabc6bb2568ee52706caae39ef6bd44a181d2723c6eb"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Distinguishes editable deck, show, static PDF and video outputs and tests actual export behavior for links, animation and media.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "distribute"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-6.1",
            "wording": "Import Word document outlines",
            "objective_wording_sha256": "af73caa73ae5a854acbbc4eff4525c4fad835765750b667f2ac25b56aebc383f",
            "domain": "Manage slides (10–15%)",
            "group": "Insert slides",
            "group_number": 6,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "2. Slides and navigation",
                "start_line": 57,
                "end_line": 57,
                "span_lf_sha256": "6d2ef7f4d8885c27e3877fc91b8007fd78cf3df7e294c4333ddb5d37a5d7a1d4"
              },
              {
                "heading": "1. Predict the imported outline",
                "start_line": 119,
                "end_line": 119,
                "span_lf_sha256": "ee783bd814fbcb84769cf10ce7536550218ff6e4d14bea64a9de8d733ba929b3"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Imports a saved/closed Heading1/Heading2 Word outline and expects two slides with two bullets each, diagnosing six unexpected slides through source structure.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "outline",
              "outlineexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-6.2",
            "wording": "Insert slides from another presentation",
            "objective_wording_sha256": "e76c51bca8ff288f9f10ade19fc8069fbc83439801a573a44f15f1fa4b1f551d",
            "domain": "Manage slides (10–15%)",
            "group": "Insert slides",
            "group_number": 6,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "2. Slides and navigation",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "3cee6d9fa2a01c31b100c1f3bde767cd7b7d441c43dc013dcf2b42d26079cbab"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Reuses slides with deliberate source/destination formatting and checks resulting theme/master behavior.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "slides"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-6.3",
            "wording": "Insert slides and select slide layouts",
            "objective_wording_sha256": "ee1b667b8f7766b2559d41e9e42940067153607d9b01b1081179a56e1b5f0cb5",
            "domain": "Manage slides (10–15%)",
            "group": "Insert slides",
            "group_number": 6,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 43,
                "end_line": 43,
                "span_lf_sha256": "419c481f363dc11ab688eef011f814b07e3ca01de4b401ea72674904ce994e0b"
              },
              {
                "heading": "2. Slides and navigation",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "3cee6d9fa2a01c31b100c1f3bde767cd7b7d441c43dc013dcf2b42d26079cbab"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Creates slides with selected layouts and checks inherited placeholders/design rather than treating a look-alike text box as a real layout placeholder.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "master",
              "slides"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-6.4",
            "wording": "Insert Summary Zoom slides",
            "objective_wording_sha256": "5d421542ceec5d7bb7d15b8417c2c836b9febc68971d0b31a165317568000d86",
            "domain": "Manage slides (10–15%)",
            "group": "Insert slides",
            "group_number": 6,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "2. Slides and navigation",
                "start_line": 63,
                "end_line": 63,
                "span_lf_sha256": "e4813a2687db4b326471d939dcf2cef78ccd89ef030f6c7d3e9dcf21595b0db2"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Creates Summary Zoom as a section overview and distinguishes its included-section choices from deleting slides/sections.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "zoom"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-6.5",
            "wording": "Duplicate slides",
            "objective_wording_sha256": "0158e96ce0d7e828b2aa00deb898bedf325de8dddc0ae128b1eb67b01dca6517",
            "domain": "Manage slides (10–15%)",
            "group": "Insert slides",
            "group_number": 6,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "2. Slides and navigation",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "3cee6d9fa2a01c31b100c1f3bde767cd7b7d441c43dc013dcf2b42d26079cbab"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Duplicates a slide while preserving the intended layout/theme and checks membership/order rather than equating duplication with an import.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "slides"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-7.1",
            "wording": "Hide and unhide slides",
            "objective_wording_sha256": "b5c47b81cd564cf361996ad2cb870cacdcbd51042c5edc60703abfd039e4b17d",
            "domain": "Manage slides (10–15%)",
            "group": "Modify slides",
            "group_number": 7,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "2. Slides and navigation",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "3cee6d9fa2a01c31b100c1f3bde767cd7b7d441c43dc013dcf2b42d26079cbab"
              },
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 47,
                "end_line": 47,
                "span_lf_sha256": "044bedd9d4b40f85b6f866e57250d59846cfa9dbe49fad473fce0d42087f9639"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Hides/unhides retained slides and explicitly distinguishes that from deletion or access restriction and from hidden-slide print inclusion.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "slides",
              "print"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-7.2",
            "wording": "Modify individual slide backgrounds",
            "objective_wording_sha256": "a0ea97d54c67f42b8184906c828298d9d7d3cacf8d85b56afd4951c47272e6c1",
            "domain": "Manage slides (10–15%)",
            "group": "Modify slides",
            "group_number": 7,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "2. Slides and navigation",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "3cee6d9fa2a01c31b100c1f3bde767cd7b7d441c43dc013dcf2b42d26079cbab"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Changes an individual background as an intentional exception while preserving the master/layout design model.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "slides"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-7.3",
            "wording": "Insert slide headers, footers, and page numbers",
            "objective_wording_sha256": "c574f247bbfb62a8ae723ec171c3973eb369ecc1cd62c400ba9d75affe59d3c7",
            "domain": "Manage slides (10–15%)",
            "group": "Modify slides",
            "group_number": 7,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "2. Slides and navigation",
                "start_line": 61,
                "end_line": 61,
                "span_lf_sha256": "2005448a4e663fe19c1058dc0a8ae5b3a74f3e39b7cd96b61e7fa054a3cc2065"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses separate Slide versus Notes/Handouts controls, checks title-slide exclusions/placeholders and distinguishes a top-slide banner from a notes header field.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "headers"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-8.1",
            "wording": "Create sections",
            "objective_wording_sha256": "7ff65a9c774a28cf41dff5b5ecfc96c014f7d0147077e119f317ab40f263d74f",
            "domain": "Manage slides (10–15%)",
            "group": "Order and group slides",
            "group_number": 8,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "2. Slides and navigation",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "3cee6d9fa2a01c31b100c1f3bde767cd7b7d441c43dc013dcf2b42d26079cbab"
              },
              {
                "heading": "1. Presentations, masters and delivery",
                "start_line": 49,
                "end_line": 49,
                "span_lf_sha256": "8cb1d3e178b78555e013462eedb52ca607e290056f6c2cf65687a3184101ac1d"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Creates sections to organize slide membership and distinguishes them from an audience-specific custom show.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "slides",
              "show"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-8.2",
            "wording": "Reorder slides and sections",
            "objective_wording_sha256": "77bd8b2d8f7b74e1d1fdde3757c01b0665c1f9a32afa237f6a7d57c846ab4434",
            "domain": "Manage slides (10–15%)",
            "group": "Order and group slides",
            "group_number": 8,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "2. Slides and navigation",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "3cee6d9fa2a01c31b100c1f3bde767cd7b7d441c43dc013dcf2b42d26079cbab"
              },
              {
                "heading": "2. Design a return route",
                "start_line": 123,
                "end_line": 123,
                "span_lf_sha256": "f7eddac425e9be8ad9a581bad2348b6f5853e4bf66f5cc067b893c3a46ab55af"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Reorders an entire section and verifies its membership, then retests navigation rather than treating slide numbers as permanent identifiers.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "slides",
              "zoomexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-8.3",
            "wording": "Rename sections",
            "objective_wording_sha256": "b0c57ce0799543a30478aba436a76ba06eadd488cc0a20241f6e70d50361428a",
            "domain": "Manage slides (10–15%)",
            "group": "Order and group slides",
            "group_number": 8,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "2. Slides and navigation",
                "start_line": 59,
                "end_line": 59,
                "span_lf_sha256": "3cee6d9fa2a01c31b100c1f3bde767cd7b7d441c43dc013dcf2b42d26079cbab"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Renames sections to express the deck structure and checks the renamed section retains the intended slides.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "slides"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-9.1",
            "wording": "Apply formatting and styles to text",
            "objective_wording_sha256": "403d043eec70134fa4879bf480c1d11a04d76e7d6930094021f2063255dbc666",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Format text",
            "group_number": 9,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked text, shape, screenshot and ink pass",
                "start_line": 77,
                "end_line": 77,
                "span_lf_sha256": "1e6bcf0d60daaafab4d7de54d92757ebc8db04a93e65740f12776b8f9230aa58"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Selects a text range for font/emphasis formatting, distinguishing that target from the enclosing shape border and verifying retained readable text.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "shapework"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-9.2",
            "wording": "Format text in multiple columns",
            "objective_wording_sha256": "8ed75a3eaf4e1613b3ca3e5faa9862ddb643e0b71318e840e790645f5459872c",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Format text",
            "group_number": 9,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked text, shape, screenshot and ink pass",
                "start_line": 79,
                "end_line": 79,
                "span_lf_sha256": "3ecaa05337f7faeb0ea2033f2196888969f0c7fb0a3d57ae25ebdd12a6d1c810"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Sets two text columns with spacing through Text Options, resizes the box and checks flow/overflow while distinguishing table columns and missing column-break support.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "columns"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-9.3",
            "wording": "Create bulleted and numbered lists",
            "objective_wording_sha256": "f08c7886a237a2992298e3660015659f2a9feb3a0628d464bf88da1c4215467e",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Format text",
            "group_number": 9,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked text, shape, screenshot and ink pass",
                "start_line": 77,
                "end_line": 77,
                "span_lf_sha256": "1e6bcf0d60daaafab4d7de54d92757ebc8db04a93e65740f12776b8f9230aa58"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Selects paragraphs for bullets/numbering and demotes one item to test hierarchy rather than using appearance alone.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "shapework"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-10.1",
            "wording": "Insert hyperlinks",
            "objective_wording_sha256": "992765b3eb63e8dbed28ebc389662f34c8287971f4a9cd4effd8b55ad43c817b",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert links",
            "group_number": 10,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "3. Text, shapes, images and reading order",
                "start_line": 67,
                "end_line": 67,
                "span_lf_sha256": "2c660d0a34603489a3b4856aeade95e0bdda6cf5065e5753d9ba98896ed3b634"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses meaningful link text, checks both internal/external destinations and tests the target instead of trusting the visible label.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "text"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-10.2",
            "wording": "Insert Section Zoom links and Slide Zoom links",
            "objective_wording_sha256": "bb8e366660155b5c463528db82da99aabd1b618093219c7c8b5dae42e9eab251",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert links",
            "group_number": 10,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "2. Slides and navigation",
                "start_line": 63,
                "end_line": 63,
                "span_lf_sha256": "e4813a2687db4b326471d939dcf2cef78ccd89ef030f6c7d3e9dcf21595b0db2"
              },
              {
                "heading": "2. Design a return route",
                "start_line": 123,
                "end_line": 123,
                "span_lf_sha256": "f7eddac425e9be8ad9a581bad2348b6f5853e4bf66f5cc067b893c3a46ab55af"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Tests Section Zoom return to agenda and Slide Zoom forward/Return to Zoom behavior, then rechecks the route after moving the section.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "zoom",
              "zoomexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-11.1",
            "wording": "Resize and crop images",
            "objective_wording_sha256": "fe5cd209f575de0939c83ac159fb485d5303a1d5ec3d4376b86368603ab1ffd6",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert and format images",
            "group_number": 11,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "3. Text, shapes, images and reading order",
                "start_line": 69,
                "end_line": 69,
                "span_lf_sha256": "f29eb8a6c2f0b910b9bd01cbcfca4ab6abe755a6691dc8263beee9d46a3c0e9e"
              },
              {
                "heading": "3. Preserve image proportions",
                "start_line": 127,
                "end_line": 127,
                "span_lf_sha256": "afc67525b634301f0bebb082e2803b202193bc619b82f5298866c1c3c2068abd"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Distinguishes changing the visible crop from resizing, calculates 8×4.5 for a 16:9 image and compares an 8×6 crop with distortion.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "images",
              "proportion"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-11.2",
            "wording": "Apply built-in styles and effects to images",
            "objective_wording_sha256": "633e8fcf21f652ab6d52eb4031ad742885c5bb87e67ab749faaa0c18c80d27da",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert and format images",
            "group_number": 11,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "3. Text, shapes, images and reading order",
                "start_line": 69,
                "end_line": 69,
                "span_lf_sha256": "f29eb8a6c2f0b910b9bd01cbcfca4ab6abe755a6691dc8263beee9d46a3c0e9e"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Compares built-in image styles/effects while checking important visible content and preserving intended proportions.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "images"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-11.3",
            "wording": "Insert screenshots and screen clippings",
            "objective_wording_sha256": "3745f3de786f11b940e6dfde80569653f7cfd5df370daeabf7be5d6252b0159a",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert and format images",
            "group_number": 11,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked text, shape, screenshot and ink pass",
                "start_line": 81,
                "end_line": 81,
                "span_lf_sha256": "fd7265c12886bd7a3655ccdf9e4edb7c5197a76f931af291d730b02375861b1e"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Captures a non-minimized harmless source window or selected clipping, inspects unintended surrounding content and distinguishes the static picture from editable source data.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "screenshot"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-12.1",
            "wording": "Insert graphic elements",
            "objective_wording_sha256": "891230c92f0bc5a3b3c3898b03140d39fc0cbc87f69e9729f6cc29eb738cf938",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert and format graphic elements",
            "group_number": 12,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "Worked text, shape, screenshot and ink pass",
                "start_line": 77,
                "end_line": 77,
                "span_lf_sha256": "1e6bcf0d60daaafab4d7de54d92757ebc8db04a93e65740f12776b8f9230aa58"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Inserts a rectangle/other graphics with intentional frame and content, rather than confusing a drawn shape with an existing placeholder.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "shapework"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-12.2",
            "wording": "Draw by using digital ink",
            "objective_wording_sha256": "7a821717f33506560a7e33aceac44b24286e484e36f11cc08a7f9503d116554c",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert and format graphic elements",
            "group_number": 12,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "Worked text, shape, screenshot and ink pass",
                "start_line": 83,
                "end_line": 83,
                "span_lf_sha256": "95e5010b57ce058eb9d6ddba2ab8469e3d480b9bd852fba209db0cfa347ed4e4"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Chooses a pen, draws and selects a small ink arrow, removes only the practice stroke and labels optional Ink to Shape conversion as related practice.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "ink"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-12.3",
            "wording": "Add text to graphic elements",
            "objective_wording_sha256": "41132de993ac4ec490e5a33314a907b555f65ce0ae8b3a5c1866346bdddad058",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert and format graphic elements",
            "group_number": 12,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "Worked text, shape, screenshot and ink pass",
                "start_line": 77,
                "end_line": 77,
                "span_lf_sha256": "1e6bcf0d60daaafab4d7de54d92757ebc8db04a93e65740f12776b8f9230aa58"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Adds Decision as actual shape text and formats its text range, checking it remains part of the intended selected object.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "shapework"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-12.4",
            "wording": "Resize graphic elements",
            "objective_wording_sha256": "d8244b9706f028bada102b47adf9c7e97b5142f90022355a0241d5e44e4da830",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert and format graphic elements",
            "group_number": 12,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "3. Text, shapes, images and reading order",
                "start_line": 69,
                "end_line": 69,
                "span_lf_sha256": "f29eb8a6c2f0b910b9bd01cbcfca4ab6abe755a6691dc8263beee9d46a3c0e9e"
              },
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 95,
                "end_line": 95,
                "span_lf_sha256": "c2392f2d46a2db6b2916f75a11c3341a57e18c1f2a99b30c1672d9efc69c39aa"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Adjusts graphic size while separating model/frame and image-proportion concerns, then checks the object is still readable and correctly placed.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "images",
              "models"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-12.5",
            "wording": "Format graphic elements",
            "objective_wording_sha256": "9d40e17b834c3be6cd3d66c04de06fea9318266e8b7499329f9cdaa85d1d1cf9",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert and format graphic elements",
            "group_number": 12,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "Worked text, shape, screenshot and ink pass",
                "start_line": 77,
                "end_line": 77,
                "span_lf_sha256": "1e6bcf0d60daaafab4d7de54d92757ebc8db04a93e65740f12776b8f9230aa58"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Changes shape fill/outline separately from its text and checks retained legibility against the slide background.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "shapework"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-12.6",
            "wording": "Apply built-in styles to graphic elements",
            "objective_wording_sha256": "f9ffe7f525b78d128e97e4fc6e4db6f3beaac32cc2d74f1879deba23c9214cea",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert and format graphic elements",
            "group_number": 12,
            "objective_number": 6,
            "evidence_spans": [
              {
                "heading": "Worked text, shape, screenshot and ink pass",
                "start_line": 77,
                "end_line": 77,
                "span_lf_sha256": "1e6bcf0d60daaafab4d7de54d92757ebc8db04a93e65740f12776b8f9230aa58"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Applies a built-in Shape Style to the selected rectangle, then checks text contrast and deliberate fill/outline changes.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "shapework"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-12.7",
            "wording": "Add alt text to graphic elements for accessibility",
            "objective_wording_sha256": "d6a382c58cad0adbeb5a66610edd11093a99990418970e7c4283935310c616f4",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Insert and format graphic elements",
            "group_number": 12,
            "objective_number": 7,
            "evidence_spans": [
              {
                "heading": "3. Text, shapes, images and reading order",
                "start_line": 73,
                "end_line": 73,
                "span_lf_sha256": "fa035069e594bb687ee1437ee288a42431420ddb8c4858e3406a6a68bc9ceb24"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Adds meaningful descriptions to informative graphics, marks only genuinely decorative objects as decorative and checks generated descriptions/reading sequence.",
            "repair_packet_ids": [
              "ppt-object-editing"
            ],
            "selected_section_keys": [
              "reading"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-13.1",
            "wording": "Order slide content",
            "objective_wording_sha256": "45743437704d634d9101b3bf385d99a40d766f11aaf671138bc7e0ecd71f3147",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Order, align, and group slide content",
            "group_number": 13,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "3. Text, shapes, images and reading order",
                "start_line": 71,
                "end_line": 71,
                "span_lf_sha256": "3b260b2e5c50d8f4a682ff8ca6b6708943d6fc40a150662bb50f80a17382804c"
              },
              {
                "heading": "3. Text, shapes, images and reading order",
                "start_line": 73,
                "end_line": 73,
                "span_lf_sha256": "fa035069e594bb687ee1437ee288a42431420ddb8c4858e3406a6a68bc9ceb24"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses front/back arrangement and the named Selection pane to inspect stacking, explicitly separating it from the numbered assistive reading order.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "align",
              "reading"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-13.2",
            "wording": "Align slide content",
            "objective_wording_sha256": "44213bfdba3031f42f2deaee94b3c5c9cee86afbb3e23ef6fe96d7a0b6a74508",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Order, align, and group slide content",
            "group_number": 13,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "3. Text, shapes, images and reading order",
                "start_line": 71,
                "end_line": 71,
                "span_lf_sha256": "3b260b2e5c50d8f4a682ff8ca6b6708943d6fc40a150662bb50f80a17382804c"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Aligns/distributes with the basis set to slide or selected objects and checks exact placement rather than relying on visual approximation.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "align"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-13.3",
            "wording": "Group slide content",
            "objective_wording_sha256": "173b6f2d7f17a1d9a2d90fb0d27be1609046e890c74cb9802f5e7a09a62a0700",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Order, align, and group slide content",
            "group_number": 13,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "3. Text, shapes, images and reading order",
                "start_line": 71,
                "end_line": 71,
                "span_lf_sha256": "3b260b2e5c50d8f4a682ff8ca6b6708943d6fc40a150662bb50f80a17382804c"
              },
              {
                "heading": "3. Text, shapes, images and reading order",
                "start_line": 73,
                "end_line": 73,
                "span_lf_sha256": "fa035069e594bb687ee1437ee288a42431420ddb8c4858e3406a6a68bc9ceb24"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Groups objects that should move together and warns that grouping previously animated objects can lose animations, requiring a recheck.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "align",
              "reading"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-13.4",
            "wording": "Display alignment tools",
            "objective_wording_sha256": "e127147fff2417278db801498bc4befb90e1f67fb2b3f285696bc1acbda2f67e",
            "domain": "Insert and format text, shapes, and images (25–30%)",
            "group": "Order, align, and group slide content",
            "group_number": 13,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "3. Text, shapes, images and reading order",
                "start_line": 71,
                "end_line": 71,
                "span_lf_sha256": "3b260b2e5c50d8f4a682ff8ca6b6708943d6fc40a150662bb50f80a17382804c"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Displays guides/gridlines to support alignment and combines them with explicit Align/Distribute targets and placement checks.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "align"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-14.1",
            "wording": "Create and insert tables",
            "objective_wording_sha256": "1648763c3f774c7475a2205b873117d43efa10e7c0a61a87f23a7a86f58b833d",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and format tables",
            "group_number": 14,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 89,
                "end_line": 89,
                "span_lf_sha256": "75c860745cfef1a8fb20e2495a6f4bbb5153b168665051afe6e67f668a90d9e6"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Inserts a 3-column×3-row table with three headers and two synthetic records so the resulting dimensions/content are inspectable.",
            "repair_packet_ids": [
              "ppt-table-operation"
            ],
            "selected_section_keys": [
              "table"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-14.2",
            "wording": "Insert and delete table rows and columns",
            "objective_wording_sha256": "c8bd57b1ce3fe703684dee715a0e643e28ecaaa15a4ee1dc8c037b6cca74cd2d",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and format tables",
            "group_number": 14,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 89,
                "end_line": 89,
                "span_lf_sha256": "75c860745cfef1a8fb20e2495a6f4bbb5153b168665051afe6e67f668a90d9e6"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Inserts a row and column, fills distinct values, deletes those additions and confirms the original records remain associated; clearing text is not row deletion.",
            "repair_packet_ids": [
              "ppt-table-operation"
            ],
            "selected_section_keys": [
              "table"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-14.3",
            "wording": "Apply built-in table styles",
            "objective_wording_sha256": "a98158d14b7d56bae8a1f1c66f38934ab10ca8d22951a110103ff89d5fbccbd7",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and format tables",
            "group_number": 14,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 89,
                "end_line": 89,
                "span_lf_sha256": "75c860745cfef1a8fb20e2495a6f4bbb5153b168665051afe6e67f668a90d9e6"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "partial",
            "initial_flag_disposition": "teaching-gap-repaired-and-current-prose-reread",
            "reason": "Applies a built-in table style and checks header/body contrast after a theme change instead of treating a style selection alone as success.",
            "repair_packet_ids": [
              "ppt-table-operation"
            ],
            "selected_section_keys": [
              "table"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-15.1",
            "wording": "Create and insert charts",
            "objective_wording_sha256": "ae09e95f8208a555cce831a3c65d599fb7c86cc1c55b9ce03c98793c1cbe59b9",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and modify charts",
            "group_number": 15,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 87,
                "end_line": 87,
                "span_lf_sha256": "2c52821f0ffb3a5bc4fdf7d6588cc4a03a2eba398667f0a5d3f579b19e2c3ec3"
              },
              {
                "heading": "5. Match chart meaning to the data",
                "start_line": 135,
                "end_line": 135,
                "span_lf_sha256": "80801b4488daaaa72612f6172210e842fccc1bc876b71298c149aab6cf161569"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Creates a two-column chart for January 120 and February 180 with labeled units and a zero baseline, checking total 300 and growth 50%.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "tableconcept",
              "chartexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-15.2",
            "wording": "Modify charts",
            "objective_wording_sha256": "93971ee219aeac2b054065c2978d518c31f6c7e753dbf4b2eb1600f21507d65d",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and modify charts",
            "group_number": 15,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 87,
                "end_line": 87,
                "span_lf_sha256": "2c52821f0ffb3a5bc4fdf7d6588cc4a03a2eba398667f0a5d3f579b19e2c3ec3"
              },
              {
                "heading": "5. Match chart meaning to the data",
                "start_line": 135,
                "end_line": 135,
                "span_lf_sha256": "80801b4488daaaa72612f6172210e842fccc1bc876b71298c149aab6cf161569"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Edits the underlying source/series and checks chart labels/units after changes, rejecting formatting as a repair for incorrect data.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "tableconcept",
              "chartexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-16.1",
            "wording": "Insert SmartArt graphics",
            "objective_wording_sha256": "428f28c627f1b72fd8e93a857e3bf21dda3ed058245b31f906b886fea6ce9ed1",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and format SmartArt graphics",
            "group_number": 16,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 91,
                "end_line": 91,
                "span_lf_sha256": "b8287699995f73be92fd89c5e535db46b71ef56f63b26b5799aebab28a61af8f"
              },
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 93,
                "end_line": 93,
                "span_lf_sha256": "2341cbd251dfd5060526391f9ddbe5fd8a835892108ef7608fa4099781d98a45"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Chooses a list/process/hierarchy diagram according to relationships and explains why a manager with two reports differs from a three-step process.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "smartart",
              "smartartupdate"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-16.2",
            "wording": "Convert between SmartArt graphics and lists",
            "objective_wording_sha256": "3fa5aac653bce6ad5a4084f2a57da041074da43d637348f242ceb9fb5a71bf51",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and format SmartArt graphics",
            "group_number": 16,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 91,
                "end_line": 91,
                "span_lf_sha256": "b8287699995f73be92fd89c5e535db46b71ef56f63b26b5799aebab28a61af8f"
              },
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 93,
                "end_line": 93,
                "span_lf_sha256": "2341cbd251dfd5060526391f9ddbe5fd8a835892108ef7608fa4099781d98a45"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Converts between a list and SmartArt and checks retained order/hierarchy rather than assuming the conversion preserves meaning automatically.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "smartart",
              "smartartupdate"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-16.3",
            "wording": "Add and modify SmartArt graphic content",
            "objective_wording_sha256": "ed2d05a2529bc33cb29144bbfbcf38081728ed013ab67c708c9be9c38d95d29f",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and format SmartArt graphics",
            "group_number": 16,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 91,
                "end_line": 91,
                "span_lf_sha256": "b8287699995f73be92fd89c5e535db46b71ef56f63b26b5799aebab28a61af8f"
              },
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 93,
                "end_line": 93,
                "span_lf_sha256": "2341cbd251dfd5060526391f9ddbe5fd8a835892108ef7608fa4099781d98a45"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Adds/edits nodes and promotes/demotes levels, then checks relationship descriptions while bounding the 2026 accessibility announcement by build/rollout.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "smartart",
              "smartartupdate"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-17.1",
            "wording": "Insert 3D models",
            "objective_wording_sha256": "fb1952d6685a43d37b38ebcc60b97bf931e3a3e32565846c073ff1e2b8b70ea0",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and modify 3D models",
            "group_number": 17,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 95,
                "end_line": 95,
                "span_lf_sha256": "c2392f2d46a2db6b2916f75a11c3341a57e18c1f2a99b30c1672d9efc69c39aa"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Inserts a 3D model on a suitable desktop build and distinguishes its supported creation capabilities from documented web playback limits.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "models"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-17.2",
            "wording": "Modify 3D model appearance",
            "objective_wording_sha256": "0350db125f027e5433d7348e5ed7e8ad6d8d77df4ed111786424077c23d99de4",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and modify 3D models",
            "group_number": 17,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 95,
                "end_line": 95,
                "span_lf_sha256": "c2392f2d46a2db6b2916f75a11c3341a57e18c1f2a99b30c1672d9efc69c39aa"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Changes model viewpoint/appearance independently of resizing or moving its containing frame and tests the selected effect controls.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "models"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-18.1",
            "wording": "Insert audio and video clips",
            "objective_wording_sha256": "6f299292f6362ce2a2eb320fb3611d645f00832ccbfcd9f3b74882a7e700952f",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and manage media",
            "group_number": 18,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 97,
                "end_line": 97,
                "span_lf_sha256": "37d6435125751d895893399cc911851a43e4d161308772e69ee648313872d85b"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Inserts audio/video and tests embedded versus linked dependencies on the delivery device after moving/copying the presentation.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "media"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-18.2",
            "wording": "Create and insert screen recordings",
            "objective_wording_sha256": "de1593f5e7ec5809f630578f6296501948b0a82b2a60aa201d8026afd6701082",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and manage media",
            "group_number": 18,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 99,
                "end_line": 99,
                "span_lf_sha256": "27b17a2051b2ebbcb575f779219fcaca647501f472ec7f891ad45bec2f6516ac"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Chooses a harmless screen region, checks audio/pointer toggles, records/stops/trims/replays the inserted clip and distinguishes it from recording a narrated show.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "screen"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-18.3",
            "wording": "Configure media playback options",
            "objective_wording_sha256": "253c5dd4766faf7963c4018be9b5824365384c16d367787f36b03504a470953f",
            "domain": "Insert tables, charts, SmartArt, 3D models, and media (15–20%)",
            "group": "Insert and manage media",
            "group_number": 18,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 97,
                "end_line": 97,
                "span_lf_sha256": "37d6435125751d895893399cc911851a43e4d161308772e69ee648313872d85b"
              },
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 101,
                "end_line": 101,
                "span_lf_sha256": "c709eabd55b4819abdff2b8d923c94b861b99b55ca118495f12f9c8180793747"
              },
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 103,
                "end_line": 103,
                "span_lf_sha256": "0d88eb27297f13245d4bc3d1bef60d8c36ab35fa343f5a4a7dc61825806fc6c8"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Configures start/volume/trim/loop/rewind/poster/across-slide behavior where supported, then retests playback and accessibility tracks after compression/export.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "media",
              "captions",
              "compress"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-19.1",
            "wording": "Apply basic and 3D slide transitions",
            "objective_wording_sha256": "12c775a68c5cbebb0ed822575637da751883e19bca0fbffd85ca29eddf0a1889",
            "domain": "Apply transitions and animations (10–15%)",
            "group": "Apply and configure slide transitions",
            "group_number": 19,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "5. Transitions and animations",
                "start_line": 107,
                "end_line": 107,
                "span_lf_sha256": "d7a044d806bcc89ddfefc6d7c331d45cc8b3fa86ff945fa5b82e6011aa3521fd"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Applies basic/3D transitions between slides and distinguishes them from moving a 3D model inside a slide.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "transition"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-19.2",
            "wording": "Configure transition effects and timing",
            "objective_wording_sha256": "3c8936f33c93deaeef2e8ea35faae770a4a577b7cca40541127da7b52b0eb330",
            "domain": "Apply transitions and animations (10–15%)",
            "group": "Apply and configure slide transitions",
            "group_number": 19,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "5. Transitions and animations",
                "start_line": 107,
                "end_line": 107,
                "span_lf_sha256": "d7a044d806bcc89ddfefc6d7c331d45cc8b3fa86ff945fa5b82e6011aa3521fd"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Sets effect options/duration/advance and checks one-slide versus all-slide application in actual show playback expectations.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "transition"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-20.1",
            "wording": "Animate text and graphic elements",
            "objective_wording_sha256": "4e1c594b2beb68492684081936e31835298e274cdba995acd67822e046e2a29c",
            "domain": "Apply transitions and animations (10–15%)",
            "group": "Animate slide content",
            "group_number": 20,
            "objective_number": 1,
            "evidence_spans": [
              {
                "heading": "5. Transitions and animations",
                "start_line": 109,
                "end_line": 109,
                "span_lf_sha256": "bfd7e4421f0249741722a3bdda1fc66b94b84cbb736070a60ed8a37f38e9dc54"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Applies purposeful text/graphic effects through the Animation pane and uses Add Animation to retain an existing effect when adding another.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "animate"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-20.2",
            "wording": "Animate 3D models",
            "objective_wording_sha256": "fa31b06a899dbac02135565efee6d347534b369d4d3326dc7f1afa80e4f14cf0",
            "domain": "Apply transitions and animations (10–15%)",
            "group": "Animate slide content",
            "group_number": 20,
            "objective_number": 2,
            "evidence_spans": [
              {
                "heading": "4. Tables, charts, diagrams, 3D models and media",
                "start_line": 95,
                "end_line": 95,
                "span_lf_sha256": "c2392f2d46a2db6b2916f75a11c3341a57e18c1f2a99b30c1672d9efc69c39aa"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Uses a supported 3D effect such as Turntable with direction/axis/intensity choices, keeping model animation distinct from 3D transitions.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "models"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-20.3",
            "wording": "Configure animation effects and timing",
            "objective_wording_sha256": "cd22aad8bf1d9e082ffbbd818ee87227e571e4d63a9881f4513c8f04df3deae9",
            "domain": "Apply transitions and animations (10–15%)",
            "group": "Animate slide content",
            "group_number": 20,
            "objective_number": 3,
            "evidence_spans": [
              {
                "heading": "5. Transitions and animations",
                "start_line": 111,
                "end_line": 111,
                "span_lf_sha256": "bf7c8163fb97173e880572707423bcd5f377a04c2e9e65a4f4ec59d245df0486"
              },
              {
                "heading": "4. Predict an animation sequence",
                "start_line": 131,
                "end_line": 131,
                "span_lf_sha256": "bf3540fadd48d117fe801d34767f1ba8d5fb439628ac4402463bce561a6ae21d"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Distinguishes trigger/duration/delay and predicts A 0–1, B 0.5–2.5, C 2.75–3.5 before checking the show rather than claiming measured renderer timing.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "timing",
              "timingexample"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-20.4",
            "wording": "Configure animation paths",
            "objective_wording_sha256": "61afb91c3a3dcebff248b7810e16c208087e5ee77328279b3b58111c70602b87",
            "domain": "Apply transitions and animations (10–15%)",
            "group": "Animate slide content",
            "group_number": 20,
            "objective_number": 4,
            "evidence_spans": [
              {
                "heading": "5. Transitions and animations",
                "start_line": 109,
                "end_line": 109,
                "span_lf_sha256": "bfd7e4421f0249741722a3bdda1fc66b94b84cbb736070a60ed8a37f38e9dc54"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Configures a motion path and inspects start/end and final object position instead of assuming the editing path produces the intended delivery result.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "animate"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          },
          {
            "objective_id": "MO-310-20.5",
            "wording": "Reorder animations on a slide",
            "objective_wording_sha256": "63e517d1a50520b0d77a2b09bc78f04560dd49f72217a269f3decbe2d6a78256",
            "domain": "Apply transitions and animations (10–15%)",
            "group": "Animate slide content",
            "group_number": 20,
            "objective_number": 5,
            "evidence_spans": [
              {
                "heading": "5. Transitions and animations",
                "start_line": 109,
                "end_line": 109,
                "span_lf_sha256": "bfd7e4421f0249741722a3bdda1fc66b94b84cbb736070a60ed8a37f38e9dc54"
              },
              {
                "heading": "5. Transitions and animations",
                "start_line": 111,
                "end_line": 111,
                "span_lf_sha256": "bf7c8163fb97173e880572707423bcd5f377a04c2e9e65a4f4ec59d245df0486"
              }
            ],
            "current_depth_result": "substantive",
            "initial_depth_result": "adequate",
            "initial_flag_disposition": "not-flagged-initially",
            "reason": "Reorders the selected effects in the Animation pane, tests the full sequence/triggers and accounts for After Previous depending on the prior effect’s end.",
            "repair_packet_ids": [],
            "selected_section_keys": [
              "animate",
              "timing"
            ],
            "semantic_binding_review": "Task-specific reason reassessed against complete current captured guide and full diff; evidence locates complete actual teaching, not an objective heading or keyword."
          }
        ]
      }
    ],
    "boundary": "Current detailed task wordings and actual prose bindings. Office PDF task evidence is separate from byte-unchanged coarse accepted adapter snapshots. Identity hashes do not prove semantics; role and independent reviews are separate.",
    "coordinator_editorial_rebinding": {
      "date": "2026-10-28",
      "coordinator_followup": "Repository validation requires the literal disclosure phrase not a complete list. Five existing equivalent resource-list sentences normalized; no resource, task, timing or technical meaning changes.",
      "changes": [
        {
          "exam_code": "MO-110",
          "old_text": "This is a selective learning path, not a requirement to consume every resource or a complete list of Word resources.",
          "replacement_markdown": "This is a selective learning path, not a complete list of Word resources or a requirement to consume every item.",
          "old_guide_lf_sha256": "a0779947d9e76d94e076f7bb9faac3db40955abb5f826fc8c35b442c9b34e6d3",
          "new_guide_lf_sha256": "ae8283c05a4dfa3fc89662b02d51e0fc3f72cebf7b6200cd62e1b400577ad7d1",
          "line_count_unchanged": true,
          "objective_wordings_and_semantic_reasons_unchanged": true
        },
        {
          "exam_code": "MO-111",
          "old_text": "This is a selective learning path, not a requirement to consume every resource or a complete list of Word Expert resources.",
          "replacement_markdown": "This is a selective learning path, not a complete list of Word Expert resources or a requirement to consume every item.",
          "old_guide_lf_sha256": "620e73320268547b78abd111bcad367e6464abf70ae6e32e81b84ae2699f8e5d",
          "new_guide_lf_sha256": "916671ccfcd7239e5a003449808c9db71f8a2588166030d10541f570c021eaa5",
          "line_count_unchanged": true,
          "objective_wordings_and_semantic_reasons_unchanged": true
        },
        {
          "exam_code": "MO-210",
          "old_text": "This is a selective learning path, not a requirement to consume every resource or a complete list of Excel resources.",
          "replacement_markdown": "This is a selective learning path, not a complete list of Excel resources or a requirement to consume every item.",
          "old_guide_lf_sha256": "41624e65a8518323e4d278298c998c6990ded7dca7b4167d8afb094cbdb018dd",
          "new_guide_lf_sha256": "8a58326b229da89dffd587eda22658fadf3fa5b49c14c1c344096b50f85e2868",
          "line_count_unchanged": true,
          "objective_wordings_and_semantic_reasons_unchanged": true
        },
        {
          "exam_code": "MO-211",
          "old_text": "This is a selective learning path, not a requirement to consume every resource or a complete list of Excel Expert resources. All time estimates below are author suggestions.",
          "replacement_markdown": "This is a selective learning path, not a complete list of Excel Expert resources or a requirement to consume every item. All time estimates below are author suggestions.",
          "old_guide_lf_sha256": "a51c3cdf378969e3915e30b1a43e353f97f44bdfe99b0d9ac5625acf2050183c",
          "new_guide_lf_sha256": "c86adc45edf779b57fa9a1eb933fbbb2d20175042f53890031b16573d2f06d60",
          "line_count_unchanged": true,
          "objective_wordings_and_semantic_reasons_unchanged": true
        },
        {
          "exam_code": "MO-310",
          "old_text": "This is a selective learning path, not a requirement to consume every resource or a complete list of PowerPoint resources. Times are author suggestions, not provider runtimes or an exam-readiness guarantee.",
          "replacement_markdown": "This is a selective learning path, not a complete list of PowerPoint resources or a requirement to consume every item. Times are author suggestions, not provider runtimes or an exam-readiness guarantee.",
          "old_guide_lf_sha256": "b15e4a4b3253ea93537548f69ea6abf9068eba4f402c77f41313a8ad06987bfd",
          "new_guide_lf_sha256": "caa6c79dee588d3a69dc3b92c7c2e38603df55d16197558e5f0a6805c29da7ec",
          "line_count_unchanged": true,
          "objective_wordings_and_semantic_reasons_unchanged": true
        }
      ],
      "preserved_combined_matrix": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\pre-disclosure-wording\\exam-final-mapping.json",
      "role_final_matrices": "Preserved unchanged as the authors released them. Combined current matrix/guide/deep hashes rebound only after this explicit editorial delta; no claim that the prior role hash already included it.",
      "verification": "Root inspected each exact before/after sentence; all offsets/task wording/reasons unchanged. Fresh-context reviewers receive this final editorial delta for recheck."
    }
  },
  "snapshot_acceptance": {
    "accepted_on": "2026-10-28",
    "unchanged_objective_files": 8,
    "unchanged_status_files": 6,
    "status_metadata_changes": {
      "AB-410": {
        "path": "data/objective-snapshots/ab-410-official-status.json",
        "old_raw_sha256": "7dc222606773f391d973212699de4166373bd6eeacd2613a1a8919c7bf1b00be",
        "new_raw_sha256": "0d55874709f1d1417de6928afa0e28c836b5c52353602f4889921d34712d2634",
        "reason": "Undated study-guide page LastUpdated metadata only. All accepted objective bytes unchanged; no new skills-effective date inferred."
      },
      "AZ-802": {
        "path": "data/objective-snapshots/az-802-official-status.json",
        "old_raw_sha256": "004deacbae92071590fafe295c0b79b426fa73b7d4af49d2813f47da0f0f2b47",
        "new_raw_sha256": "22263a5f15aee693bf4f4727115d1a9aba20f3aa645ac6e0656f6181d3899564",
        "reason": "Undated study-guide page LastUpdated metadata only. All accepted objective bytes unchanged; no new skills-effective date inferred."
      }
    },
    "historical_preservation": "All prior source/deep/audit review objects, objective pointers, counts and verdicts remain unchanged. Coarse Office adapter snapshots remain distinct from supplemental detailed PDF tasks."
  },
  "exam_research": {
    "subset_a": {
      "date": "2026-10-28",
      "role": "read-only preliminary exam/objective researcher, group05 subsetA",
      "status": "pre-integration research and repair proposals complete; final actual-integration semantic rebind pending coordinator handoff",
      "scope": [
        "AB-410",
        "AZ-120",
        "AZ-802",
        "MO-110"
      ],
      "exclusive_scratch_prefix": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-",
      "instructions_read": [
        "AGENTS.md",
        "CONTRIBUTING.md",
        "docs/CONTENT-POLICY.md",
        "docs/SOURCE-QUALITY.md",
        "docs/GUIDE-QUALITY-STANDARD.md",
        "docs/AI-AUDIT.md"
      ],
      "input_binding": [
        {
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "guide_content_sha256": "6a3af28d56aace7d2c64f396d9376de1d83c44b38d503b3a7a593d03425e1e0e",
          "accepted_objective_path": "data/objective-snapshots/ab-410-official-objectives.txt",
          "accepted_objective_raw_sha256": "390c1040388541915573525f59b9f2f28753f65d0a3a50e9221dd7ab11c68142",
          "accepted_status_raw_sha256": "7dc222606773f391d973212699de4166373bd6eeacd2613a1a8919c7bf1b00be",
          "detailed_objective_count": 48
        },
        {
          "exam_code": "AZ-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "guide_content_sha256": "2ff79da9817625ce10e5daf341982f5606ed3a13d6ab48a6f77600019def9b4a",
          "accepted_objective_path": "data/objective-snapshots/az-120-official-objectives.txt",
          "accepted_objective_raw_sha256": "9ef2824a901a8ba33075de4315d56f6bd0c7e9b5887028f27c16e6645e6eb3ff",
          "accepted_status_raw_sha256": "a945b84d8f7456c964d0fd657074971b70690e6f607db7ece4f7278b640a1ebf",
          "detailed_objective_count": 78
        },
        {
          "exam_code": "AZ-802",
          "guide_path": "guides/AZ-802-administering-windows-server.md",
          "guide_content_sha256": "d28dc0f282e9fec60cc0fbc0c03908dc38a7a78c8107f2aab42623b5737f2464",
          "accepted_objective_path": "data/objective-snapshots/az-802-official-objectives.txt",
          "accepted_objective_raw_sha256": "ec584efe0ea08ae5ad6bbcef992c1b4a4e6b18826193ece06a76114757c8f65d",
          "accepted_status_raw_sha256": "004deacbae92071590fafe295c0b79b426fa73b7d4af49d2813f47da0f0f2b47",
          "detailed_objective_count": 115
        },
        {
          "exam_code": "MO-110",
          "guide_path": "guides/MO-110-microsoft-word-microsoft-365-apps.md",
          "guide_content_sha256": "e8b97fec80ccc4f0e0b492e24bcd9269bd3e4a65ca0e7d75c0562ec14065fbfd",
          "accepted_objective_path": "data/objective-snapshots/mo-110-official-objectives.txt",
          "accepted_objective_raw_sha256": "c5016d0c2a76187324de57865fcad9858aa02d49353a61ffc479e64430ee233a",
          "accepted_status_raw_sha256": "6e8a29ea37892c43a7addf1cd7d6f3b0c6cc21cf453b20e6a2b33fab01fce989",
          "detailed_objective_count": 70
        }
      ],
      "input_limit": "Preliminary catalogs may still change during group04 integration. Current guide LF bindings recorded; group05 frozen handoff not yet supplied. Do not backfill final reviewed hashes without rereading actual final content.",
      "guide_read_scope": "Complete four guides, front matter/examples/labs/answers/readiness/resources; complete accepted raw objectives/status; all current detailed bullets and all three MO-110 PDF pages. Research mapping, not final audit or execution.",
      "official_identity_and_prerequisites": [
        {
          "exam_code": "AB-410",
          "identity": "Building Intelligent Applications; Intelligent Applications Builder Associate",
          "delivery": "Active; 120 minutes; 13 listed languages.",
          "prerequisites": "Listed low-code, Copilot, Dataverse, AI Hub, Power Fx and governance knowledge/experience; no named prerequisite credential imposed in these pages.",
          "baseline": "48 detailed objectives unchanged. October 16 LastUpdated is page metadata; no separate skills-effective date.",
          "practice": "Credential and study guide announce sign-in-required AI Skills Navigator access; no launch or questions inspected."
        },
        {
          "exam_code": "AZ-120",
          "identity": "Planning and Administering Microsoft Azure for SAP Workloads; Azure for SAP Workloads Specialty",
          "delivery": "Active; 100 minutes; seven listed languages; annual renewal.",
          "prerequisites": "Extensive SAP application/database and infrastructure experience. Azure Administrator Associate is strongly recommended, not stated as mandatory.",
          "baseline": "78 detailed objectives; explicit April 17, 2026 skills date.",
          "practice": "No Microsoft free Practice Assessment shown on the inspected credential page; the sandbox is an interface demonstration."
        },
        {
          "exam_code": "AZ-802",
          "identity": "Administering Windows Server; Windows Server Administrator Associate",
          "delivery": "Active; 120 minutes; English. AZ-800/AZ-801 retired September 30; AZ-802 is the replacement.",
          "prerequisites": "Windows Server administration with WAC, Hyper-V, PowerShell, Arc, Monitor, Update Manager and Defender for Cloud, plus AD DS familiarity. Current audience does not specify fixed years or a prerequisite credential.",
          "baseline": "115 detailed objectives unchanged. October 19 LastUpdated is page metadata; no separate skills-effective date.",
          "practice": "Study guide announces Navigator access while credential page still says unavailable. Preserve the source discrepancy."
        },
        {
          "exam_code": "MO-110",
          "identity": "Microsoft Office Specialist: Word Associate (Microsoft 365 Apps)",
          "delivery": "50-minute proctored assessment; 16 listed languages; 60-month renewal.",
          "prerequisites": "Approximately 150 hours of instruction/hands-on use is preparation guidance, not a mandatory prerequisite.",
          "baseline": "Six accepted adapter domains and 70 detailed PDF tasks. All three PDF pages read; no effective date invented.",
          "practice": "Guide exercises are proposed; no Office application or exam workstation was executed."
        }
      ],
      "source_readings": [
        {
          "key": "ab410-blueprint",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
          "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-blueprint.html",
          "raw_sha256": "f91383e6c8f565ed7b436be438ecf4078166c281ea24ddd304f1fc5601754908",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-blueprint.txt",
          "source_matches": [
            "ab-410-blueprint"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete audience, prerequisites, all 48 detailed bullets in 7 groups, domain weights, Practice Assessment tip and footer.",
          "observations": "48 normalized bullet wordings are literal normalized substrings of complete accepted raw snapshot; Last Updated 2026-10-16 is page metadata without separate skills-effective date; PA now on sign-in-required AI Skills Navigator.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "az120-blueprint",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-120",
          "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-120",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az120-blueprint.html",
          "raw_sha256": "0b6084e0e3b0dfa941a60dcb45c8e2ef4c02310480b123527f0218edcd06a86e",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az120-blueprint.txt",
          "source_matches": [
            "az-120-blueprint"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete audience, recommendation, all 78 detailed bullets in 10 groups, weights, skills-effective heading and footer.",
          "observations": "Explicit skills measured April 17,2026 unchanged; Azure Administrator Associate strongly recommended, not stated as mandatory credential.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "az802-blueprint",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
          "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-blueprint.html",
          "raw_sha256": "e19e096e8d6eda6f29d7e811e365b1070351d4e7417f5e6c068977b8a9d33eea",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-blueprint.txt",
          "source_matches": [
            "az-800-az-802-replacement-blueprint"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete audience, all 115 detailed bullets in 18 groups, weights, Practice Assessment tip and footer.",
          "observations": "115 normalized bullet wordings are literal normalized substrings of accepted snapshot; Last Updated 2026-10-19 has no separate effective date; PA tip conflicts with credential page.",
          "affected_exams": [
            "AZ-802"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-credential",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/intelligent-applications-builder-associate/",
          "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/intelligent-applications-builder-associate/",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-credential.html",
          "raw_sha256": "fe2237ac290400b928385ba1867c4bfb16c26f32f6c6b6610ffafa670d63ff8e",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-credential.txt",
          "source_matches": [
            "ab-410-credential"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete overview, experience/prerequisite bullets, preparation/practice/sandbox/delivery/language sections.",
          "observations": "Active 120 minuteassessment;13 listedlanguages; knowledge/experience expectations rather than named prerequisite credential; Navigator PA sign-in announced.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "az120-credential",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-for-sap-workloads-specialty/",
          "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-for-sap-workloads-specialty/",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az120-credential.html",
          "raw_sha256": "60b5c375c92e6cb6735492531189906d3ce54bb10b25ad27946c49836d83a44e",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az120-credential.txt",
          "source_matches": [
            "az-120-credential"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete overview, renewal, preparation/practice/sandbox/delivery/language sections.",
          "observations": "Active 100 minuteassessment;7 languages; annual renewal. No free Microsoft Practice Assessment shown in inspected page; sandbox distinct.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "az802-credential",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
          "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.html",
          "raw_sha256": "1eeb53d594363c8a62033a3c3c5f4e34b98902477b23d3f6ff3631dc4d975ad8",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.txt",
          "source_matches": [
            "az-800-replacement-credential"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete overview, retirement/replacement note, training/practice/sandbox/delivery/language sections.",
          "observations": "Active 120 minute Englishassessment; AZ 800/801 retired Sep 30 and AZ 802 replacement; credential still says no PA/no training despite study-guide PA/course evidence.",
          "affected_exams": [
            "AZ-802"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "mo110-credential",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-word-associate-m365-apps/",
          "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-word-associate-m365-apps/",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-mo110-credential.html",
          "raw_sha256": "afaa18c1941bcb40aca657237547505ba9bf5d1c25e7286990275b3962e5ec6f",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-mo110-credential.txt",
          "source_matches": [
            "mo-110-blueprint"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete overview,150 hourguidance, no-training statement,50 mindelivery,16 languages,60 monthrenewal and 6 assessed domains.",
          "observations": "Identity/scope unchanged;150 hours preparation guidance, not formal prerequisite;60 monthrenewal agrees MOS 5 yearpolicy.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "mo110-skills",
          "opened_url": "https://arch-center.azureedge.net/Learning/Credentials/MO-110_OD_MOS365_Word.pdf",
          "final_url": "https://arch-center.azureedge.net/Learning/Credentials/MO-110_OD_MOS365_Word.pdf",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-mo110-skills.pdf",
          "raw_sha256": "ab1ecc06ab88436e02d86dfdc926aebecc95a54b30eb3a74ac9f13a53947155d",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-mo110-skills.txt",
          "source_matches": [
            "mo110-skills-pdf"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "All 3 PDFpages,70 bullets in 18 groups and 6 weighted domains; raw PDF bytes retained and pypdf extraction read completely.",
          "observations": "Detailed authoritative task map supplements accepted six-domain adapter snapshot; no separate effective date inferred from PDF metadata.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "retirements",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams",
          "final_url": "https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-retirements.html",
          "raw_sha256": "6296d470ce26499067f5464544cb0774200e7523780b15a852f234a0f4c84514",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-retirements.txt",
          "source_matches": [
            "az-800-official-retirement-list"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete retirement policy and scheduled exams/assessment-lab tables.",
          "observations": "No AB 410/AZ 120/AZ 802/MO 110 scheduled retirement in this current listing; historical AZ 800/801 evidence comes from credential page, not an absent row.",
          "affected_exams": [
            "AB-410",
            "AZ-120",
            "AZ-802",
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "expiration",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy",
          "final_url": "https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-expiration.html",
          "raw_sha256": "205da3aeecb7b17b6592818c71eff88e073c0b1f1534c47e37ff55962fd74fff",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-expiration.txt",
          "source_matches": [
            "mos-expiration-policy"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete role/specialty/fundamental/other/beta/Applied Skills and technology-retirement body.",
          "observations": "Role/specialty 1 year and MOS 5 years supported; expiration differs from exam retirement.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-tables",
          "opened_url": "https://learn.microsoft.com/en-us/power-apps/maker/data-platform/create-edit-entities-portal",
          "final_url": "https://learn.microsoft.com/en-us/power-apps/maker/data-platform/create-edit-entities-portal",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-tables.html",
          "raw_sha256": "fd6121b820dcdf9466eb119e8c1e64cf04b5e65923f6739d71e183674a4bea59",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-tables.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Prerequisites; view/create/data workspace controls; new/existing remove behavior; blank/Copilot creation; supported-type/relationship limitations; table hub/components.",
          "observations": "Supports actual workspace properties/columns/relationships; metadata edit privileges do not prove row access; M:N workspace creation unsupported.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-charts",
          "opened_url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/create-edit-system-chart",
          "final_url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/create-edit-system-chart",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-charts.html",
          "raw_sha256": "ee8763adc24c48caf3e69ee546f30d72900702bab217f65f1b4fd48f3fe273f2",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-charts.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Create/edit chart; aggregate/category/type; preview view note, selected chart visibility and record-limit/known-issue context.",
          "observations": "Count/category/configure/publish supported; chart preview view not permanent binding. Avoid page anomalous total-revenue/max example.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-designers",
          "opened_url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/model-driven-designers",
          "final_url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/model-driven-designers",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-designers.html",
          "raw_sha256": "0c9feccd247fd84ce6932fa4b354a9eb936b10f4dd1aa534c5aac11521ceadac",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-designers.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Data-model/app-development/business-logic designer tables and scope.",
          "observations": "Separates table/form/view/chart/dashboard/app designers and solution boundary.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "word-margins",
          "opened_url": "https://support.microsoft.com/en-us/word/training/change-margins",
          "final_url": "https://support.microsoft.com/en-us/word/training/change-margins",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-margins.html",
          "raw_sha256": "57aa863d0f3e6eeebbe0cc5b0f8f41c87b741851c3b7a6ca788400f44fb12655",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-margins.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete short Windows procedure and Applies To list.",
          "observations": "Layout > Margins and custom values; no claim about an actual testing-center build.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "word-borders",
          "opened_url": "https://support.microsoft.com/en-us/word/why-aren-t-page-borders-printing",
          "final_url": "https://support.microsoft.com/en-us/word/why-aren-t-page-borders-printing",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-borders.html",
          "raw_sha256": "d9591c40a6e7b7d1d237a38bc7df550d9b49ed156aa74ae7db4cb8b721561d55",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-borders.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete border-printing failure procedure and Applies To list.",
          "observations": "A printer minimum margin can clip a page border; inspect the delivered output.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-bpf",
          "opened_url": "https://learn.microsoft.com/en-us/power-automate/create-business-process-flow",
          "final_url": "https://learn.microsoft.com/en-us/power-automate/create-business-process-flow",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-bpf.html",
          "raw_sha256": "5bca8009d9f1b1a58e2774781586eed0c9923bae369126c6bc58268143e71497",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-bpf.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Prerequisites; solution creation; stages/steps/required Boolean; validation/save/activation; instance roles and branch limits.",
          "observations": "Saved draft unavailable; required Booleanneeds Yes; role access to definition/instances separate.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-prompt-app",
          "opened_url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-app",
          "final_url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-app",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-prompt-app.html",
          "raw_sha256": "c19371be12097b0561ee99c828fd725fd5fdb6b5d5e117434e4611f9a015a740",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-prompt-app.txt",
          "source_matches": [
            "ab410-prompt-app"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete public prerequisite, app creation/data binding/Predict/result label/test sections.",
          "observations": "Documents .Predict and text result; old model-name note must defer to current settings; no invocation.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-prompt-flow",
          "opened_url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow",
          "final_url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-prompt-flow.html",
          "raw_sha256": "0a9c49d79ebf63b34b4217784a1aee8cb4848306be1dc2b534eeebeaa9daa8a3",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-prompt-flow.txt",
          "source_matches": [
            "ab410-prompt-flow"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete existing/new prompt action, input/output mapping, human review/Condition/accepted-text procedure.",
          "observations": "Current action Run a prompt; explicit approval outcome controls accepted output.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-model-app",
          "opened_url": "https://learn.microsoft.com/en-us/ai-builder/prebuilt-text-recognizer-component-in-powerapps",
          "final_url": "https://learn.microsoft.com/en-us/ai-builder/prebuilt-text-recognizer-component-in-powerapps",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-model-app.html",
          "raw_sha256": "5a1bab3147db94f1d544b97f7390afc046bdd37df431932dff27c48e39a9ceb8",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-model-app.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete component behavior, key output properties, Full Text/Selected/Results expressions and accessibility note.",
          "observations": "Actual model-output surfaces differ; do not invent a confidence property on component.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-model-flow",
          "opened_url": "https://learn.microsoft.com/en-us/ai-builder/flow-text-recognition",
          "final_url": "https://learn.microsoft.com/en-us/ai-builder/flow-text-recognition",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-model-flow.html",
          "raw_sha256": "f1377623593bc17634edd0f18f8336b44830c0e3cbbc610d046ac9bc5e7d6e0c",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-model-flow.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete file trigger/Image mapping, full-document/page/line output, loops and input/output parameter tables.",
          "observations": "A model invocation has concrete file-to-result bindings; line iteration differs from full document.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-model-powerfx",
          "opened_url": "https://learn.microsoft.com/en-us/ai-builder/powerfx-in-powerapps",
          "final_url": "https://learn.microsoft.com/en-us/ai-builder/powerfx-in-powerapps",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-model-powerfx.html",
          "raw_sha256": "66d730dc2a9ffae7f2137b10665b524bba3ff3e3ebaef010ff8b63e33c30c960",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-model-powerfx.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Model selection, requirements and input/output examples, particularly text-recognition/language-detection return shapes.",
          "observations": "Supplementary evidence only; proposed lab uses component docs, not assuming every model surface exposes same fields.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-editable-app",
          "opened_url": "https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/add-editable-tables",
          "final_url": "https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/add-editable-tables",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-editable-app.html",
          "raw_sha256": "2403ee2d0bff134e3b7f5eae791ee4395157ee0114ad0c64781674607ad235e7",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-editable-app.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Prerequisites; blank app/add source; form fields/mode; gallery Items/This Item/Patch; edit toggle and later validation sections.",
          "observations": "Confirms concrete form/gallery/data binding; proposed workflow improves immediate Submit Form/New Form sample by awaiting form success.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-rise-network",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-network",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-network",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-network.html",
          "raw_sha256": "042727a8ad8d4ca79fd87c64f96c3b37659e043655edf91aaba22a6dbd8f3a3a",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-network.txt",
          "source_matches": [
            "az120-rise-network"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete network peering, VPN, gateway, on-premises, migration, DNS, internet/BTP and interface-port sections.",
          "observations": "Both owners must enable paths. Nonoverlap, return routing, DNS delegation and interface authorization are separate. RISE does not generally expose customer private endpoints.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-rise-services",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-services",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-services",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-services.html",
          "raw_sha256": "cbfeea6704ad93ac35440150cb8b32b0488fb9adff36b42834ca9c0ea33d174a",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-services.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete runtime, gateway, interface, integration and customer/SAP ownership sections.",
          "observations": "Connector support determines Azure or self-hosted runtime and the path. The customer operates its runtime/gateway. Direct database access needs SAP agreement; copying an archive does not authorize source deletion.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-rise-security",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-security",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-security",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-security.html",
          "raw_sha256": "4e91e2d427aacaf59325f8d06077cddbbe2c205198a65a9cc6cb31de541ee2df",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-security.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete SSO, identity lifecycle, application security, monitoring and Azure Center sections.",
          "observations": "SAP client determines SSO method. RISE excludes Azure Monitor for SAP solutions and Azure Center integration. Customer application signals differ from SAP-managed OS/infrastructure logs.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-planning",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-planning.html",
          "raw_sha256": "9aaa0e96886fbf8b54b463e545618e3501cc98158fed115d03e21fd516f3e6a9",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-planning.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Definitions/support hierarchy, compute/network/HA/storage and deployment choices; targeted underlying planning context.",
          "observations": "General SAP support/infrastructure/endpoint context; not certification of an exact SKU.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-storage",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-storage.html",
          "raw_sha256": "d48c7fbe86d1ed40d910cc6189a92154c4b7c4c398ccd9de223f4b5d61cf772d",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-storage.txt",
          "source_matches": [
            "az120-storage-types"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Storage types; caching/WA; ANF/Azure Files capability/use-case tables and replication discussion.",
          "observations": "Volume roles, certification/protocol/latency and VM limits must be checked separately.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-sdaf",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/automation/tutorial",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/automation/tutorial",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sdaf.html",
          "raw_sha256": "54773f8c6936206fb271bfeecbdd3bb20dc85ba9a0ad7a6091bb6d1ee3157949",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sdaf.txt",
          "source_matches": [
            "az-120-deployment-automation-framework"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Prerequisites; management, workload and system architecture; bootstrap/state/media parameters; ordered deployment and configuration phases. Destructive cleanup example inspected but not used.",
          "observations": "Control plane, workload zone, system infrastructure and SAP configuration are distinct phases. Source commands require their own review; no deployment, media, identity or state operation was performed.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-lama",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/lama-installation",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/lama-installation",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-lama.html",
          "raw_sha256": "d23dc3645085a1d826e2212deb19ed9bbe3567df7f0f49ca1e2d8ad557261bfd",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-lama.txt",
          "source_matches": [
            "az-120-lama-connector"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Prerequisites; serviceprincipal/managedidentityroles; adapter fields; Test Configuration; optional disk-type changes and adaptive-host cautions.",
          "observations": "Connector setup/readback can be taught without executing lifecycle actions; optional cost changes require deliberate decision.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-sql",
          "opened_url": "https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/sap/dbms_guide_sqlserver",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/dbms-guide-sqlserver",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sql.html",
          "raw_sha256": "81dbc3282ed54a4ef1273120645f11eea04d936dee4059e91e7891923522a398",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sql.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "SQL SAP HA/DR/support and AGlistener/DNN passages.",
          "observations": "Database-native AGreplication differs fromshared-diskclustering; listener topology/version support matters.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-sql-tutorial",
          "opened_url": "https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-tutorial-single-subnet",
          "final_url": "https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-tutorial-single-subnet?view=azuresql",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sql-tutorial.html",
          "raw_sha256": "45be2b6e45b6e645a69a94824f5a0b3811659947f45e1d94df629d2bfc809650",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sql-tutorial.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Prerequisites, cluster/quorum, Always On, availability group, seed/join, listener, load balancer, firewall/probe and failover validation sequence.",
          "observations": "A specific single-subnet construction. Do not universalize the load-balancer requirement or copy its optional cluster-validation shortcut.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "word-basic",
          "opened_url": "https://support.microsoft.com/en-us/word/basic-tasks-in-word",
          "final_url": "https://support.microsoft.com/en-us/word/basic-tasks-in-word",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-basic.html",
          "raw_sha256": "da2526429dcdc7619ef9282afbb8655cfda23b7436232eebb790ca11ef35e6fd",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-basic.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Windows start/open/save-format/read/track/print sections and visible web comparison.",
          "observations": "Save As location/type and default DOCX are supported. Desktop and web paths are not interchangeable.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "word-print",
          "opened_url": "https://support.microsoft.com/en-us/word/print-a-document-in-word",
          "final_url": "https://support.microsoft.com/en-us/word/print-a-document-in-word",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-print.html",
          "raw_sha256": "a803392f8a3416f024a11f8d9eb6939867e40a075e2b74242dad236553cfd4fd",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-print.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Windows preview, page range, copies, markup and color sections, plus web PDF boundary.",
          "observations": "Selection, preview and actual delivered output are distinct. No print job or PDF file was generated.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "word-share",
          "opened_url": "https://support.microsoft.com/en-us/word/training/share-a-document",
          "final_url": "https://support.microsoft.com/en-us/word/training/share-a-document",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-share.html",
          "raw_sha256": "40e96b6762b304e2c4c8d32577136833c72d4931f3855bc2e647aabe744134f7",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-share.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Windows sharing procedure; separately visible web and Mac tabs.",
          "observations": "OneDrive prerequisite, named recipients and permissions are documented. No cloud sharing or email operation was performed.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-create-prompt",
          "opened_url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/create-custom-prompt",
          "final_url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/create-custom-prompt",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-create-prompt.html",
          "raw_sha256": "2515d6a8b2cd3758b88c1e71c67b44937290cdea85c1012a503849ce91b0b00c",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-create-prompt.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete current prompt body including harness note, Power Apps/Power Automate AIhub route, input objects/samples/test/save.",
          "observations": "Current AIBuilder URLredirects Copilot Studio; retained Power Apps/Power Automate entrypoints; move does not broaden harness contract.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-anf-create",
          "opened_url": "https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-group-deploy-first-host",
          "final_url": "https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-group-deploy-first-host",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-anf-create.html",
          "raw_sha256": "ec3657fb4770ef3e7944119839e38ef6a841fb3890af6249a33ee744d68da4ce",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-anf-create.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete first-host prerequisites and wizard fields: SID, memory, overhead, placement, pool, delegated subnet, keys, export policy, quota and throughput.",
          "observations": "Concrete volume-group construction. The first host provides shared/optional backup roles. SAP certification constrains protocol edits; source-supported limits do not certify a proposed topology.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-files-create",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-nfs-azure-files",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-nfs-azure-files",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-files-create.html",
          "raw_sha256": "84bc93a5b1f2ad3c9fea808372b5a55df2aeb0e9e3eef90335eec25514709f60",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-files-create.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Architecture/support prerequisites; storage-account/NFS-share construction, private endpoint and DNS; SAP directories, mounts/persistence and encryption-in-transit caveat. Cluster commands outside the selected construction were not comprehensively reviewed.",
          "observations": "The selected SLES ASCS/ERS shared-files topology is not a HANA data/log substitute. No NFS or cluster execution occurred.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-write-accelerator",
          "opened_url": "https://learn.microsoft.com/en-us/azure/virtual-machines/how-to-enable-write-accelerator",
          "final_url": "https://learn.microsoft.com/en-us/azure/virtual-machines/how-to-enable-write-accelerator",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-write-accelerator.html",
          "raw_sha256": "a575ce2a9ccc90318f2037bb87f78d968f7ad7c17239bae063c9cf40cb8b43fa",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-write-accelerator.txt",
          "source_matches": [
            "az120-write-accelerator"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Prerequisites, log versus data role, standalone-workload and striped-volume shutdown, caching/limits and enable/disable parameter context.",
          "observations": "Stop the accessing database/workload for a standalone disk; stop the VM for a striped volume before changing all members. Eligible M-series/Premium SSD only; no Premium SSD v2 recipe inferred.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "wac-alerts",
          "opened_url": "https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/azure/azure-monitor",
          "final_url": "https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/azure/azure-monitor",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-wac-alerts.html",
          "raw_sha256": "e9d7dbafd91231aeabc9472f967ea85fd34a988ae5fc972aa29545c15e8d6163",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-wac-alerts.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete article, including WAC-to-portal navigation, MMA/Automation Update Management/Dependency Agent/Service Map onboarding, and August 11, 2023 footer.",
          "observations": "The article supports the described navigation but its onboarding is legacy against AMA/DCR guidance. Exact current WAC automatic onboarding remains unconfirmed.",
          "affected_exams": [
            "AZ-802"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "word-properties",
          "opened_url": "https://support.microsoft.com/en-US/Office/collab-files/view-or-change-the-properties-for-an-office-file",
          "final_url": "https://support.microsoft.com/en-us/office/collab-files/view-or-change-the-properties-for-an-office-file",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-properties.html",
          "raw_sha256": "9554ff27a319ed9fdb99938fcd7d54f0cb2caf02dc3bf1b9635acf6b6fe9b572",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-properties.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Standard, automatic, custom and library property classes, plus relevant Word File > Info/Properties operations.",
          "observations": "Editable Title differs from automatically maintained statistics. Platform capabilities differ.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "word-accessibility",
          "opened_url": "https://support.microsoft.com/en-US/Accessibility/office-accessibility/improve-accessibility-with-the-accessibility-checker",
          "final_url": "https://support.microsoft.com/en-us/accessibility/office-accessibility/improve-accessibility-with-the-accessibility-checker",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-accessibility.html",
          "raw_sha256": "895cad23cd9d4fd8e15cd3e364e51b354d4156ea5e1b62b19b7d99e6121fdc47",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-accessibility.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Windows checker, affected-item navigation and recommended-action sections, plus platform distinctions and recheck guidance.",
          "observations": "Locate the object, apply a meaningful correction and inspect again. The checker does not prove complete accessibility.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "word-table",
          "opened_url": "https://support.microsoft.com/en-gb/word/training/insert-a-table",
          "final_url": "https://support.microsoft.com/en-gb/word/training/insert-a-table",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-table.html",
          "raw_sha256": "312191615a4d0e94ed58838316a03cfd4bbec54d4ba03d00b8b19648ddbdf53c",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-table.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete Windows table-grid/dimension-dialog procedure and conversion tips, with web differences visible.",
          "observations": "The original three-column/four-row exercise uses a native table. No Word document was created.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "word-header",
          "opened_url": "https://support.microsoft.com/en-au/word/add-the-file-name-date-author-or-other-word-document-properties-to-a-header-or-footer",
          "final_url": "https://support.microsoft.com/en-au/word/add-the-file-name-date-author-or-other-word-document-properties-to-a-header-or-footer",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-header.html",
          "raw_sha256": "3c65687dd4ef4f789e0a26a558d1a29a9811b18165dea7018054a84e7dbdbb2a",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-header.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Windows document-information and field procedures, with web limitation.",
          "observations": "Supports header/footer editing and document-property fields; Word for the web does not add the same fields.",
          "affected_exams": [
            "MO-110"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-acss-deploy",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/deploy-s4hana",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/deploy-s4hana",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-acss-deploy.html",
          "raw_sha256": "d93548a34ec02af28b10eab617757b273dc685f40e7ce257d0b13611b3a2315f",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-acss-deploy.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Prerequisites, deployment types/software, create deployment fields, custom images, confirm/nextinstallation.",
          "observations": "Resourceprovider/identity/topology/sizing/inputtheninfrastructurethen SAPinstallation; old supported-images table is not blanket OS certification.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-ppg",
          "opened_url": "https://learn.microsoft.com/en-us/azure/virtual-machines/co-location",
          "final_url": "https://learn.microsoft.com/en-us/azure/virtual-machines/co-location",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-ppg.html",
          "raw_sha256": "87480ea67d4720a4910f82bfe8ed6ebc0a7be828c41a01cf2f768335b9561277",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-ppg.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete purpose, create/attach/move, intent, capacity, zone and best-practice sections.",
          "observations": "Attach by resource ID; stop/deallocate existing resources for a placement change. One PPG cannot span zones. Intent does not guarantee capacity.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-hana-restore",
          "opened_url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-db-restore",
          "final_url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-restore",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-hana-restore.html",
          "raw_sha256": "b41e11fb6e5e4e37515469b26ae0ce189c59ba78a2d173cd8bf29eaef3b577ad",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-hana-restore.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Restore types, prerequisites and permissions; alternate host/instance/name, recovery-point selection; HSR standalone-target and file-restore restrictions.",
          "observations": "The opened legacy URL redirects to the canonical database-restore page. Same region/vault and backup readiness are required. HSR original-location recovery is unsupported; restoration into an active HSR relationship is not supported.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-policy-index",
          "opened_url": "https://learn.microsoft.com/en-us/azure/governance/policy/",
          "final_url": "https://learn.microsoft.com/en-us/azure/governance/policy/",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-policy-index.html",
          "raw_sha256": "91fdfa409f464d9d01958885fdc614cd49de8309c89472cbf5fcb39edec20575",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-policy-index.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Official documentation index and exact quickstart links.",
          "observations": "Discovery lead only. The direct policy-assignment quickstart supports the worked assignment packet.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-ha",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-architecture-scenarios",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-architecture-scenarios",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-ha.html",
          "raw_sha256": "6ce3e3b9e31c991aa4b5b6cd1891f12d41b88e670ecdcc05c441fac483a0a997",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-ha.txt",
          "source_matches": [
            "az-120-ha-architecture"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "HA distinctions and supported SAP centralservice/database/sharedstate patterns.",
          "observations": "Layer/componentredundancyandquorum/fencingnotinterchangeable; no exacttopologycertification.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-policy-assignment",
          "opened_url": "https://learn.microsoft.com/en-us/azure/governance/policy/assign-policy-portal",
          "final_url": "https://learn.microsoft.com/en-us/azure/governance/policy/assign-policy-portal",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-policy-assignment.html",
          "raw_sha256": "9fb6576bacd0b11c8740f93c5250702c59c1cb8b72557e7b58c7aa45863e53db",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-policy-assignment.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Complete assignment scope, definition/version, parameters, identity/remediation, compliance and cleanup quickstart.",
          "observations": "Assignment and evaluated compliance differ. Modify/deployIfNotExists require a managed identity. Parameter and effect availability depends on the selected definition.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-storage-replication",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-infrastructure-wsfc-shared-disk",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-infrastructure-wsfc-shared-disk",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-storage-replication.html",
          "raw_sha256": "ed7708fde6d457e7fd180199f55f29c99355cac8093440fc820655aee0ff4eb1",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-storage-replication.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Architecture/prerequisites/load-balancer context and complete SIOS installation/configuration block: source/target/job, synchronous replication, WSFC disk and expected results.",
          "observations": "Documented Windows ASCS/SCS replicated local disks; synchronous mode is specific to that pattern. No SIOS license, installation, replication or failover execution.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "sap-replicated-disk-support",
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-guide-wsfc-shared-disk",
          "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-guide-wsfc-shared-disk",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-replicated-disk-support.html",
          "raw_sha256": "dff33bb7acc1d0e1dafefc27191afaa1a9f7ae7021cfb23a1a3c22ed65ba0756",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-replicated-disk-support.txt",
          "source_matches": [],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "WSFC, ASCS/ERS, Azure shared managed disk versus SIOS choices and relevant OS/SIOS support notes.",
          "observations": "Confirms the storage pattern and its component-support boundary; distinguish it from SQL availability-group database replication.",
          "affected_exams": [
            "AZ-120"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        },
        {
          "key": "ab410-formulas",
          "opened_url": "https://learn.microsoft.com/en-us/power-platform/power-fx/reference/object-app",
          "final_url": "https://learn.microsoft.com/en-us/power-platform/power-fx/reference/object-app",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-formulas.html",
          "raw_sha256": "06186db9285acbfb90318cfeeb1b138d59f9cedf793a3c4ce5c2fe332e416ef7",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-formulas.txt",
          "source_matches": [
            "ab410-udf"
          ],
          "candidate_matches": [],
          "checked_on": "2026-10-28",
          "read_scope": "Formulas named-formula benefits/limitations; UDF declaration syntax/types and examples; remaining app reference not comprehensively reread.",
          "observations": "Supports declarative dependency updates and typed parameterized functions; no Power Fxruntimeexecution.",
          "affected_exams": [
            "AB-410"
          ],
          "confidence": "Confirmed public-document wording only; implementation outcome untested",
          "limits": "No signed-in assessment, tenant, Office, cloud, SAP, SDK, video, commercial course or product lab execution. Saved/fetched bytes alone are not technical verification."
        }
      ],
      "proposed_changes": [
        {
          "id": "ab410-final-learning-section",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "structure",
          "affected_objective_ids": [],
          "old_text": "## Places to learn\n\nThis is a selective starting set, not a complete list and not a prescription to consume everything. Pick the explanation, demonstration, hands-on practice, and assessment style that works for you. Reconcile every exam-labeled resource with the May 15, 2026 official blueprint before investing time or money.\n\n| Resource | Access | Estimated time |\n|---|---|---:|\n| Official self-paced course | Free | 17 modules; allow 40–70 hours with builds |\n| Instructor-led AB-410T00-A | Paid or partner-sponsored | 3 days |\n| Official documentation | Free | 8–20 hours selectively |\n| Microsoft Power Platform video | Free | 3–10 hours selectively |\n| Udemy / Phillip Burton | Paid | 21h 09m total listing; exam-only portion unclear |\n| Whizlabs | Paid | Allow 8–20 hours selectively; verify current totals |\n| Partner Skilling Hub | Partner-restricted | Event-specific; verify signed-in start/end times |\n\n- **Official self-paced paths — 17 modules; allow 40–70 hours with builds and notes:** [AB-410T00](https://learn.microsoft.com/en-us/training/courses/ab-410t00) links [AI-first design](https://learn.microsoft.com/en-us/training/paths/design-model-solutions-power-platform/) (3 modules), [Dataverse modeling](https://learn.microsoft.com/en-us/training/paths/build-data-model-microsoft-dataverse/) (3), [apps and portals](https://learn.microsoft.com/en-us/training/paths/build-apps-portals-power-apps/) (7), and [automation](https://learn.microsoft.com/en-us/training/paths/automate-business-processes-power-automate/) (4). The earlier 15h26 total is historical; current fetched outlines do not expose those durations. The study budget is editorial, not vendor timing.\n- **Instructor-led course — three days:** [AB-410T00-A](https://learn.microsoft.com/en-us/training/courses/ab-410t00). Use the listed language and schedule filters to find a delivery; agenda timing varies by provider.\n- **Official reference and product updates — selective, 8–20 hours initially:** [Microsoft Power Platform documentation](https://learn.microsoft.com/en-us/power-platform/) and [AI Builder documentation](https://learn.microsoft.com/en-us/ai-builder/). Follow links from weak objectives and recheck volatile Copilot, agent, prompt, model, capacity, and governance behavior.\n- **Official video — selective, 3–10 hours:** [Microsoft Power Platform on YouTube](https://www.youtube.com/@MicrosoftPowerPlatform) for current demonstrations and release sessions. It is topical material, not an AB-410 checklist.\n- **Marketplace course — 21h 09m total listing:** [Phillip Burton's Udemy AB-410 course](https://www.udemy.com/course/pl-100-microsoft-power-platform-app-maker-ms/) shows a September 2026 update, 38 sections and 213 lectures in the indexed public page. Its description still claims about 7h30 of AB-410 material and promises removal of older content from September 1. That stale description does not prove the remaining runtime is exam-aligned. Direct automated access was blocked; the indexed outline was available. Paid lessons, completeness and the removal were not verified.\n- **Additional paid course/practice bundle — allow 8–20 hours selectively:** [Whizlabs AB-410](https://www.whizlabs.com/microsoft-ab-410-certification-training/). The fetched page returned only a title shell, so duration, counts and coverage remain unverified; verify before purchase.\n- **Partner-restricted learning:** [Partner Skilling Hub](https://www.skilling-hub.com/en-US) may list AB-410-aligned delivery for eligible Microsoft partners. Sign-in is required to confirm the exact current event, start/end times, seat availability, and prerequisites.\n\nMicrosoft explicitly says an official AB-410 Practice Assessment is **not currently available**. In bounded September 28, 2026 searches, no exact AB-410 offering from Pluralsight, O'Reilly, or MeasureUp could be independently verified in their public catalogs. Do not infer a product from their coverage of older Power Platform exams, and avoid sites advertising memorized or “real exam” questions. Use the official exam sandbox for interface familiarity and the original checks and labs above for readiness until a reputable current assessment is available.\n\n---\n\n### Useful blog exercises\n\n- [September Power Platform update](https://www.microsoft.com/en-us/power-platform/blog/power-apps/whats-new-in-power-platform-september-2026-feature-update/) — Tiffany Treacy, September 17, 2026. Read the model-driven app-builder, embedded-page and preview connector sections. Draft a persona/data/permission plan, then list what an external tool would create, which bindings it needs and what evidence must precede publication. Allow 45–75 minutes; use a worksheet without executing tooling.\n- [May Power Platform update](https://www.microsoft.com/en-us/power-platform/blog/2026/05/14/whats-new-in-power-platform-may-2026-feature-update/) — Tiffany Treacy, May 14, 2026. Read the user-defined-type section and compare typed records/functions with unvalidated model JSON. Design valid, missing, wrong-type and forbidden-value cases; a type-correct value can still violate business rules. Allow 30–60 minutes. Check current App.Formulas documentation before implementing the example.\n\nOnly those selected article sections were reviewed for these exercises. Other product announcements, linked tools, paid content, videos and performance claims were not reproduced. Blogs supplement the blueprint; their publication dates do not prove tenant rollout.\n\n## Final readiness checklist\n\n- [ ] I can map a process to Dataverse, apps, flows, agents, prompts/models, and human decisions without adding AI where deterministic logic is safer.\n- [ ] I can justify environment type, DLP, identities, roles, solution contents, configuration, pipeline, test evidence, and recovery.\n- [ ] I can model tables, columns, relationships, views, forms, security, prompt columns, and row summaries from business meaning.\n- [ ] I can build, share, secure, diagnose, and optimize model-driven and responsive canvas apps.\n- [ ] I can explain named formulas, UDFs, components, variables, collections, delegation, error handling, and Live Monitor.\n- [ ] I can create reliable flows with appropriate triggers, connectors, approvals, control, identity, failure handling, idempotency, and monitoring.\n- [ ] I can build and consume a grounded prompt and AI model with validation, evaluation, human review, and responsible-AI controls.\n- [ ] I can choose among business rules, business process flows, formulas/calculated columns, rollups, cloud flows, prompts, and models.\n- [ ] I completed the three scenarios, ten labs, and 48 answered checks without using exam dumps.\n- [ ] I rechecked the official blueprint, credential page, Practice Assessment availability, and retirement page immediately before scheduling.\n",
          "replacement_markdown": "## Final readiness checklist\n\n- [ ] I can map a process to Dataverse, apps, flows, agents, prompts/models, and human decisions without adding AI where deterministic logic is safer.\n- [ ] I can justify environment type, DLP, identities, roles, solution contents, configuration, pipeline, test evidence, and recovery.\n- [ ] I can model tables, columns, relationships, views, forms, security, prompt columns, and row summaries from business meaning.\n- [ ] I can build, share, secure, diagnose, and optimize model-driven and responsive canvas apps.\n- [ ] I can explain named formulas, UDFs, components, variables, collections, delegation, error handling, and Live Monitor.\n- [ ] I can create reliable flows with appropriate triggers, connectors, approvals, control, identity, failure handling, idempotency, and monitoring.\n- [ ] I can build and consume a grounded prompt and AI model with validation, evaluation, human review, and responsible-AI controls.\n- [ ] I can choose among business rules, business process flows, formulas/calculated columns, rollups, cloud flows, prompts, and models.\n- [ ] I completed the three scenarios, ten labs, and 48 answered checks without using exam dumps.\n- [ ] I rechecked the official blueprint, credential page, Practice Assessment availability, and retirement page immediately before scheduling.\n\n---\n\n## Places to learn\n\nThis is a selective starting set, not a complete list and not a prescription to consume everything. Pick the explanation, demonstration, hands-on practice, and assessment style that works for you. Reconcile every exam-labeled resource with the May 15, 2026 official blueprint before investing time or money.\n\n| Resource | Access | Estimated time |\n|---|---|---:|\n| Official self-paced course | Free | 17 modules; allow 40–70 hours with builds |\n| Instructor-led AB-410T00-A | Paid or partner-sponsored | 3 days |\n| Official documentation | Free | 8–20 hours selectively |\n| Microsoft Power Platform video | Free | 3–10 hours selectively |\n| Udemy / Phillip Burton | Paid | 21h 09m total listing; exam-only portion unclear |\n| Whizlabs | Paid | Allow 8–20 hours selectively; verify current totals |\n| Partner Skilling Hub | Partner-restricted | Event-specific; verify signed-in start/end times |\n\n- **Official self-paced paths — 17 modules; allow 40–70 hours with builds and notes:** [AB-410T00](https://learn.microsoft.com/en-us/training/courses/ab-410t00) links [AI-first design](https://learn.microsoft.com/en-us/training/paths/design-model-solutions-power-platform/) (3 modules), [Dataverse modeling](https://learn.microsoft.com/en-us/training/paths/build-data-model-microsoft-dataverse/) (3), [apps and portals](https://learn.microsoft.com/en-us/training/paths/build-apps-portals-power-apps/) (7), and [automation](https://learn.microsoft.com/en-us/training/paths/automate-business-processes-power-automate/) (4). The earlier 15h26 total is historical; current fetched outlines do not expose those durations. The study budget is editorial, not vendor timing.\n- **Instructor-led course — three days:** [AB-410T00-A](https://learn.microsoft.com/en-us/training/courses/ab-410t00). Use the listed language and schedule filters to find a delivery; agenda timing varies by provider.\n- **Official reference and product updates — selective, 8–20 hours initially:** [Microsoft Power Platform documentation](https://learn.microsoft.com/en-us/power-platform/) and [AI Builder documentation](https://learn.microsoft.com/en-us/ai-builder/). Follow links from weak objectives and recheck volatile Copilot, agent, prompt, model, capacity, and governance behavior.\n- **Official video — selective, 3–10 hours:** [Microsoft Power Platform on YouTube](https://www.youtube.com/@MicrosoftPowerPlatform) for current demonstrations and release sessions. It is topical material, not an AB-410 checklist.\n- **Marketplace course — 21h 09m total listing:** [Phillip Burton's Udemy AB-410 course](https://www.udemy.com/course/pl-100-microsoft-power-platform-app-maker-ms/) shows a September 2026 update, 38 sections and 213 lectures in the indexed public page. Its description still claims about 7h30 of AB-410 material and promises removal of older content from September 1. That stale description does not prove the remaining runtime is exam-aligned. Direct automated access was blocked; the indexed outline was available. Paid lessons, completeness and the removal were not verified.\n- **Additional paid course/practice bundle — allow 8–20 hours selectively:** [Whizlabs AB-410](https://www.whizlabs.com/microsoft-ab-410-certification-training/). The fetched page returned only a title shell, so duration, counts and coverage remain unverified; verify before purchase.\n- **Partner-restricted learning:** [Partner Skilling Hub](https://www.skilling-hub.com/en-US) may list AB-410-aligned delivery for eligible Microsoft partners. Sign-in is required to confirm the exact current event, start/end times, seat availability, and prerequisites.\n\nMicrosoft explicitly says an official AB-410 Practice Assessment is **not currently available**. In bounded September 28, 2026 searches, no exact AB-410 offering from Pluralsight, O'Reilly, or MeasureUp could be independently verified in their public catalogs. Do not infer a product from their coverage of older Power Platform exams, and avoid sites advertising memorized or “real exam” questions. Use the official exam sandbox for interface familiarity and the original checks and labs above for readiness until a reputable current assessment is available.\n\n---\n\n### Useful blog exercises\n\n- [September Power Platform update](https://www.microsoft.com/en-us/power-platform/blog/power-apps/whats-new-in-power-platform-september-2026-feature-update/) — Tiffany Treacy, September 17, 2026. Read the model-driven app-builder, embedded-page and preview connector sections. Draft a persona/data/permission plan, then list what an external tool would create, which bindings it needs and what evidence must precede publication. Allow 45–75 minutes; use a worksheet without executing tooling.\n- [May Power Platform update](https://www.microsoft.com/en-us/power-platform/blog/2026/05/14/whats-new-in-power-platform-may-2026-feature-update/) — Tiffany Treacy, May 14, 2026. Read the user-defined-type section and compare typed records/functions with unvalidated model JSON. Design valid, missing, wrong-type and forbidden-value cases; a type-correct value can still violate business rules. Allow 30–60 minutes. Check current App.Formulas documentation before implementing the example.\n\nOnly those selected article sections were reviewed for these exercises. Other product announcements, linked tools, paid content, videos and performance claims were not reproduced. Blogs supplement the blueprint; their publication dates do not prove tenant rollout.\n",
          "source_keys": [],
          "reason": "GUIDE-QUALITY-STANDARD requires Places to learn to remain the final public major section; preserve every readiness item.",
          "confidence": "Repository structural requirement",
          "execution": "Text reordering only",
          "source_evidence": [],
          "new_source_objects": [],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-data-workspace",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AB-410-2.1",
            "AB-410-2.2",
            "AB-410-2.3",
            "AB-410-2.4",
            "AB-410-2.5"
          ],
          "old_text": "### Build a Dataverse model from business meaning\n\nStart with business entities, stable identifiers, lifecycle, ownership, relationships, retention, and access—not with a spreadsheet's current columns. Reuse a standard table when its meaning and behavior fit; create a custom standard table when the business concept is distinct. Configure display and plural names, primary name, ownership, activities, notes/attachments, auditing, duplicate detection, search, and other properties deliberately.\n\nSelect column types for the meaning and operations required: text, number, currency, date/time, choice, lookup, customer, file/image, yes/no, or calculated/derived behavior. Requiredness improves entry quality but is not a complete integration or security control. Stable external identifiers can use alternate keys where appropriate. Avoid duplicate representations of the same concept merely to simplify one screen.\n\nRelationships express cardinality and navigation:\n\n- one-to-many / many-to-one uses a lookup on the many side;\n- many-to-many uses an intersect relationship when the association has no attributes of its own;\n- use a separate association table when the relationship needs dates, status, quantity, role, evidence, or its own security/lifecycle;\n- review cascade behavior before allowing parent assign, delete, reparent, share, or unshare to affect children.\n\nUse public views for reusable record queries and columns. Use main forms to organize the complete record experience; consider required data, tabs/sections, related data, business process, accessibility, role access, and performance. The app's forms and views do not replace table privileges or row access.",
          "replacement_markdown": "### Build a Dataverse model from business meaning\n\nStart with business entities, stable identifiers, lifecycle, ownership, relationships, retention, and access—not with a spreadsheet's current columns. Reuse a standard table when its meaning and behavior fit; create a custom standard table when the business concept is distinct. Configure display and plural names, primary name, ownership, activities, notes/attachments, auditing, duplicate detection, search, and other properties deliberately.\n\nSelect column types for the meaning and operations required: text, number, currency, date/time, choice, lookup, customer, file/image, yes/no, or calculated/derived behavior. Requiredness improves entry quality but is not a complete integration or security control. Stable external identifiers can use alternate keys where appropriate. Avoid duplicate representations of the same concept merely to simplify one screen.\n\nRelationships express cardinality and navigation:\n\n- one-to-many / many-to-one uses a lookup on the many side;\n- many-to-many uses an intersect relationship when the association has no attributes of its own;\n- use a separate association table when the relationship needs dates, status, quantity, role, evidence, or its own security/lifecycle;\n- review cascade behavior before allowing parent assign, delete, reparent, share, or unshare to affect children.\n\nUse public views for reusable record queries and columns. Use main forms to organize the complete record experience; consider required data, tabs/sections, related data, business process, accessibility, role access, and performance. The app's forms and views do not replace table privileges or row access.\n\n#### Worked build — request data before app screens\n\nIn a disposable Dataverse environment, open the data workspace and start a blank **Service Request** table. Choose user/team ownership for requests assigned to staff; add a short-text reference, a choice for triage state and a date/time received column. Add the existing Account table, then create a supported many-to-one lookup from each request to its customer. Save the schema and add three synthetic rows; one customer must relate to two requests. Reopen the table and change its description, rather than creating a second copy when the name is imperfect.\n\nThe [table authoring procedure](https://learn.microsoft.com/en-us/power-apps/maker/data-platform/create-edit-entities-portal) distinguishes new and existing objects: removing a new table from this workspace can delete its rows, while removing an existing table from the workspace only removes its diagram representation. **VERIFY CURRENT:** the workspace does not support every column or relationship type, including many-to-many creation. Use the appropriate full table designer for an unsupported change. Extending a customizable standard table differs from creating a new custom table of standard type; preserve the existing table's business meaning and managed restrictions.\n\nCheck schema and row access separately: a customizer can author metadata without access to every customer record. Evidence is the saved column types/properties, correct lookup cardinality and actual nonadministrator data access, not the diagram alone.",
          "source_keys": [
            "ab410-tables"
          ],
          "reason": "Supply concrete data-workspace operations and unsupported-surface boundary while preserving deeper data/security explanation.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "ab410-tables",
              "opened_url": "https://learn.microsoft.com/en-us/power-apps/maker/data-platform/create-edit-entities-portal",
              "final_url": "https://learn.microsoft.com/en-us/power-apps/maker/data-platform/create-edit-entities-portal",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-tables.html",
              "raw_sha256": "fd6121b820dcdf9466eb119e8c1e64cf04b5e65923f6739d71e183674a4bea59",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-tables.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-ab410-tables",
              "title": "Create and edit tables using Power Apps",
              "url": "https://learn.microsoft.com/en-us/power-apps/maker/data-platform/create-edit-entities-portal",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AB-410"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-model-driven-build",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AB-410-2.8",
            "AB-410-2.9",
            "AB-410-3.1",
            "AB-410-3.2",
            "AB-410-3.4",
            "AB-410-3.7"
          ],
          "old_text": "### Build a model-driven app from the data model\n\nModel-driven apps are metadata-driven: tables, relationships, forms, views, navigation, commands, charts, dashboards, security, and business process create the experience. Compose the app around user tasks rather than placing every table in navigation.\n\nConfigure main, quick create, quick view, and card forms only where their interaction fits. Organize main forms with tabs and sections; make essential content discoverable, remove unused fields, and avoid too many subgrids or scripts. Multiple forms can support personas, but assigning a form to a role affects experience—not underlying authorization.\n\nPublic views define shared columns, sort, filter, and default presentation. Keep them selective and useful for the task. Charts visualize view data; dashboards combine charts, lists, and other components. Validate filter semantics and security-trimmed results instead of assuming a visual total is universal.\n\nGenerative pages use natural language to create page starting points. Treat generated content like code or configuration produced by an assistant: review the data access, formulas, components, responsiveness, accessibility, security, errors, performance, and maintainability before publishing. Natural-language creation accelerates drafting; it does not transfer accountability.\n\nThe [current generative-page procedure](https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/generative-pages) separates browser authoring in the United States, Great Britain, Australia and Singapore from external-tool authoring across public clouds. Connectors and explicit custom-API calls are preview; bindings and signed-in-user authorization still matter. A form can pass `recordId` into a page, but an ID is not an access grant. Package the app, sitemap and UX Agent Project dependencies; only the first prompt and published code move, not the full editing conversation/history. Older preview pages need the documented migration. Keep source/review history separately and check all pending app changes before publishing.\n\nTo grant access, share or assign the model-driven app as appropriate and give the user security roles that provide necessary table privileges. Also review form and view role restrictions. Diagnose each layer separately when a user can see the app but cannot open or edit its records.",
          "replacement_markdown": "### Build a model-driven app from the data model\n\nModel-driven apps are metadata-driven: tables, relationships, forms, views, navigation, commands, charts, dashboards, security, and business process create the experience. Compose the app around user tasks rather than placing every table in navigation.\n\nConfigure main, quick create, quick view, and card forms only where their interaction fits. Organize main forms with tabs and sections; make essential content discoverable, remove unused fields, and avoid too many subgrids or scripts. Multiple forms can support personas, but assigning a form to a role affects experience—not underlying authorization.\n\nPublic views define shared columns, sort, filter, and default presentation. Keep them selective and useful for the task. Charts visualize view data; dashboards combine charts, lists, and other components. Validate filter semantics and security-trimmed results instead of assuming a visual total is universal.\n\nGenerative pages use natural language to create page starting points. Treat generated content like code or configuration produced by an assistant: review the data access, formulas, components, responsiveness, accessibility, security, errors, performance, and maintainability before publishing. Natural-language creation accelerates drafting; it does not transfer accountability.\n\nThe [current generative-page procedure](https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/generative-pages) separates browser authoring in the United States, Great Britain, Australia and Singapore from external-tool authoring across public clouds. Connectors and explicit custom-API calls are preview; bindings and signed-in-user authorization still matter. A form can pass `recordId` into a page, but an ID is not an access grant. Package the app, sitemap and UX Agent Project dependencies; only the first prompt and published code move, not the full editing conversation/history. Older preview pages need the documented migration. Keep source/review history separately and check all pending app changes before publishing.\n\nTo grant access, share or assign the model-driven app as appropriate and give the user security roles that provide necessary table privileges. Also review form and view role restrictions. Diagnose each layer separately when a user can see the app but cannot open or edit its records.\n\n#### Worked build — a triage app and its evidence\n\nFor Service Request, edit a main form to place customer, triage state and received time together. Create a public **Open requests** view with an explicit open-state filter, customer/state/received columns and oldest-received-first sorting. Save and publish the changed components. In the app designer, add the table page and only the intended forms/views; arrange navigation around intake and triage. Save, publish and reopen the released app. These are separate designers within the [model-driven construction workflow](https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/model-driven-designers).\n\nCreate a system chart with customer as the category and a **count** of request records as the series; choose a column chart, save and publish. Add it and the open-request list to a dashboard and include that dashboard in the app. If a newly published chart is absent, check the app's selected chart assets as well as publication. The [chart procedure](https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/create-edit-system-chart) also distinguishes the preview view from a permanently fixed chart filter.\n\nWith synthetic records, predict each customer's open count before opening the chart. Test two least-privilege roles: each must see the correct form/view and only its authorized records. A count disagreeing with the prediction calls for checking view filter, aggregate, selected assets and effective record access separately. **VERIFY CURRENT:** designer controls and publication surfaces can change; this is a proposed workflow, not an executed build.",
          "source_keys": [
            "ab410-designers",
            "ab410-charts"
          ],
          "reason": "Replace recognition-only composition/chart coverage with an original form/view/app/aggregate/dashboard construction and negative diagnosis.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "ab410-designers",
              "opened_url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/model-driven-designers",
              "final_url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/model-driven-designers",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-designers.html",
              "raw_sha256": "0c9feccd247fd84ce6932fa4b354a9eb936b10f4dd1aa534c5aac11521ceadac",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-designers.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "ab410-charts",
              "opened_url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/create-edit-system-chart",
              "final_url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/create-edit-system-chart",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-charts.html",
              "raw_sha256": "ee8763adc24c48caf3e69ee546f30d72900702bab217f65f1b4fd48f3fe273f2",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-charts.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-ab410-charts",
              "title": "Create or edit a model-driven app system chart",
              "url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/create-edit-system-chart",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AB-410"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-ab410-designers",
              "title": "Meet the model-driven app designers",
              "url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/model-driven-designers",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AB-410"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-canvas-build",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AB-410-4.1",
            "AB-410-4.2",
            "AB-410-4.6"
          ],
          "old_text": "### Build a canvas app that remains usable and correct\n\nCanvas apps give explicit control over screens, controls, layout, formulas, and data sources. Create from data when that gives a useful starting point, then refactor for business tasks. Use responsive containers and formulas rather than fixed coordinates for every device. Test narrow, wide, landscape, portrait, zoom, keyboard, and screen-reader paths.\n\nAccessibility work includes semantic labels, logical tab order, visible focus, adequate contrast, noncolor status cues, captions or alternatives, sufficiently large targets, and error messages associated with the relevant input. Do not hide required operations behind hover, drag, or an unlabeled icon.\n\nPerformance and correctness meet at delegation. A delegable query executes at the source over the complete set. A nondelegable operation can return a plausible answer from only a local subset. Fix delegation warnings by using supported functions/filters, reshaping the data or query, or explicitly bounding the business set—not by only raising the row limit. Minimize repeated connector calls, large collections, unnecessary controls, startup work, and chatty formulas.\n\nThe [delegation overview](https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/delegation-overview) documents a default local limit of **500**, configurable to **2,000**. Support depends on the connector and complete expression. Collections can conceal an incomplete source load; a collection's successful local filter does not prove that every source row was retrieved.",
          "replacement_markdown": "### Build a canvas app that remains usable and correct\n\nCanvas apps give explicit control over screens, controls, layout, formulas, and data sources. Create from data when that gives a useful starting point, then refactor for business tasks. Use responsive containers and formulas rather than fixed coordinates for every device. Test narrow, wide, landscape, portrait, zoom, keyboard, and screen-reader paths.\n\nAccessibility work includes semantic labels, logical tab order, visible focus, adequate contrast, noncolor status cues, captions or alternatives, sufficiently large targets, and error messages associated with the relevant input. Do not hide required operations behind hover, drag, or an unlabeled icon.\n\nPerformance and correctness meet at delegation. A delegable query executes at the source over the complete set. A nondelegable operation can return a plausible answer from only a local subset. Fix delegation warnings by using supported functions/filters, reshaping the data or query, or explicitly bounding the business set—not by only raising the row limit. Minimize repeated connector calls, large collections, unnecessary controls, startup work, and chatty formulas.\n\nThe [delegation overview](https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/delegation-overview) documents a default local limit of **500**, configurable to **2,000**. Support depends on the connector and complete expression. Collections can conceal an incomplete source load; a collection's successful local filter does not prove that every source row was retrieved.\n\n#### Worked build — data, selection and a verified save\n\nCreate a blank canvas app, add Service Request as a Dataverse data source and place a browse gallery and edit form in responsive containers. Set the gallery's Items to the table, the form's DataSource to that table and its Item to the gallery's selected record. Choose the required fields. A new-request action switches the form to New; a save action submits that form. Put the reset/new-record transition on the form's **OnSuccess**, and put a useful message on **OnFailure**, so a failed submission does not clear the user's input. The [data-to-form/gallery tutorial](https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/add-editable-tables) demonstrates these control/data bindings; retain explicit successful-save handling rather than assuming chained actions wait for asynchronous persistence.\n\nCreate one synthetic request, select it, change its state and reopen it from the source. Deny a test persona write permission: the expected result is a clear failure and retained input, not a success banner. Repeat with a narrow screen and keyboard. A gallery refresh alone is not proof that a save reached Dataverse.",
          "source_keys": [
            "ab410-editable-app"
          ],
          "reason": "Teach concrete data binding and persistence without copying a fragile immediate form-reset chain.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "ab410-editable-app",
              "opened_url": "https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/add-editable-tables",
              "final_url": "https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/add-editable-tables",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-editable-app.html",
              "raw_sha256": "2403ee2d0bff134e3b7f5eae791ee4395157ee0114ad0c64781674607ad235e7",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-editable-app.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-ab410-editable-app",
              "title": "Create an app to edit tables in canvas apps",
              "url": "https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/add-editable-tables",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AB-410"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-reuse-build",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AB-410-4.4",
            "AB-410-4.5"
          ],
          "old_text": "### Reuse formulas and components deliberately\n\nUse named formulas for app-level values and reusable expressions whose dependencies should recalculate declaratively. Use user-defined functions for explicit reusable calculation contracts. Use components for reusable UI/behavior inside an app and component libraries to share maintained components across apps. Keep inputs, outputs, accessibility behavior, error states, dependencies, and version expectations clear.\n\nVariables store state:\n\n- global variables, set with `Set`, span the app session;\n- context variables, set with `UpdateContext` or navigation, are screen-oriented;\n- collections are in-memory tables useful for bounded working state and offline-like interaction, not an automatic mirror of a large source;\n- declarative formulas are preferable when state does not actually need to be stored.\n\nState becomes stale and hard to debug. Use the narrowest scope and a clear update path. Never rely on client variables or hidden controls for authorization.\n\nThe [App.Formulas reference](https://learn.microsoft.com/en-us/power-platform/power-fx/reference/object-app) distinguishes immutable definitions that recalculate from stored variables. UDFs add typed parameters/returns; behavior UDFs have explicit side effects. User-defined types can describe records/tables. Keep calculation functions pure where possible and validate data at the boundary. `App.OnError` reports an error after it has occurred; it cannot substitute a value or undo prior effects.",
          "replacement_markdown": "### Reuse formulas and components deliberately\n\nUse named formulas for app-level values and reusable expressions whose dependencies should recalculate declaratively. Use user-defined functions for explicit reusable calculation contracts. Use components for reusable UI/behavior inside an app and component libraries to share maintained components across apps. Keep inputs, outputs, accessibility behavior, error states, dependencies, and version expectations clear.\n\nVariables store state:\n\n- global variables, set with `Set`, span the app session;\n- context variables, set with `UpdateContext` or navigation, are screen-oriented;\n- collections are in-memory tables useful for bounded working state and offline-like interaction, not an automatic mirror of a large source;\n- declarative formulas are preferable when state does not actually need to be stored.\n\nState becomes stale and hard to debug. Use the narrowest scope and a clear update path. Never rely on client variables or hidden controls for authorization.\n\nThe [App.Formulas reference](https://learn.microsoft.com/en-us/power-platform/power-fx/reference/object-app) distinguishes immutable definitions that recalculate from stored variables. UDFs add typed parameters/returns; behavior UDFs have explicit side effects. User-defined types can describe records/tables. Keep calculation functions pure where possible and validate data at the boundary. `App.OnError` reports an error after it has occurred; it cannot substitute a value or undo prior effects.\n\n#### Worked choice — one calculation and one reusable experience\n\nDefine a named formula for a value derived from existing controls, such as `LineTotal = Value(QuantityInput.Text) * Value(UnitPriceInput.Text);` in App.Formulas, then bind two labels to `LineTotal`. Changing either input should update both consumers without an extra Set call. If several call sites need parameters, define a typed calculation UDF, for example `LineAmount(qty: Number, price: Number): Number = qty * price;`, and call it with explicit numeric values. Validate text-to-number conversion at the input boundary. These illustrate the [named-formula and UDF contract](https://learn.microsoft.com/en-us/power-platform/power-fx/reference/object-app); verify current syntax, type support and feature availability in the target environment.\n\nFor a repeated status banner, create a component with explicit label/status inputs, accessible output and an error state. Replace two copied banners with instances; if several apps need the same maintained banner, publish it through a component library and review an update before adopting it in each app. The formula calculates; the component packages an interaction. A shared library does not automatically update every consuming app or authorize data access. Compare a valid value, missing input and invalid number, and record which layer owns each correction. No formula runtime or library deployment was executed for this review.",
          "source_keys": [
            "ab410-formulas"
          ],
          "reason": "Supply original reusable calculation and component contract; existing App.Formulas source must be refreshed, no execution claimed.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "ab410-formulas",
              "opened_url": "https://learn.microsoft.com/en-us/power-platform/power-fx/reference/object-app",
              "final_url": "https://learn.microsoft.com/en-us/power-platform/power-fx/reference/object-app",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-formulas.html",
              "raw_sha256": "06186db9285acbfb90318cfeeb1b138d59f9cedf793a3c4ce5c2fe332e416ef7",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-formulas.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [
            {
              "source_id": "ab410-udf",
              "url": "https://learn.microsoft.com/en-us/power-platform/power-fx/reference/object-app",
              "append_supported_exams": [
                "AB-410"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-flow-build",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AB-410-5.4",
            "AB-410-5.5",
            "AB-410-5.6"
          ],
          "old_text": "### Compose reliable flow control and approvals\n\nActions call services or transform data. Conditions branch on a Boolean expression; `Switch` is useful for one value with several explicit cases. `Apply to each` handles collections; `Do until` repeats until a condition or limit. Configure concurrency only after analyzing ordering and duplicate effects. Use variables sparingly when the dataflow can remain explicit through outputs and expressions.\n\nApprovals require an approver-selection rule, owner, timeout/escalation, reassignment policy, decision evidence, response storage, and behavior for cancellation or no response. Treat the approval outcome as data and validate it before changing business state. A request sent to a mailbox is not necessarily a governed approval record.\n\nUse scopes to group work and configure run-after behavior for success, failure, skip, and timeout. Separate the try path from error logging and compensation. Design idempotency so a retried trigger does not create a second payment, ticket, or approval. Prefer stable business keys and record the external operation ID. For paged data, prove the expected item count; for rate limits, honor documented retry behavior.\n\nTest happy path, empty input, malformed data, unauthorized connection, throttling, duplicate event, timeout, partial downstream success, rejection, and support recovery. Use trigger/action inputs and outputs, run history, connection state, and correlation data. Redact or minimize sensitive content in logs.",
          "replacement_markdown": "### Compose reliable flow control and approvals\n\nActions call services or transform data. Conditions branch on a Boolean expression; `Switch` is useful for one value with several explicit cases. `Apply to each` handles collections; `Do until` repeats until a condition or limit. Configure concurrency only after analyzing ordering and duplicate effects. Use variables sparingly when the dataflow can remain explicit through outputs and expressions.\n\nApprovals require an approver-selection rule, owner, timeout/escalation, reassignment policy, decision evidence, response storage, and behavior for cancellation or no response. Treat the approval outcome as data and validate it before changing business state. A request sent to a mailbox is not necessarily a governed approval record.\n\nUse scopes to group work and configure run-after behavior for success, failure, skip, and timeout. Separate the try path from error logging and compensation. Design idempotency so a retried trigger does not create a second payment, ticket, or approval. Prefer stable business keys and record the external operation ID. For paged data, prove the expected item count; for rate limits, honor documented retry behavior.\n\nTest happy path, empty input, malformed data, unauthorized connection, throttling, duplicate event, timeout, partial downstream success, rejection, and support recovery. Use trigger/action inputs and outputs, run history, connection state, and correlation data. Redact or minimize sensitive content in logs.\n\n#### Worked flow — classify a small request batch\n\nUse an instant trigger with a synthetic list of request IDs. For each ID, retrieve the current request row through the authorized connection. A condition routes only open requests to a triage action; the other branch records **skipped — not open**. Map the retrieved row ID and current category explicitly into the action instead of passing the trigger's unvalidated text. Keep processing sequential until independent ordering and duplicate effects have been justified.\n\nPlace the retrieve/condition/action path in a try scope, with separate run-after scopes for failure/timeout and final support logging. Persist an operation key before a consequential effect. Test an empty list, one closed row, a denied row and the same operation delivered twice. The expected ledger contains one result per input, preserves a skipped/failed distinction and records no duplicate business effect. A retry must not turn a previously completed item into a second approval. The [flow invocation and branching procedure](https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow) illustrates action-input mapping and a condition on an explicit approval outcome; the same control discipline applies before generated output can change the record.",
          "source_keys": [
            "ab410-prompt-flow"
          ],
          "reason": "Make flow actions/loops concrete without inventing an exactly-once service guarantee.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "ab410-prompt-flow",
              "opened_url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow",
              "final_url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-prompt-flow.html",
              "raw_sha256": "0a9c49d79ebf63b34b4217784a1aee8cb4848306be1dc2b534eeebeaa9daa8a3",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-prompt-flow.txt",
              "source_matches": [
                "ab410-prompt-flow"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [
            {
              "source_id": "ab410-prompt-flow",
              "url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow",
              "append_supported_exams": [
                "AB-410"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-prompt-build",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AB-410-6.1",
            "AB-410-6.2",
            "AB-410-6.3",
            "AB-410-6.6"
          ],
          "old_text": "### Build a prompt as a governed input-output contract\n\nAI Builder can create prompts from a template or blank and consume them in apps and flows. A strong prompt contract has:\n\n- a narrow task and intended user/process;\n- typed or clearly delimited inputs with size and sensitivity expectations;\n- instructions, examples, constraints, and an explicit unknown/abstain behavior;\n- selected knowledge/grounding sources with access, ownership, freshness, and citation expectations;\n- model and settings chosen for quality, latency, cost, and deterministic-structure needs;\n- a stable output shape that the app or flow validates before use;\n- evaluation cases, human-review threshold, monitoring, version, and rollback.\n\nDo not concatenate untrusted content into instructions without separation. Treat retrieved documents, emails, webpages, and user content as data that can contain prompt injection. Limit tools and downstream permissions, validate structured output, and never let free-form generated text directly select a privileged action.\n\nUse knowledge when responses must be grounded in approved organizational content. Adding more documents is not automatically better: define scope, permissions, update interval, conflicting-source behavior, and evidence. A user should not receive content merely because the prompt's maker can access it.\n\nModel settings can change creativity and other behavior, but no setting guarantees truth. Evaluate with representative inputs and expected rubrics. **VERIFY CURRENT:** model choices, setting names/ranges, region/language support, content filtering, capacity consumption, feature names, and whether an option is preview or GA.\n\nWhen consuming a prompt in Power Apps, provide progress and error states and validate the result before display or action. In Power Automate, put generation inside a controlled run path, parse/validate output, apply human review when warranted, and store only necessary output and provenance. Microsoft explicitly recommends human review for generated content in consequential flows.\n\nUse the current [prompts overview](https://learn.microsoft.com/en-us/ai-builder/prompts-overview), [app invocation](https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-app) and [flow invocation](https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow) procedures with their stated context. Older app tutorials name GPT-4o variants; the [current model settings](https://learn.microsoft.com/en-us/ai-builder/prompt-modelsettings) list newer options and regional/release-stage differences. Model context is per call, while one agent interaction may make several calls. Do not infer a total interaction budget from the context window or assume every reasoning model has a temperature slider.\n\n[Prompt knowledge](https://learn.microsoft.com/en-us/ai-builder/use-your-own-prompt-data) supports a bounded retrieval set: 30 records by default, configurable up to 1,000, with limited relationship depth and no virtual tables. Connector knowledge is restricted to prompts in Power Automate. The page mentions SAP in its instructions but omits it from the limitations list; SAP support remains an evidence gap. Apply trusted identity filters and test both disclosure and missing-record cases; natural-language filtering is not an authorization policy.\n\nWith [JSON output](https://learn.microsoft.com/en-us/ai-builder/process-responses-json-output), testing can change an auto-detected format until it is saved; custom examples stabilize the format, and saving fixes the runtime contract. The generated schema is inspectable but not directly editable. A valid JSON structure still needs business validation for IDs, amounts, allowed categories and authority before any action.",
          "replacement_markdown": "### Build a prompt as a governed input-output contract\n\nAI Builder can create prompts from a template or blank and consume them in apps and flows. A strong prompt contract has:\n\n- a narrow task and intended user/process;\n- typed or clearly delimited inputs with size and sensitivity expectations;\n- instructions, examples, constraints, and an explicit unknown/abstain behavior;\n- selected knowledge/grounding sources with access, ownership, freshness, and citation expectations;\n- model and settings chosen for quality, latency, cost, and deterministic-structure needs;\n- a stable output shape that the app or flow validates before use;\n- evaluation cases, human-review threshold, monitoring, version, and rollback.\n\nDo not concatenate untrusted content into instructions without separation. Treat retrieved documents, emails, webpages, and user content as data that can contain prompt injection. Limit tools and downstream permissions, validate structured output, and never let free-form generated text directly select a privileged action.\n\nUse knowledge when responses must be grounded in approved organizational content. Adding more documents is not automatically better: define scope, permissions, update interval, conflicting-source behavior, and evidence. A user should not receive content merely because the prompt's maker can access it.\n\nModel settings can change creativity and other behavior, but no setting guarantees truth. Evaluate with representative inputs and expected rubrics. **VERIFY CURRENT:** model choices, setting names/ranges, region/language support, content filtering, capacity consumption, feature names, and whether an option is preview or GA.\n\nWhen consuming a prompt in Power Apps, provide progress and error states and validate the result before display or action. In Power Automate, put generation inside a controlled run path, parse/validate output, apply human review when warranted, and store only necessary output and provenance. Microsoft explicitly recommends human review for generated content in consequential flows.\n\nUse the current [prompts overview](https://learn.microsoft.com/en-us/ai-builder/prompts-overview), [app invocation](https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-app) and [flow invocation](https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow) procedures with their stated context. Older app tutorials name GPT-4o variants; the [current model settings](https://learn.microsoft.com/en-us/ai-builder/prompt-modelsettings) list newer options and regional/release-stage differences. Model context is per call, while one agent interaction may make several calls. Do not infer a total interaction budget from the context window or assume every reasoning model has a temperature slider.\n\n[Prompt knowledge](https://learn.microsoft.com/en-us/ai-builder/use-your-own-prompt-data) supports a bounded retrieval set: 30 records by default, configurable up to 1,000, with limited relationship depth and no virtual tables. Connector knowledge is restricted to prompts in Power Automate. The page mentions SAP in its instructions but omits it from the limitations list; SAP support remains an evidence gap. Apply trusted identity filters and test both disclosure and missing-record cases; natural-language filtering is not an authorization policy.\n\nWith [JSON output](https://learn.microsoft.com/en-us/ai-builder/process-responses-json-output), testing can change an auto-detected format until it is saved; custom examples stabilize the format, and saving fixes the runtime contract. The generated schema is inspectable but not directly editable. A valid JSON structure still needs business validation for IDs, amounts, allowed categories and authority before any action.\n\n#### Worked build — one prompt, two callers\n\nCreate **Request triage draft** from blank or a reviewed template in AI hub's prompt builder. Add a Text input for the request body, write instructions that return a proposed category plus a brief justification, and require an explicit unknown outcome. Supply synthetic ordinary, ambiguous and hostile samples; compare responses with a rubric, revise and save. The [current creation procedure](https://learn.microsoft.com/en-us/microsoft-copilot-studio/create-custom-prompt) still gives Power Apps/Power Automate entry points despite its move into Copilot Studio documentation. That documentation move does not establish that every harness or channel supports the same prompt.\n\nIn a canvas app, add the saved prompt through Add data. Call its `.Predict` function with the text-input value, retain the returned record and bind the returned text to a review label. Inspect the actual output shape before binding: [app invocation](https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-app) demonstrates a text result, while a configured JSON contract requires its own validated handling. Wrap invocation errors and keep the result as a draft.\n\nIn a cloud flow, add **Run a prompt**, select the same saved prompt and map its Text input from the preceding validated action. Pass the returned Text to a review step; branch on the explicit approval outcome and use the accepted text only after approval. [Flow invocation](https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow) documents these bindings. Test denial, timeout and unsupported category before any record-changing action. **VERIFY CURRENT:** control names, models, capacity and output shape; no invocation was executed here. The separate SAP-knowledge discrepancy above remains unresolved.",
          "source_keys": [
            "ab410-create-prompt",
            "ab410-prompt-app",
            "ab410-prompt-flow"
          ],
          "reason": "Teach creation/test/save plus distinct app and flow consumption routes while preserving existing knowledge blocker.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "ab410-create-prompt",
              "opened_url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/create-custom-prompt",
              "final_url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/create-custom-prompt",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-create-prompt.html",
              "raw_sha256": "2515d6a8b2cd3758b88c1e71c67b44937290cdea85c1012a503849ce91b0b00c",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-create-prompt.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "ab410-prompt-app",
              "opened_url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-app",
              "final_url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-app",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-prompt-app.html",
              "raw_sha256": "c19371be12097b0561ee99c828fd725fd5fdb6b5d5e117434e4611f9a015a740",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-prompt-app.txt",
              "source_matches": [
                "ab410-prompt-app"
              ],
              "candidate_matches": []
            },
            {
              "key": "ab410-prompt-flow",
              "opened_url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow",
              "final_url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-prompt-flow.html",
              "raw_sha256": "0a9c49d79ebf63b34b4217784a1aee8cb4848306be1dc2b534eeebeaa9daa8a3",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-prompt-flow.txt",
              "source_matches": [
                "ab410-prompt-flow"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-ab410-create-prompt",
              "title": "Create a prompt",
              "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/create-custom-prompt",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AB-410"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [
            {
              "source_id": "ab410-prompt-app",
              "url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-app",
              "append_supported_exams": [
                "AB-410"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            },
            {
              "source_id": "ab410-prompt-flow",
              "url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow",
              "append_supported_exams": [
                "AB-410"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-model-build",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AB-410-6.7",
            "AB-410-6.8"
          ],
          "old_text": "### Use AI models where their task and evidence fit\n\nAI Builder provides prebuilt and custom models for supported tasks such as document processing, prediction, category classification, object detection, or text processing. Select a model based on input/output contract, training-data requirement, language/region, accuracy metric, explainability, latency, cost/capacity, and failure consequence.\n\nFor a custom model, separate training and representative test data, label consistently, avoid leakage, publish only after meeting a business threshold, and monitor production drift and input changes. For a prebuilt model, validate on your organization's documents and edge cases; “prebuilt” does not mean universally accurate.\n\nIn an app or flow, map every model input and output explicitly. Check missing/low-confidence results, create a human-review queue, retain source evidence as allowed, and define retry/fallback. Use a deterministic parser or business rule after the model where possible. Do not silently coerce an uncertain prediction into an authoritative fact.",
          "replacement_markdown": "### Use AI models where their task and evidence fit\n\nAI Builder provides prebuilt and custom models for supported tasks such as document processing, prediction, category classification, object detection, or text processing. Select a model based on input/output contract, training-data requirement, language/region, accuracy metric, explainability, latency, cost/capacity, and failure consequence.\n\nFor a custom model, separate training and representative test data, label consistently, avoid leakage, publish only after meeting a business threshold, and monitor production drift and input changes. For a prebuilt model, validate on your organization's documents and edge cases; “prebuilt” does not mean universally accurate.\n\nIn an app or flow, map every model input and output explicitly. Check missing/low-confidence results, create a human-review queue, retain source evidence as allowed, and define retry/fallback. Use a deterministic parser or business rule after the model where possible. Do not silently coerce an uncertain prediction into an authoritative fact.\n\n#### Worked build — consume an OCR model through both surfaces\n\nFor a synthetic receipt image, insert the AI Builder text recognizer in a canvas app. Load the image and bind a review label to `TextRecognizer1.FullText`; use `Selected.Text` only when the user intentionally selects a detected line. The [component contract](https://learn.microsoft.com/en-us/ai-builder/prebuilt-text-recognizer-component-in-powerapps) distinguishes full text, line results and selected text. Keep the original image beside editable extracted values; text recognition does not prove that a total, currency or date has been interpreted correctly.\n\nFor a flow, start with a file input, add **Recognize text in an image or a PDF document**, and map its Image input to the file's content. Consume the full-document text when the next step needs the complete result; use the pages/lines structure only for deliberate line-by-line processing. The [flow procedure](https://learn.microsoft.com/en-us/ai-builder/flow-text-recognition) documents these distinct outputs. Route unreadable/empty output and business-validation failures to review; do not require a confidence field that a chosen component does not expose. Compare a clean image, blurred image and missing amount. Record expected extraction versus observed values if executed later, plus license/capacity checks and cleanup. No model or paid entitlement was used for this review.",
          "source_keys": [
            "ab410-model-app",
            "ab410-model-flow"
          ],
          "reason": "Replace generic model wiring with a bounded actual model/input/output example and result-specific failure path.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "ab410-model-app",
              "opened_url": "https://learn.microsoft.com/en-us/ai-builder/prebuilt-text-recognizer-component-in-powerapps",
              "final_url": "https://learn.microsoft.com/en-us/ai-builder/prebuilt-text-recognizer-component-in-powerapps",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-model-app.html",
              "raw_sha256": "5a1bab3147db94f1d544b97f7390afc046bdd37df431932dff27c48e39a9ceb8",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-model-app.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "ab410-model-flow",
              "opened_url": "https://learn.microsoft.com/en-us/ai-builder/flow-text-recognition",
              "final_url": "https://learn.microsoft.com/en-us/ai-builder/flow-text-recognition",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-model-flow.html",
              "raw_sha256": "f1377623593bc17634edd0f18f8336b44830c0e3cbbc610d046ac9bc5e7d6e0c",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-model-flow.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-ab410-model-flow",
              "title": "Use the text recognition prebuilt model in Power Automate",
              "url": "https://learn.microsoft.com/en-us/ai-builder/flow-text-recognition",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AB-410"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-ab410-model-app",
              "title": "Use the text recognizer component in Power Apps",
              "url": "https://learn.microsoft.com/en-us/ai-builder/prebuilt-text-recognizer-component-in-powerapps",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AB-410"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-bpf-build",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AB-410-7.2",
            "AB-410-7.4"
          ],
          "old_text": "### Select the correct business-logic surface\n\n| Requirement | Strong fit | Important boundary |\n|---|---|---|\n| Immediate field validation/default/visibility supported declaratively | Business rule | Scope and supported operations; not a full cross-system process |\n| Guided multi-stage record process with phases and required steps | Business process flow | Guides work; security and automation remain separate |\n| Arithmetic or supported row expression | Formula/calculated column | Deterministic and row-oriented; verify function/type support |\n| Aggregate over related rows | Rollup column | Recalculation timing and supported relationships/functions |\n| Cross-service, approval, event, or scheduled orchestration | Cloud flow | Asynchronous behavior, identity, limits, duplicate/retry handling |\n| Generative classification, extraction, draft, or summary | Prompt or AI model | Probabilistic; grounding, evaluation, validation, and human review |\n| App interaction or presentation behavior | Power Fx | Client logic is not a universal security/business-integrity boundary |\n\nBusiness rules can set values, requirements, visibility, enablement, recommendations, and validation within their supported scope. Business process flows expose stages and steps across a process. Calculated/formula columns derive row values; rollup columns aggregate related records on their recalculation schedule. Know where each rule runs and whether imports, APIs, flows, and every app observe the same result.\n\nThe [business-rule procedure](https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-create-business-rule) distinguishes entity/server scope from form scope. Canvas apps need table scope and do not inherit form-only visibility, enablement or recommendations. Editable subgrids are unsupported. Activate and test the rule through each relevant write path; a process stage or hidden control is not a security boundary.\n\n[Formula columns](https://learn.microsoft.com/en-us/power-apps/maker/data-platform/formula-columns) have their own type/function limits, not the entire canvas Power Fx surface. Currency output is unsupported; using currency inputs requires the documented conversions. Compare compatible date behaviors and verify mobile-offline requirements. [Rollups](https://learn.microsoft.com/en-us/power-apps/maker/data-platform/define-rollup-fields) run asynchronously: the initial mass calculation normally waits 12 hours, while incremental jobs have a one-hour default minimum recurrence. Other logic reads the last calculated value. Rollup values use system context, so protect the aggregate column if totals reveal inaccessible rows.",
          "replacement_markdown": "### Select the correct business-logic surface\n\n| Requirement | Strong fit | Important boundary |\n|---|---|---|\n| Immediate field validation/default/visibility supported declaratively | Business rule | Scope and supported operations; not a full cross-system process |\n| Guided multi-stage record process with phases and required steps | Business process flow | Guides work; security and automation remain separate |\n| Arithmetic or supported row expression | Formula/calculated column | Deterministic and row-oriented; verify function/type support |\n| Aggregate over related rows | Rollup column | Recalculation timing and supported relationships/functions |\n| Cross-service, approval, event, or scheduled orchestration | Cloud flow | Asynchronous behavior, identity, limits, duplicate/retry handling |\n| Generative classification, extraction, draft, or summary | Prompt or AI model | Probabilistic; grounding, evaluation, validation, and human review |\n| App interaction or presentation behavior | Power Fx | Client logic is not a universal security/business-integrity boundary |\n\nBusiness rules can set values, requirements, visibility, enablement, recommendations, and validation within their supported scope. Business process flows expose stages and steps across a process. Calculated/formula columns derive row values; rollup columns aggregate related records on their recalculation schedule. Know where each rule runs and whether imports, APIs, flows, and every app observe the same result.\n\nThe [business-rule procedure](https://learn.microsoft.com/en-us/power-apps/maker/data-platform/data-platform-create-business-rule) distinguishes entity/server scope from form scope. Canvas apps need table scope and do not inherit form-only visibility, enablement or recommendations. Editable subgrids are unsupported. Activate and test the rule through each relevant write path; a process stage or hidden control is not a security boundary.\n\n[Formula columns](https://learn.microsoft.com/en-us/power-apps/maker/data-platform/formula-columns) have their own type/function limits, not the entire canvas Power Fx surface. Currency output is unsupported; using currency inputs requires the documented conversions. Compare compatible date behaviors and verify mobile-offline requirements. [Rollups](https://learn.microsoft.com/en-us/power-apps/maker/data-platform/define-rollup-fields) run asynchronously: the initial mass calculation normally waits 12 hours, while incremental jobs have a one-hour default minimum recurrence. Other logic reads the last calculated value. Rollup values use system context, so protect the aggregate column if totals reveal inaccessible rows.\n\n#### Worked build — a guided triage process\n\nWithin the solution, create a business process flow for Service Request with **Intake**, **Review** and **Close** stages. Add data steps for customer, category and disposition; mark only the stage-completion requirements as required. Validate, save and activate the definition, include it in the intended app and grant the test roles the needed business-process-flow instance privileges. A saved draft is unavailable to users. The [BPF construction procedure](https://learn.microsoft.com/en-us/power-automate/create-business-process-flow) separates stage/step definition, activation and instance security.\n\nTest a representative user with a missing category, then with a valid category; check whether stage progression matches the brief. Test a read-only observer separately. Avoid using a required two-option Boolean when either Yes or No is a valid completed answer: the documented required Boolean must be Yes. Use a suitable choice for that requirement. A stage guides work; its required steps do not replace API validation, record authorization or the flow that performs an external action. Retain the exported definition and role/test evidence; this is an unexecuted design.",
          "source_keys": [
            "ab410-bpf"
          ],
          "reason": "Provide actual process creation, required-step behavior, activation and security rather than definition alone.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "ab410-bpf",
              "opened_url": "https://learn.microsoft.com/en-us/power-automate/create-business-process-flow",
              "final_url": "https://learn.microsoft.com/en-us/power-automate/create-business-process-flow",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-bpf.html",
              "raw_sha256": "5bca8009d9f1b1a58e2774781586eed0c9923bae369126c6bc58268143e71497",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-bpf.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-ab410-bpf",
              "title": "Tutorial: Create a business process flow",
              "url": "https://learn.microsoft.com/en-us/power-automate/create-business-process-flow",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AB-410"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az120-policy-build",
          "exam_code": "AZ-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AZ-120-2.2"
          ],
          "old_text": "### Design the management hierarchy and controls\n\nMap management groups, subscriptions, resource groups and resource ownership to policy scope, billing, quotas, blast radius, lifecycle and separation of duties. Avoid a resource-group structure based only on the visual SAP diagram: resources that must be deployed, authorized, protected and retired together are better lifecycle boundaries.\n\nUse:\n\n- Microsoft Entra groups and least-privilege Azure RBAC;\n- privileged identity management and time-bound elevation where licensed;\n- managed identities for Azure automation where supported;\n- Azure Policy for required tags, regions, SKUs, diagnostics and security posture;\n- resource locks where they reduce accidental deletion without blocking required automation;\n- workload identities, SAP authorization concepts and SaaS federation as distinct control planes.\n\nAn Azure role does not grant an SAP authorization, and an SAP role does not grant Azure control-plane rights. Document both sides plus the identities used by connectors, backups, monitoring, deployment pipelines and LaMa.\n\nFor SAP applications hosted in Azure, distinguish OS/domain authentication, database authentication, SAP users/roles, and Microsoft Entra integration. For SAP SaaS, the organization normally configures an enterprise application and the vendor-supported SAML or OpenID Connect federation, claim/group mapping, conditional access, certificate rollover, break-glass access, and—when supported—SCIM or another provisioning lifecycle. Test sign-in and deprovisioning; successful federation does not prove that SAP authorizations are correct.",
          "replacement_markdown": "### Design the management hierarchy and controls\n\nMap management groups, subscriptions, resource groups and resource ownership to policy scope, billing, quotas, blast radius, lifecycle and separation of duties. Avoid a resource-group structure based only on the visual SAP diagram: resources that must be deployed, authorized, protected and retired together are better lifecycle boundaries.\n\nUse:\n\n- Microsoft Entra groups and least-privilege Azure RBAC;\n- privileged identity management and time-bound elevation where licensed;\n- managed identities for Azure automation where supported;\n- Azure Policy for required tags, regions, SKUs, diagnostics and security posture;\n- resource locks where they reduce accidental deletion without blocking required automation;\n- workload identities, SAP authorization concepts and SaaS federation as distinct control planes.\n\nAn Azure role does not grant an SAP authorization, and an SAP role does not grant Azure control-plane rights. Document both sides plus the identities used by connectors, backups, monitoring, deployment pipelines and LaMa.\n\nFor SAP applications hosted in Azure, distinguish OS/domain authentication, database authentication, SAP users/roles, and Microsoft Entra integration. For SAP SaaS, the organization normally configures an enterprise application and the vendor-supported SAML or OpenID Connect federation, claim/group mapping, conditional access, certificate rollover, break-glass access, and—when supported—SCIM or another provisioning lifecycle. Test sign-in and deprovisioning; successful federation does not prove that SAP authorizations are correct.\n\n#### Worked control — enforce a boundary without an estate-wide surprise\n\nIn a dedicated nonproduction SAP resource group, assign an existing reviewed Azure Policy definition at that resource group's scope. For a required owner tag, supply the tag-name parameter and start with an audit effect where the selected definition supports it. Evaluate one compliant and one deliberately untagged test resource, inspect the compliance reason and repair the missing tag. Then pilot the approved enforcement effect on a disposable resource creation; existing compliance evaluation and prevention of a new request are different observations. Record exclusions or time-bound exemptions with an owner instead of silently widening the assignment. The [policy-assignment quickstart](https://learn.microsoft.com/en-us/azure/governance/policy/assign-policy-portal) provides the assignment, effect and exemption contracts.\n\nBefore promotion, inspect inherited initiatives and deny controls at management-group/subscription scopes, including whether deployment identities can create the required network, storage and diagnostic resources. A deployIfNotExists or modify policy needs its documented identity, roles and remediation task; an audit-only finding does not repair an existing resource. Capture assignment ID, scope, parameters, evaluated resources, denied request and approved removal/rollback path. This is an unexecuted change plan, not a compliance attestation.",
          "source_keys": [
            "sap-policy-assignment"
          ],
          "reason": "Add a scoped parameter/assignment/evaluate/enforce/remediate workflow.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "sap-policy-assignment",
              "opened_url": "https://learn.microsoft.com/en-us/azure/governance/policy/assign-policy-portal",
              "final_url": "https://learn.microsoft.com/en-us/azure/governance/policy/assign-policy-portal",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-policy-assignment.html",
              "raw_sha256": "9fb6576bacd0b11c8740f93c5250702c59c1cb8b72557e7b58c7aa45863e53db",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-policy-assignment.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-sap-policy-assignment",
              "title": "Quickstart: Create a policy assignment to identify non-compliant resources using Azure portal",
              "url": "https://learn.microsoft.com/en-us/azure/governance/policy/assign-policy-portal",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az120-rise-build",
          "exam_code": "AZ-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AZ-120-3.2",
            "AZ-120-3.3",
            "AZ-120-3.4",
            "AZ-120-3.5"
          ],
          "old_text": "### Integrate RISE with SAP\n\nIn RISE with SAP on Azure, SAP owns and operates the RISE subscription and its resources; the customer owns its connected Azure estate. The [RISE integration guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration) makes that boundary central.\n\nDesign:\n\n- customer-to-RISE connectivity, routing, DNS and firewall ownership;\n- address-space nonoverlap and resilient on-premises paths;\n- identity federation, application SSO and privileged access;\n- integration with data, archive, monitoring and security services in customer subscriptions;\n- incident triage based on whether the failing resource is SAP-managed or customer-managed;\n- throughput, latency, egress and compliance for every cross-boundary flow.\n\nDo not assume that you can inspect or change the Azure resources inside SAP’s subscription. Contractual service, change and support processes are part of the technical design.\n\nThe [RISE network guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-network) adds concrete constraints to that ownership map. Peering can cross subscriptions and tenants, but requires both owners' configuration and permissions. It does not turn the SAP subscription into a customer-managed resource. Check nonoverlapping addresses, routes in both directions and DNS independently. Remote gateway transit and a local gateway cannot be combined in the same RISE VNet. A dedicated SAP-managed connection to on-premises does not automatically provide transit to customer VNets. During migration, reserve bandwidth for replication without starving already productive SAP systems. Record who approves and diagnoses every path.\n\n#### Migration failure modes\n\n| Symptom | Likely design gap | Evidence to collect |\n|---|---|---|\n| Target is under-sized at peak | Averages substituted for workload/SAPS and memory evidence | Source peak metrics, SAP sizing output, VM/storage limits |\n| Cutover exceeds window | Transfer time modeled without post-processing and validation | Timed rehearsal phase log and dependency map |\n| System works but interfaces fail | DNS, route, certificate, allowlist or source-IP changes omitted | Packet/DNS traces, interface inventory, certificate chain |\n| Deployment blocked | Quota or zonal SKU capacity checked too late | Quota state, capacity reservation/availability evidence |\n| RISE incident loops between teams | Responsibility boundary and first-call routing not documented | Resource ownership, contract and triage matrix |\n\n#### Primary references\n\n- [SAP on Azure supported products](https://learn.microsoft.com/en-us/azure/sap/workloads/supported-product-on-azure)\n- [Cloud Adoption Framework plan for SAP](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/sap/plan)\n- [Azure landing zone for SAP](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/sap/ready)\n- [Integrate Azure with SAP RISE managed workloads](https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration)\n\n---",
          "replacement_markdown": "### Integrate RISE with SAP\n\nIn RISE with SAP on Azure, SAP owns and operates the RISE subscription and its resources; the customer owns its connected Azure estate. The [RISE integration guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration) makes that boundary central.\n\nDesign:\n\n- customer-to-RISE connectivity, routing, DNS and firewall ownership;\n- address-space nonoverlap and resilient on-premises paths;\n- identity federation, application SSO and privileged access;\n- integration with data, archive, monitoring and security services in customer subscriptions;\n- incident triage based on whether the failing resource is SAP-managed or customer-managed;\n- throughput, latency, egress and compliance for every cross-boundary flow.\n\nDo not assume that you can inspect or change the Azure resources inside SAP’s subscription. Contractual service, change and support processes are part of the technical design.\n\nThe [RISE network guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-network) adds concrete constraints to that ownership map. Peering can cross subscriptions and tenants, but requires both owners' configuration and permissions. It does not turn the SAP subscription into a customer-managed resource. Check nonoverlapping addresses, routes in both directions and DNS independently. Remote gateway transit and a local gateway cannot be combined in the same RISE VNet. A dedicated SAP-managed connection to on-premises does not automatically provide transit to customer VNets. During migration, reserve bandwidth for replication without starving already productive SAP systems. Record who approves and diagnoses every path.\n\n#### Migration failure modes\n\n| Symptom | Likely design gap | Evidence to collect |\n|---|---|---|\n| Target is under-sized at peak | Averages substituted for workload/SAPS and memory evidence | Source peak metrics, SAP sizing output, VM/storage limits |\n| Cutover exceeds window | Transfer time modeled without post-processing and validation | Timed rehearsal phase log and dependency map |\n| System works but interfaces fail | DNS, route, certificate, allowlist or source-IP changes omitted | Packet/DNS traces, interface inventory, certificate chain |\n| Deployment blocked | Quota or zonal SKU capacity checked too late | Quota state, capacity reservation/availability evidence |\n| RISE incident loops between teams | Responsibility boundary and first-call routing not documented | Resource ownership, contract and triage matrix |\n\n#### Primary references\n\n- [SAP on Azure supported products](https://learn.microsoft.com/en-us/azure/sap/workloads/supported-product-on-azure)\n- [Cloud Adoption Framework plan for SAP](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/sap/plan)\n- [Azure landing zone for SAP](https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/sap/ready)\n- [Integrate Azure with SAP RISE managed workloads](https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration)\n\n---\n\n#### Worked handoff — customer service to a RISE interface\n\nSuppose a customer-managed integration service must read approved SAP data and archive it to customer-managed storage. First obtain SAP's approved interface, authentication, port, address and licensing terms; do not infer direct database access from VNet connectivity. For a peered design, exchange the exact VNet resource IDs, complete the required cross-tenant permissions and have each owner approve its side. Implement return routes and allowed ports on both sides, then resolve the SAP name from the actual runtime host. The [RISE network procedure](https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-network) requires bilateral enablement; a peering status alone does not prove the transaction.\n\nChoose the connector before the runtime: many SAP data connectors need a customer-operated self-hosted integration runtime; some use Azure Integration Runtime and its different public HTTPS path. Install/configure the documented driver/runtime only for that connector, create its connection using an authorized SAP identity and test a bounded read to the archive destination. Re-read the archived object and compare record count/retention/access with the brief; test a denied identity and a blocked network path. [RISE service integration](https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-services) distinguishes runtime and on-premises data-gateway paths. A read/copy pipeline is not itself SAP archive deletion, retention approval or proof that every historical record is recoverable.\n\nFor SSO, select the documented method for the actual SAP client, exchange federation metadata/certificates with the responsible SAP team, map the intended user and validate both permitted and denied SAP operations. Keep application authorization separate from successful sign-in. For security telemetry, agree which SAP application signals are exposed and prove arrival in the customer's security service. **Confirmed boundary:** the [RISE identity/security guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-security) excludes integration with Azure Monitor for SAP solutions and Azure Center for SAP solutions; customer-side Azure services do not grant access to RISE infrastructure/OS telemetry. **VERIFY CURRENT:** interface, driver, SSO and connector support. This is an original, unexecuted handoff plan.",
          "source_keys": [
            "sap-rise-network",
            "sap-rise-services",
            "sap-rise-security"
          ],
          "reason": "Teach actual bilateral networking/runtime/identity/data checks and make RISE management exclusions explicit.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "sap-rise-network",
              "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-network",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-network",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-network.html",
              "raw_sha256": "042727a8ad8d4ca79fd87c64f96c3b37659e043655edf91aaba22a6dbd8f3a3a",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-network.txt",
              "source_matches": [
                "az120-rise-network"
              ],
              "candidate_matches": []
            },
            {
              "key": "sap-rise-services",
              "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-services",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-services",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-services.html",
              "raw_sha256": "cbfeea6704ad93ac35440150cb8b32b0488fb9adff36b42834ca9c0ea33d174a",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-services.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "sap-rise-security",
              "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-security",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-security",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-security.html",
              "raw_sha256": "4e91e2d427aacaf59325f8d06077cddbbe2c205198a65a9cc6cb31de541ee2df",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-rise-security.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-sap-rise-security",
              "title": "Azure identity and security services with SAP RISE",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-security",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-sap-rise-services",
              "title": "Integrate Azure services with SAP RISE",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-services",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [
            {
              "source_id": "az120-rise-network",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-network",
              "append_supported_exams": [
                "AZ-120"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az120-deployment-build",
          "exam_code": "AZ-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AZ-120-4.5",
            "AZ-120-4.6",
            "AZ-120-4.7"
          ],
          "old_text": "### Automate repeatable deployment\n\nARM templates and Bicep describe Azure resources; OS/database/SAP configuration needs additional automation. Microsoft’s [SAP Deployment Automation Framework](https://learn.microsoft.com/en-us/azure/sap/automation/tutorial) uses a control plane, workload zones and system deployments, with Terraform and Ansible. [Azure Center for SAP solutions](https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/overview) offers guided deployment plus registration and management through a Virtual Instance for SAP solutions (VIS).\n\n| Approach | Best fit | Watch for |\n|---|---|---|\n| Bicep/ARM | Organization-owned Azure resource patterns | SAP/OS installation and day-2 configuration remain separate |\n| SAP Deployment Automation Framework | Repeatable enterprise SAP landing zones and systems | Control-plane security, state, parameters, versioning and pipeline ownership |\n| Azure Center for SAP solutions | Guided supported patterns and a unified SAP management resource | Current supported topologies, regions, software and permissions |\n| Manual deployment | Constrained proof of concept or diagnosis | Drift, weak repeatability and undocumented decisions |\n\nMake parameters, state, secrets, approvals and generated artifacts explicit. Validate before deployment, lint templates, test idempotence and protect state. Do not embed credentials or SAP media entitlements in source control.\n\n#### Treat deployment and acceptance as separate gates\n\nMicrosoft's [Sapphire 2026 update](https://techcommunity.microsoft.com/blog/sapapplications/sap-on-azure-product-announcements-summary-%E2%80%93-sap-sapphire-2026/4517634) describes SDAF deployment paths and STAF configuration, HA and backup validation. The [SDAF 3.23 release](https://github.com/Azure/sap-automation/releases/tag/v3.23.0.0), published August 31, adds integrated STAF runs through Azure DevOps or local execution. Pin a reviewed release; record the selected tests, topology, prerequisites, results and exclusions. A successful deployment exit code is evidence of deployment only. A skipped restore or failed fencing test cannot become a pass because the pipeline is green. Review storage mount changes and retention options before upgrades; do not apply a release's destructive cleanup or immutable retention choices without a workload-specific migration plan.\n\n#### Infrastructure failure modes\n\n| Symptom | Likely cause | Check first |\n|---|---|---|\n| Certified VM cannot be deployed | Zone capacity or quota, not certification | SKU availability by zone and family quota |\n| HANA latency remains high | Layout exceeds disk or VM caps; cache/striping mismatch | Disk and VM metrics, HANA tools, supported layout |\n| HA IP does not respond | Load-balancer probe/rule or cluster resource mismatch | Probe port, frontend, floating IP, listener and cluster state |\n| Private storage name resolves publicly | Private DNS zone/link/forwarding gap | Answer from the workload VM and DNS query path |\n| Automation differs by environment | Mutable images, unversioned parameters or manual post-steps | Pipeline artifacts, state and configuration drift |\n\n#### Primary references\n\n- [Plan and implement an SAP deployment on Azure](https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/sap/planning-guide)\n- [SAP HANA VM storage configurations](https://learn.microsoft.com/en-us/azure/sap/workloads/hana-vm-operations-storage)\n- [Azure Center for SAP solutions overview](https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/overview)\n- [SAP Deployment Automation Framework enterprise tutorial](https://learn.microsoft.com/en-us/azure/sap/automation/tutorial)\n\n---",
          "replacement_markdown": "### Automate repeatable deployment\n\nARM templates and Bicep describe Azure resources; OS/database/SAP configuration needs additional automation. Microsoft’s [SAP Deployment Automation Framework](https://learn.microsoft.com/en-us/azure/sap/automation/tutorial) uses a control plane, workload zones and system deployments, with Terraform and Ansible. [Azure Center for SAP solutions](https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/overview) offers guided deployment plus registration and management through a Virtual Instance for SAP solutions (VIS).\n\n| Approach | Best fit | Watch for |\n|---|---|---|\n| Bicep/ARM | Organization-owned Azure resource patterns | SAP/OS installation and day-2 configuration remain separate |\n| SAP Deployment Automation Framework | Repeatable enterprise SAP landing zones and systems | Control-plane security, state, parameters, versioning and pipeline ownership |\n| Azure Center for SAP solutions | Guided supported patterns and a unified SAP management resource | Current supported topologies, regions, software and permissions |\n| Manual deployment | Constrained proof of concept or diagnosis | Drift, weak repeatability and undocumented decisions |\n\nMake parameters, state, secrets, approvals and generated artifacts explicit. Validate before deployment, lint templates, test idempotence and protect state. Do not embed credentials or SAP media entitlements in source control.\n\n#### Treat deployment and acceptance as separate gates\n\nMicrosoft's [Sapphire 2026 update](https://techcommunity.microsoft.com/blog/sapapplications/sap-on-azure-product-announcements-summary-%E2%80%93-sap-sapphire-2026/4517634) describes SDAF deployment paths and STAF configuration, HA and backup validation. The [SDAF 3.23 release](https://github.com/Azure/sap-automation/releases/tag/v3.23.0.0), published August 31, adds integrated STAF runs through Azure DevOps or local execution. Pin a reviewed release; record the selected tests, topology, prerequisites, results and exclusions. A successful deployment exit code is evidence of deployment only. A skipped restore or failed fencing test cannot become a pass because the pipeline is green. Review storage mount changes and retention options before upgrades; do not apply a release's destructive cleanup or immutable retention choices without a workload-specific migration plan.\n\n#### Infrastructure failure modes\n\n| Symptom | Likely cause | Check first |\n|---|---|---|\n| Certified VM cannot be deployed | Zone capacity or quota, not certification | SKU availability by zone and family quota |\n| HANA latency remains high | Layout exceeds disk or VM caps; cache/striping mismatch | Disk and VM metrics, HANA tools, supported layout |\n| HA IP does not respond | Load-balancer probe/rule or cluster resource mismatch | Probe port, frontend, floating IP, listener and cluster state |\n| Private storage name resolves publicly | Private DNS zone/link/forwarding gap | Answer from the workload VM and DNS query path |\n| Automation differs by environment | Mutable images, unversioned parameters or manual post-steps | Pipeline artifacts, state and configuration drift |\n\n#### Primary references\n\n- [Plan and implement an SAP deployment on Azure](https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/sap/planning-guide)\n- [SAP HANA VM storage configurations](https://learn.microsoft.com/en-us/azure/sap/workloads/hana-vm-operations-storage)\n- [Azure Center for SAP solutions overview](https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/overview)\n- [SAP Deployment Automation Framework enterprise tutorial](https://learn.microsoft.com/en-us/azure/sap/automation/tutorial)\n\n---\n\n#### Worked deployment record — the same SID through three approaches\n\nFor a fictional nonproduction SID, first freeze region, supported VM/image/storage, subnets, identities and quota inputs. In an ARM/Bicep approach, make these typed parameters, connect NICs/disks/VMs with explicit resource dependencies, keep secrets outside the parameter file and run template validation plus a what-if review before an authorized deployment. Inspect deployed resource properties and guest initialization separately; a valid resource template has not installed SAP.\n\nFor SDAF, pin the reviewed release and parameter files. Follow the [enterprise deployment sequence](https://learn.microsoft.com/en-us/azure/sap/automation/tutorial): prepare the regional control plane and state/media storage, deploy the workload zone and its network/keys, deploy the SAP-system infrastructure, then run the supported OS/HANA/SAP configuration workflow. Review each plan against the correct state before apply, retain outputs needed by the next tier and verify installation/health before acceptance tests. Keep SAP media access separate from public code. Repeating the same configuration should be reviewed for unintended replacements; state loss is a recovery problem, not a cue to create a duplicate landscape.\n\nFor Azure Center for SAP solutions, register the required resource provider, prepare the documented deployment identity/RBAC and select **Create a new SAP system**. Supply the SID, production/nonproduction choice, supported deployment topology, network, sizing and storage configuration; review the resulting plan before creation. The [S/4HANA infrastructure procedure](https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/deploy-s4hana) separates infrastructure creation from subsequent SAP software installation. Validate the VIS and actual instances together after installation; registration of an existing SID is another workflow. For all three routes, preserve parameters, change preview, deployment/configuration logs, expected versus observed checks, cost and an approved cleanup/recovery plan. No Azure deployment or SAP install occurred in this review.",
          "source_keys": [
            "sap-sdaf",
            "sap-acss-deploy"
          ],
          "reason": "Supply sequenced implementation without conflating Azure provisioning, SAP configuration and acceptance.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "sap-sdaf",
              "opened_url": "https://learn.microsoft.com/en-us/azure/sap/automation/tutorial",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/automation/tutorial",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sdaf.html",
              "raw_sha256": "54773f8c6936206fb271bfeecbdd3bb20dc85ba9a0ad7a6091bb6d1ee3157949",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sdaf.txt",
              "source_matches": [
                "az-120-deployment-automation-framework"
              ],
              "candidate_matches": []
            },
            {
              "key": "sap-acss-deploy",
              "opened_url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/deploy-s4hana",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/deploy-s4hana",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-acss-deploy.html",
              "raw_sha256": "d93548a34ec02af28b10eab617757b273dc685f40e7ce257d0b13611b3a2315f",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-acss-deploy.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-sap-acss-deploy",
              "title": "Deploy S/4HANA infrastructure with Azure Center for SAP solutions",
              "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/deploy-s4hana",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [
            {
              "source_id": "az-120-deployment-automation-framework",
              "url": "https://learn.microsoft.com/en-us/azure/sap/automation/tutorial",
              "append_supported_exams": [
                "AZ-120"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az120-placement-endpoint-build",
          "exam_code": "AZ-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AZ-120-5.3",
            "AZ-120-5.7"
          ],
          "old_text": "### Design networking from flows\n\nCreate a flow matrix with source, destination, protocol/port, DNS name, expected address, route, security control, throughput, latency, owner and evidence. Cover:\n\n- user and application access to SAP entry points;\n- application-to-central-services and application-to-database flows;\n- HANA System Replication, cluster heartbeat and fencing paths;\n- SAProuter, Web Dispatcher, interfaces, printers and batch transfers;\n- Microsoft Entra, Key Vault, Azure management, monitoring, backup and repository endpoints;\n- on-premises, partner, RISE and DR-region connectivity.\n\nUse Accelerated Networking on supported SAP VMs. Design ExpressRoute for required bandwidth and resilience, including provider/peering location, redundant circuits or paths, gateway resiliency, BGP, route filtering, DNS and failover. VPN can be a primary or fallback path only when its measured performance and failure behavior satisfy requirements.\n\nNSGs filter flows but do not provide application-aware inspection. Azure Firewall or a supported NVA may centralize inspection; UDRs must preserve symmetric, supported paths. Private endpoints change DNS as well as routing. Document forced tunneling, egress identity, service tags, FQDN dependencies and return paths.\n\nFor Azure Storage, a service endpoint keeps the service's public endpoint but lets its firewall recognize the selected subnet; a private endpoint places a private IP for the service subresource in the VNet and requires correct private DNS. Neither is an SAP authorization mechanism. Choose from exposure, routing, DNS, cross-network access and current storage/SAP support requirements.\n\nThe [SAP planning guide](https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/sap/planning-guide) recommends validating Accelerated Networking and enterprise connectivity for SAP VMs.\n\n#### Check the Linux driver before the next redeploy\n\n[MANA on Linux](https://learn.microsoft.com/en-us/azure/virtual-network/accelerated-networking-mana-linux) requires a supported guest driver as well as compatible host hardware. An enabled Accelerated Networking flag is only one check: verify the PCI device, driver availability, interface binding and increasing virtual-function packet counters. The Microsoft [June 3 MANA/SAP article](https://techcommunity.microsoft.com/blog/sapapplications/mana-support-for-existing-vm-skuswhy-now-is-the-right-time-to-update-linux-on-yo/4524534) explains why an existing VM SKU can encounter newer network hardware. Inventory OS service pack/kernel, SAP support, image lineage and driver readiness before a reboot/redeploy; test a supported update and rollback in a representative nonproduction system. Its temporary legacy-device exception does **not** cover M-series. Do not treat an upstream kernel number as a substitute for distribution and SAP support checks.",
          "replacement_markdown": "### Design networking from flows\n\nCreate a flow matrix with source, destination, protocol/port, DNS name, expected address, route, security control, throughput, latency, owner and evidence. Cover:\n\n- user and application access to SAP entry points;\n- application-to-central-services and application-to-database flows;\n- HANA System Replication, cluster heartbeat and fencing paths;\n- SAProuter, Web Dispatcher, interfaces, printers and batch transfers;\n- Microsoft Entra, Key Vault, Azure management, monitoring, backup and repository endpoints;\n- on-premises, partner, RISE and DR-region connectivity.\n\nUse Accelerated Networking on supported SAP VMs. Design ExpressRoute for required bandwidth and resilience, including provider/peering location, redundant circuits or paths, gateway resiliency, BGP, route filtering, DNS and failover. VPN can be a primary or fallback path only when its measured performance and failure behavior satisfy requirements.\n\nNSGs filter flows but do not provide application-aware inspection. Azure Firewall or a supported NVA may centralize inspection; UDRs must preserve symmetric, supported paths. Private endpoints change DNS as well as routing. Document forced tunneling, egress identity, service tags, FQDN dependencies and return paths.\n\nFor Azure Storage, a service endpoint keeps the service's public endpoint but lets its firewall recognize the selected subnet; a private endpoint places a private IP for the service subresource in the VNet and requires correct private DNS. Neither is an SAP authorization mechanism. Choose from exposure, routing, DNS, cross-network access and current storage/SAP support requirements.\n\nThe [SAP planning guide](https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/sap/planning-guide) recommends validating Accelerated Networking and enterprise connectivity for SAP VMs.\n\n#### Check the Linux driver before the next redeploy\n\n[MANA on Linux](https://learn.microsoft.com/en-us/azure/virtual-network/accelerated-networking-mana-linux) requires a supported guest driver as well as compatible host hardware. An enabled Accelerated Networking flag is only one check: verify the PCI device, driver availability, interface binding and increasing virtual-function packet counters. The Microsoft [June 3 MANA/SAP article](https://techcommunity.microsoft.com/blog/sapapplications/mana-support-for-existing-vm-skuswhy-now-is-the-right-time-to-update-linux-on-yo/4524534) explains why an existing VM SKU can encounter newer network hardware. Inventory OS service pack/kernel, SAP support, image lineage and driver readiness before a reboot/redeploy; test a supported update and rollback in a representative nonproduction system. Its temporary legacy-device exception does **not** cover M-series. Do not treat an upstream kernel number as a substitute for distribution and SAP support checks.\n\n#### Worked network changes — placement and private storage resolution\n\nFor a latency-sensitive tier that fits the support and availability design, create a proximity placement group in the intended region and attach the supported VM/availability-set deployment to it. For an existing workload, plan the required stop/deallocate and redeploy window before changing placement. Recheck allocation/alignment and representative SAP latency afterward. [PPG guidance](https://learn.microsoft.com/en-us/azure/virtual-machines/co-location) distinguishes a colocation constraint from reserved capacity: an intended SKU combination can still fail allocation. One group cannot provide placement across multiple zones. Retain a capacity fallback instead of removing the zone requirement merely to make allocation succeed.\n\nFor a storage **service endpoint**, enable the service on the workload subnet and configure the storage firewall to allow that subnet; confirm the supported service's public name/path and reject an unauthorized subnet. For a **private endpoint**, select the correct storage subresource, approve the connection and create/link its private DNS configuration. From the SAP VM and an intended on-premises client, resolve the normal service name and verify the private destination, route and actual authorized read/write. An endpoint attached to the wrong subresource or a DNS name still returning a public address is not a completed private design. The [SAP planning guide](https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide) and [SAP storage guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage) bound these choices to the particular SAP/storage topology. Record expected and denied flows before changing production networking. These steps were not executed.",
          "source_keys": [
            "sap-ppg",
            "sap-planning",
            "sap-storage"
          ],
          "reason": "Turn explicit placement/endpoint objectives into scoped change and validation sequences.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "sap-ppg",
              "opened_url": "https://learn.microsoft.com/en-us/azure/virtual-machines/co-location",
              "final_url": "https://learn.microsoft.com/en-us/azure/virtual-machines/co-location",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-ppg.html",
              "raw_sha256": "87480ea67d4720a4910f82bfe8ed6ebc0a7be828c41a01cf2f768335b9561277",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-ppg.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "sap-planning",
              "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-planning.html",
              "raw_sha256": "9aaa0e96886fbf8b54b463e545618e3501cc98158fed115d03e21fd516f3e6a9",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-planning.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "sap-storage",
              "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-storage.html",
              "raw_sha256": "d48c7fbe86d1ed40d910cc6189a92154c4b7c4c398ccd9de223f4b5d61cf772d",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-storage.txt",
              "source_matches": [
                "az120-storage-types"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-sap-planning",
              "title": "Plan and implement an SAP deployment on Azure",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-sap-ppg",
              "title": "Proximity placement groups",
              "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/co-location",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [
            {
              "source_id": "az120-storage-types",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage",
              "append_supported_exams": [
                "AZ-120"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az120-storage-build",
          "exam_code": "AZ-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AZ-120-6.6",
            "AZ-120-6.8",
            "AZ-120-6.9"
          ],
          "old_text": "### Choose and lay out storage\n\nSeparate capacity, IOPS, throughput, latency, durability, filesystem/protocol, sharing and recovery requirements for:\n\n- OS and SAP binaries;\n- database data, log, shared and backup areas;\n- SAP global, transport and interface files;\n- staging and archive data.\n\nFor HANA, design `/hana/data`, `/hana/log`, `/hana/shared` and `/usr/sap` from current supported configurations. The transaction log latency path differs from the data-volume throughput path. Disk striping aggregates performance but also changes the failure and operational unit. Host caching and Write Accelerator are workload-, disk-, and SKU-dependent choices.\n\nThe current [HANA VM storage guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/hana-vm-operations-storage) lists Premium SSD, Premium SSD v2, Ultra Disk and Azure NetApp Files among certified options, with important mixing, filesystem and throughput constraints. Azure Files and Azure NetApp Files serve different shared-storage requirements. Verify protocol, regional availability, service level, delegated subnet, proximity, backup and replication behavior.\n\n**VERIFY CURRENT:** supported storage combinations, VM/disk limits, bursting, caching, Write Accelerator, shared-disk, Azure Files and Azure NetApp Files behavior.\n\n#### Match volume roles and replica layouts\n\nThe current [HANA storage guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/hana-vm-operations-storage) allows different certified storage types for data and log volumes, including certified NFS/block combinations. The **corresponding volume on each HSR replica must retain the same storage type**. A mixed data/log design within one VM does not justify data on Premium SSD on one replica and Ultra Disk on the other. Check exact supported VM/OS/HANA combinations in the current SAP certification sources; this guide does not certify a proposed SKU.\n\n[Premium SSD v2](https://learn.microsoft.com/en-us/azure/sap/workloads/hana-vm-premium-ssd-v2) separates provisioned capacity, IOPS and throughput within its service limits. The [SAP storage planning guide](https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage) distinguishes it from Premium SSD v1: do not copy a v1 caching or Write Accelerator recipe onto v2. [Write Accelerator](https://learn.microsoft.com/en-us/azure/virtual-machines/how-to-enable-write-accelerator) targets eligible M-series Premium SSD log/redo disks, not arbitrary VM families or database data volumes. Stripe members, the VM aggregate cap, queueing and backup/savepoint competition all matter. Keep `/hana/shared` performance in the design: an apparently adequate capacity can still hide I/O delays and cluster timeouts. Use the worked storage budget below before proposing more disks.",
          "replacement_markdown": "### Choose and lay out storage\n\nSeparate capacity, IOPS, throughput, latency, durability, filesystem/protocol, sharing and recovery requirements for:\n\n- OS and SAP binaries;\n- database data, log, shared and backup areas;\n- SAP global, transport and interface files;\n- staging and archive data.\n\nFor HANA, design `/hana/data`, `/hana/log`, `/hana/shared` and `/usr/sap` from current supported configurations. The transaction log latency path differs from the data-volume throughput path. Disk striping aggregates performance but also changes the failure and operational unit. Host caching and Write Accelerator are workload-, disk-, and SKU-dependent choices.\n\nThe current [HANA VM storage guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/hana-vm-operations-storage) lists Premium SSD, Premium SSD v2, Ultra Disk and Azure NetApp Files among certified options, with important mixing, filesystem and throughput constraints. Azure Files and Azure NetApp Files serve different shared-storage requirements. Verify protocol, regional availability, service level, delegated subnet, proximity, backup and replication behavior.\n\n**VERIFY CURRENT:** supported storage combinations, VM/disk limits, bursting, caching, Write Accelerator, shared-disk, Azure Files and Azure NetApp Files behavior.\n\n#### Match volume roles and replica layouts\n\nThe current [HANA storage guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/hana-vm-operations-storage) allows different certified storage types for data and log volumes, including certified NFS/block combinations. The **corresponding volume on each HSR replica must retain the same storage type**. A mixed data/log design within one VM does not justify data on Premium SSD on one replica and Ultra Disk on the other. Check exact supported VM/OS/HANA combinations in the current SAP certification sources; this guide does not certify a proposed SKU.\n\n[Premium SSD v2](https://learn.microsoft.com/en-us/azure/sap/workloads/hana-vm-premium-ssd-v2) separates provisioned capacity, IOPS and throughput within its service limits. The [SAP storage planning guide](https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage) distinguishes it from Premium SSD v1: do not copy a v1 caching or Write Accelerator recipe onto v2. [Write Accelerator](https://learn.microsoft.com/en-us/azure/virtual-machines/how-to-enable-write-accelerator) targets eligible M-series Premium SSD log/redo disks, not arbitrary VM families or database data volumes. Stripe members, the VM aggregate cap, queueing and backup/savepoint competition all matter. Keep `/hana/shared` performance in the design: an apparently adequate capacity can still hide I/O delays and cluster timeouts. Use the worked storage budget below before proposing more disks.\n\n#### Worked storage assembly — preserve volume role and access\n\nFor an eligible M-series/Premium SSD redo-log design, record the exact attached log disks, caching and VM limits before enabling Write Accelerator. Follow the [Write Accelerator procedure](https://learn.microsoft.com/en-us/azure/virtual-machines/how-to-enable-write-accelerator): shut down the database/workload using a standalone disk before the change. For a striped volume, shut down the VM before enabling or disabling every member in the documented separate steps. Use only supported None or ReadOnly disk caching, and keep data disks out of this log-specific change. Verify disk flags, guest mount, database log writes and latency against the baseline; preserve a supported reversal and recovery point. Do not transpose the workflow to Premium SSD v2 or an arbitrary VM family.\n\nFor an ANF HANA layout, prepare an eligible NetApp account, manual-QoS capacity pool and delegated subnet. In an application volume group, select SAP HANA, enter the SID and node-memory sizing, choose the first/single-host role, placement, network and key source, then review export policy plus each volume's quota and throughput. The [first-host deployment procedure](https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-group-deploy-first-host) creates the required roles together; inspect the actual exports and mount each role at its approved guest path. Check a permitted SAP host and denied host, persistent mounts and post-restart access. Capacity alone is insufficient when required throughput is wrong.\n\nFor Azure Files, first select the **documented SAP shared-files** use case, such as the SLES ASCS/ERS NFS design, rather than assuming it is a HANA data/log substitute. Create the supported storage-account/share/protocol/redundancy combination, restrict networking and configure its private endpoint/DNS. Create the required SAP directories with the specified UID/GID/permissions, mount through the supported client/options and persist mounts as the selected HA design requires. The [SLES NFS-on-Azure-Files procedure](https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-nfs-azure-files) is topology-specific. Verify access from every intended node and the denied path before testing failover. **VERIFY CURRENT:** SKU, protocol, EiT, mount options and support; these are unexecuted assembly plans.",
          "source_keys": [
            "sap-write-accelerator",
            "sap-anf-create",
            "sap-files-create"
          ],
          "reason": "Teach eligible change/volume creation/mount verification rather than listing storage options.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "sap-write-accelerator",
              "opened_url": "https://learn.microsoft.com/en-us/azure/virtual-machines/how-to-enable-write-accelerator",
              "final_url": "https://learn.microsoft.com/en-us/azure/virtual-machines/how-to-enable-write-accelerator",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-write-accelerator.html",
              "raw_sha256": "a575ce2a9ccc90318f2037bb87f78d968f7ad7c17239bae063c9cf40cb8b43fa",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-write-accelerator.txt",
              "source_matches": [
                "az120-write-accelerator"
              ],
              "candidate_matches": []
            },
            {
              "key": "sap-anf-create",
              "opened_url": "https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-group-deploy-first-host",
              "final_url": "https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-group-deploy-first-host",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-anf-create.html",
              "raw_sha256": "ec3657fb4770ef3e7944119839e38ef6a841fb3890af6249a33ee744d68da4ce",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-anf-create.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "sap-files-create",
              "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-nfs-azure-files",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-nfs-azure-files",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-files-create.html",
              "raw_sha256": "84bc93a5b1f2ad3c9fea808372b5a55df2aeb0e9e3eef90335eec25514709f60",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-files-create.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-sap-anf-create",
              "title": "Deploy volumes for the first SAP HANA host using application volume group for SAP HANA",
              "url": "https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-group-deploy-first-host",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-sap-files-create",
              "title": "High availability for SAP NetWeaver on Azure VMs on SUSE Linux Enterprise Server with NFS on Azure Files",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-nfs-azure-files",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-sap-planning",
              "title": "Plan and implement an SAP deployment on Azure",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [
            {
              "source_id": "az120-storage-types",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage",
              "append_supported_exams": [
                "AZ-120"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            },
            {
              "source_id": "az120-write-accelerator",
              "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/how-to-enable-write-accelerator",
              "append_supported_exams": [
                "AZ-120"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az120-sql-lb-replication-build",
          "exam_code": "AZ-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AZ-120-7.3",
            "AZ-120-7.5",
            "AZ-120-7.8"
          ],
          "old_text": "### Design in-region high availability\n\nAvailability Sets separate fault/update domains within a datacenter construct; Availability Zones separate physical locations within a region. A zone-spanning design can improve fault isolation but introduces cross-zone latency and zonal dependency requirements; price the actual network services and traffic path. The [SAP availability-zone guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-zones) recommends measuring latency with representative SKUs and SAP `niping`, not assuming zone numbers or using ordinary ping as proof.\n\nProtect each singleton:\n\n- deploy redundant application servers;\n- cluster ASCS/SCS with ERS on a supported Pacemaker or Windows Server Failover Clustering pattern;\n- use a supported load-balancer/virtual-name design;\n- use HANA System Replication, SQL Server Always On or another supported database-native HA pattern;\n- select a supported shared-storage design;\n- validate quorum and fencing under partition, loss and maintenance conditions.\n\nFor SQL Server, distinguish an Always On availability group from a failover cluster instance and use only the SAP-, Microsoft-, OS- and storage-supported pattern. For central-services shared state, storage-level replication is valid only where the chosen SAP/OS architecture documents it; shared managed disks, Azure Files, Azure NetApp Files and replicated local filesystems are not interchangeable.\n\nThe [SAP HA architecture guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-architecture-scenarios) describes redundancy across application, central-services and database components.",
          "replacement_markdown": "### Design in-region high availability\n\nAvailability Sets separate fault/update domains within a datacenter construct; Availability Zones separate physical locations within a region. A zone-spanning design can improve fault isolation but introduces cross-zone latency and zonal dependency requirements; price the actual network services and traffic path. The [SAP availability-zone guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-zones) recommends measuring latency with representative SKUs and SAP `niping`, not assuming zone numbers or using ordinary ping as proof.\n\nProtect each singleton:\n\n- deploy redundant application servers;\n- cluster ASCS/SCS with ERS on a supported Pacemaker or Windows Server Failover Clustering pattern;\n- use a supported load-balancer/virtual-name design;\n- use HANA System Replication, SQL Server Always On or another supported database-native HA pattern;\n- select a supported shared-storage design;\n- validate quorum and fencing under partition, loss and maintenance conditions.\n\nFor SQL Server, distinguish an Always On availability group from a failover cluster instance and use only the SAP-, Microsoft-, OS- and storage-supported pattern. For central-services shared state, storage-level replication is valid only where the chosen SAP/OS architecture documents it; shared managed disks, Azure Files, Azure NetApp Files and replicated local filesystems are not interchangeable.\n\nThe [SAP HA architecture guidance](https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-architecture-scenarios) describes redundancy across application, central-services and database components.\n\n#### Worked HA change plan — listener, replicas and storage ownership\n\nFor a supported SQL availability-group design, validate the SQL/Windows/SAP versions and topology first. Prepare domain identities, nodes, cluster/quorum, endpoint ports and protected database recovery material; enable Always On on each SQL instance. Create the availability group, add the intended databases and seed/join the secondary replicas. Select synchronous/asynchronous commit and failover mode from latency and RPO, then configure the supported listener. The [SAP SQL deployment guide](https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/sap/dbms_guide_sqlserver) distinguishes listener choices; the [single-subnet AG tutorial](https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-tutorial-single-subnet) is one specific construction, not a universal SAP recipe.\n\nWhere that supported single-subnet listener uses a Standard Load Balancer, create its frontend address, add the intended nodes to the backend pool, configure the dedicated health probe and matching listener rule, and allow the actual listener/probe paths in NSGs and host firewalls. Coordinate cluster IP/probe and floating-IP settings with the topology's procedure. Do not copy the same settings to a multi-subnet or DNN design. Verify synchronized/healthy replicas, the probe on the current owner and an SAP database connection **through the listener name**; test planned failover and reconnection in an authorized nonproduction system. A node-local SQL connection bypasses the listener under test.\n\nOne documented storage-level pattern is **Windows ASCS/SCS with SIOS DataKeeper Cluster Edition**. Attach the corresponding supported volumes to both WSFC nodes, install the licensed product on both, connect the source and target nodes in its configuration tool and create a mirror for the intended volume. Select **synchronous** replication for this ASCS/SCS pattern, expose the replicated volume as a cluster disk and verify both an active mirroring job and the expected WSFC disk resource/owner. The [infrastructure procedure](https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-infrastructure-wsfc-shared-disk) and [supported shared-disk choices](https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-guide-wsfc-shared-disk) separate replicated local disks from Azure shared managed disks. Validate current OS/product/support terms, including SIOS support, before selecting it. Test controlled ownership/failover and resynchronization without allowing an independent second writer. This is not SQL AG's database-native replication or an independent backup. No cluster, listener or replication product was configured, licensed or failed over for this review.",
          "source_keys": [
            "sap-sql",
            "sap-sql-tutorial",
            "sap-storage-replication",
            "sap-replicated-disk-support"
          ],
          "reason": "Provide meaningful SQL/LB/storage implementation order while maintaining topology-specific support limits.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "sap-sql",
              "opened_url": "https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/sap/dbms_guide_sqlserver",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/dbms-guide-sqlserver",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sql.html",
              "raw_sha256": "81dbc3282ed54a4ef1273120645f11eea04d936dee4059e91e7891923522a398",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sql.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "sap-sql-tutorial",
              "opened_url": "https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-tutorial-single-subnet",
              "final_url": "https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-tutorial-single-subnet?view=azuresql",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sql-tutorial.html",
              "raw_sha256": "45be2b6e45b6e645a69a94824f5a0b3811659947f45e1d94df629d2bfc809650",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-sql-tutorial.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "sap-storage-replication",
              "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-infrastructure-wsfc-shared-disk",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-infrastructure-wsfc-shared-disk",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-storage-replication.html",
              "raw_sha256": "ed7708fde6d457e7fd180199f55f29c99355cac8093440fc820655aee0ff4eb1",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-storage-replication.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "sap-replicated-disk-support",
              "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-guide-wsfc-shared-disk",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-guide-wsfc-shared-disk",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-replicated-disk-support.html",
              "raw_sha256": "dff33bb7acc1d0e1dafefc27191afaa1a9f7ae7021cfb23a1a3c22ed65ba0756",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-replicated-disk-support.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-sap-sql-tutorial",
              "title": "Tutorial: Manually configure an availability group - SQL Server on Azure VMs",
              "url": "https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-tutorial-single-subnet",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-sap-replicated-disk-support",
              "title": "Cluster an SAP ASCS/SCS instance on a Windows failover cluster by using a shared disk in Azure",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-guide-wsfc-shared-disk",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-sap-storage-replication",
              "title": "Prepare the Azure infrastructure for SAP HA by using a Windows failover cluster and shared disk for SAP ASCS/SCS",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-infrastructure-wsfc-shared-disk",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-sap-sql",
              "title": "SQL Server Azure Virtual Machines DBMS deployment for SAP NetWeaver",
              "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/sap/dbms_guide_sqlserver",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [
            {
              "source_id": "az-120-ha-architecture",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-architecture-scenarios",
              "append_supported_exams": [
                "AZ-120"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az120-restore-build",
          "exam_code": "AZ-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AZ-120-8.7"
          ],
          "old_text": "### Backup and restore\n\nBack up all required layers and catalogs. Database-consistent backups are different from VM crash-consistent recovery points. For HANA, Azure Backup integrates through Backint and supports documented HANA/HSR scenarios; the [HANA backup guidance](https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-with-hana-system-replication-backup) is the current source for topology and vault limitations.\n\nFor each policy define:\n\n- full/differential/incremental/log or snapshot behavior;\n- frequency, retention, immutable or soft-delete controls;\n- vault region/subscription and administrative separation;\n- encryption-key and catalog recovery;\n- restore target prerequisites and network access;\n- evidence from scheduled restore tests.\n\nA green backup job proves collection, not recoverability. Measure restore throughput and full application validation time.\n\n#### HSR backup: identify the protection model first\n\nThe [native HSR backup procedure](https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-with-hana-system-replication-backup) and [backup architecture](https://learn.microsoft.com/en-us/azure/backup/azure-backup-architecture-for-sap-hana-backup) describe registering both nodes in the same vault with the same HSR identity and protecting a logical backup item. The service follows the primary. HANA user-store keys are not replicated, so validate the required keys on every possible primary. A broken log sequence can trigger a remedial full backup; it is not evidence of uninterrupted point-in-time recovery.\n\n**Open documentation conflict:** the [SAP HANA backup FAQ](https://learn.microsoft.com/en-us/azure/backup/sap-hana-faq-backup-azure-vm) also describes manually stopping protection on a secondary and resuming it after promotion. Its applicability to the native logical HSR model is not made clear. Keep these procedures separate; confirm the protection model and supported transition with Microsoft before executing the affected node-level recipe. This review records the conflict rather than assuming either procedure applies to every HSR deployment.\n\nFor [HANA instance snapshots](https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-instances-backup), distinguish **Standard (GA)** from **Enhanced (preview)**; current HSR snapshot support requires Enhanced. Protect every database with the documented weekly-full-plus-log Backint policy before adding daily instance snapshots. Do not add streaming differential/incremental backups to that specific configuration. A snapshot supplies a baseline; separately backed-up logs still supply replay. HSR snapshots cover the documented data/log volumes, not `/hana/shared`, so include shared files and other dependencies in the wider recovery plan. Verify snapshot permissions on both possible primaries. Preview availability and vault features must be checked for the exact region/configuration, and a successful snapshot job still needs a restore drill.",
          "replacement_markdown": "### Backup and restore\n\nBack up all required layers and catalogs. Database-consistent backups are different from VM crash-consistent recovery points. For HANA, Azure Backup integrates through Backint and supports documented HANA/HSR scenarios; the [HANA backup guidance](https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-with-hana-system-replication-backup) is the current source for topology and vault limitations.\n\nFor each policy define:\n\n- full/differential/incremental/log or snapshot behavior;\n- frequency, retention, immutable or soft-delete controls;\n- vault region/subscription and administrative separation;\n- encryption-key and catalog recovery;\n- restore target prerequisites and network access;\n- evidence from scheduled restore tests.\n\nA green backup job proves collection, not recoverability. Measure restore throughput and full application validation time.\n\n#### HSR backup: identify the protection model first\n\nThe [native HSR backup procedure](https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-with-hana-system-replication-backup) and [backup architecture](https://learn.microsoft.com/en-us/azure/backup/azure-backup-architecture-for-sap-hana-backup) describe registering both nodes in the same vault with the same HSR identity and protecting a logical backup item. The service follows the primary. HANA user-store keys are not replicated, so validate the required keys on every possible primary. A broken log sequence can trigger a remedial full backup; it is not evidence of uninterrupted point-in-time recovery.\n\n**Open documentation conflict:** the [SAP HANA backup FAQ](https://learn.microsoft.com/en-us/azure/backup/sap-hana-faq-backup-azure-vm) also describes manually stopping protection on a secondary and resuming it after promotion. Its applicability to the native logical HSR model is not made clear. Keep these procedures separate; confirm the protection model and supported transition with Microsoft before executing the affected node-level recipe. This review records the conflict rather than assuming either procedure applies to every HSR deployment.\n\nFor [HANA instance snapshots](https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-instances-backup), distinguish **Standard (GA)** from **Enhanced (preview)**; current HSR snapshot support requires Enhanced. Protect every database with the documented weekly-full-plus-log Backint policy before adding daily instance snapshots. Do not add streaming differential/incremental backups to that specific configuration. A snapshot supplies a baseline; separately backed-up logs still supply replay. HSR snapshots cover the documented data/log volumes, not `/hana/shared`, so include shared files and other dependencies in the wider recovery plan. Verify snapshot permissions on both possible primaries. Preview availability and vault features must be checked for the exact region/configuration, and a successful snapshot job still needs a restore drill.\n\n#### Worked restore plan — recover a copy before overwriting anything\n\nChoose a verified recovery point that meets the requested transaction time and has a continuous replay chain. Select the protected database, choose alternate-location recovery for an isolated copy and enter the target host, instance and restored database name. The target must meet the documented same-region/same-vault and backup-readiness requirements. Check roles, keys, capacity, network and name/collision handling before submission; do not select overwrite merely to bypass an existing name. Inspect the job through completion, check database consistency and run an isolated SAP/business validation. [HANA restore guidance](https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-restore) distinguishes original, alternate and file paths. HSR restores have additional standalone-target restrictions; do not restore directly into an active HSR relationship.\n\nRecord the chosen recovery point, actual restored database, elapsed phases and usable last transaction. Compare achieved RPO/RTO with the requirement rather than using job success as acceptance. Remove only the authorized test copy after retaining evidence. For HSR, first resolve the protection-model/FAQ applicability question above; this general isolated-restore workflow does not authorize the disputed secondary stop/resume recipe. No restore was executed here.",
          "source_keys": [
            "sap-hana-restore"
          ],
          "reason": "Give a concrete recover-copy/check/accept workflow, preserving HSR applicability blocker.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "sap-hana-restore",
              "opened_url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-db-restore",
              "final_url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-restore",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-hana-restore.html",
              "raw_sha256": "b41e11fb6e5e4e37515469b26ae0ce189c59ba78a2d173cd8bf29eaef3b577ad",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-hana-restore.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-sap-hana-restore",
              "title": "Restore SAP HANA databases on Azure VMs using Azure portal",
              "url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-restore",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-120"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az120-lama-build",
          "exam_code": "AZ-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AZ-120-10.9"
          ],
          "old_text": "### Start, stop and landscape automation\n\nStart and stop in dependency order. A simplified stop sequence moves from entry points and jobs through application servers and central services to the database; start usually reverses it, with validation gates. Actual sequences depend on the SAP design.\n\n[SAP LaMa’s Azure connector](https://learn.microsoft.com/en-us/azure/sap/workloads/lama-installation) can use an Azure service principal or managed identity to manage permitted resources. Prefer managed identities when supported, constrain RBAC scope, protect against concurrent automation and test storage-tier or VM lifecycle actions.",
          "replacement_markdown": "### Start, stop and landscape automation\n\nStart and stop in dependency order. A simplified stop sequence moves from entry points and jobs through application servers and central services to the database; start usually reverses it, with validation gates. Actual sequences depend on the SAP design.\n\n[SAP LaMa’s Azure connector](https://learn.microsoft.com/en-us/azure/sap/workloads/lama-installation) can use an Azure service principal or managed identity to manage permitted resources. Prefer managed identities when supported, constrain RBAC scope, protect against concurrent automation and test storage-tier or VM lifecycle actions.\n\n#### Worked connector setup — scoped discovery before lifecycle action\n\nConfirm the supported SAP LaMa Enterprise Edition/version and adaptive-host prerequisites. If LaMa runs on an eligible Azure VM, enable its approved managed identity and grant the documented resource-group permissions only for the SAP resources it must manage. In LaMa, add a **Microsoft Azure Cloud Adapter** under Infrastructure/Cloud Managers; enter subscription/tenant, endpoint and identity settings, then use **Test Configuration**. The [LaMa connector procedure](https://learn.microsoft.com/en-us/azure/sap/workloads/lama-installation) distinguishes system-assigned, user-assigned and service-principal fields.\n\nCompare discovered resource groups with the intended authorization scope before attempting a lifecycle operation. Leave optional disk-type changes disabled until storage/performance/recovery implications are approved. In a disposable nonproduction system, plan one supported stop/start transaction, checking SAP dependency order, mount state, VM allocation and subsequent health. A successful API connection proves neither SAP consistency nor least privilege. Retain the connector configuration without secrets, test evidence and a removal plan for identity/role assignments when retired; no LaMa or Azure action occurred during this review.",
          "source_keys": [
            "sap-lama"
          ],
          "reason": "Provide connector construction and scoped acceptance rather than identity advice alone.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "sap-lama",
              "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/lama-installation",
              "final_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/lama-installation",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-lama.html",
              "raw_sha256": "d23dc3645085a1d826e2212deb19ed9bbe3567df7f0f49ca1e2d8ad557261bfd",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-sap-lama.txt",
              "source_matches": [
                "az-120-lama-connector"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [
            {
              "source_id": "az-120-lama-connector",
              "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/lama-installation",
              "append_supported_exams": [
                "AZ-120"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "mo110-document-production",
          "exam_code": "MO-110",
          "guide_path": "guides/MO-110-microsoft-word-microsoft-365-apps.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "MO-110-2.1",
            "MO-110-2.3",
            "MO-110-2.4",
            "MO-110-3.1",
            "MO-110-3.2",
            "MO-110-3.3",
            "MO-110-3.4",
            "MO-110-4.2"
          ],
          "old_text": "## 1. Manage documents\n\nKnow Save As, export to PDF, print settings, document properties, page setup, views, zoom, Navigation pane, and find/replace. Inspect compatibility and accessibility before delivery. Restrict editing only after confirming what collaborators still need to do, and never treat a password as a substitute for an authorized storage boundary.\n\nHeaders, footers, page numbers, margins, orientation, and page size affect the whole document unless sections divide the layout. A page break starts a page; a section break can change headers, numbering, columns, margins, or orientation. Reveal formatting marks when the result seems inexplicable.\n\n> **Related item:** A document can look correct on screen and still fail in PDF or print. Always check page boundaries, repeated headings, image movement, hidden markup, and metadata in the delivered format.\n\nFor precise navigation, use Find for matching text, the Navigation pane for styled headings, and Go To for a page, section or object. A bookmark names a destination; an internal hyperlink takes the reader there. Test the destination after moving content. Show hidden text and paragraph marks when diagnosing layout; their visibility is a display choice, not removal.\n\nA style set coordinates the document's styles; individual style changes affect paragraphs using that style. Page color, borders and watermarks are document-background choices: inspect their appearance in the required output. Save a separate copy before converting formats, and use the Compatibility Checker when a recipient needs an older format.\n\n[Document Inspector](https://support.microsoft.com/en-us/office/collab-files/remove-hidden-data-and-personal-information-by-inspecting-documents-presentations-or-workbooks) should run on a delivery copy. Select removal categories deliberately: removing headers can also remove required page numbers. It does not find every visually concealed item, including white-on-white text or an object hidden behind another object. Inspect the visible output too; a clean report is not proof of confidentiality.",
          "replacement_markdown": "## 1. Manage documents\n\nKnow Save As, export to PDF, print settings, document properties, page setup, views, zoom, Navigation pane, and find/replace. Inspect compatibility and accessibility before delivery. Restrict editing only after confirming what collaborators still need to do, and never treat a password as a substitute for an authorized storage boundary.\n\nHeaders, footers, page numbers, margins, orientation, and page size affect the whole document unless sections divide the layout. A page break starts a page; a section break can change headers, numbering, columns, margins, or orientation. Reveal formatting marks when the result seems inexplicable.\n\n> **Related item:** A document can look correct on screen and still fail in PDF or print. Always check page boundaries, repeated headings, image movement, hidden markup, and metadata in the delivered format.\n\nFor precise navigation, use Find for matching text, the Navigation pane for styled headings, and Go To for a page, section or object. A bookmark names a destination; an internal hyperlink takes the reader there. Test the destination after moving content. Show hidden text and paragraph marks when diagnosing layout; their visibility is a display choice, not removal.\n\nA style set coordinates the document's styles; individual style changes affect paragraphs using that style. Page color, borders and watermarks are document-background choices: inspect their appearance in the required output. Save a separate copy before converting formats, and use the Compatibility Checker when a recipient needs an older format.\n\n[Document Inspector](https://support.microsoft.com/en-us/office/collab-files/remove-hidden-data-and-personal-information-by-inspecting-documents-presentations-or-workbooks) should run on a delivery copy. Select removal categories deliberately: removing headers can also remove required page numbers. It does not find every visually concealed item, including white-on-white text or an object hidden behind another object. Inspect the visible output too; a clean report is not proof of confidentiality.\n\n### Worked production — prepare two distinct deliverables\n\nUse a local practice copy of a three-page proposal. In Windows desktop Word, choose Layout > Margins and enter the brief's custom margins; set its required paper size/orientation and inspect every section before continuing. In Insert > Header or Footer, choose an editable header, enter the proposal title and add the required document information; inspect section linkage and close header/footer editing. Add a restrained page border through Design > Page Borders and check the preview. [Margins](https://support.microsoft.com/en-us/word/training/change-margins), [header/footer fields](https://support.microsoft.com/en-au/word/add-the-file-name-date-author-or-other-word-document-properties-to-a-header-or-footer) and [border troubleshooting](https://support.microsoft.com/en-us/word/why-aren-t-page-borders-printing) distinguish the settings from their printed result. A printer's minimum margin can clip a border that appears on screen.\n\nOpen File > Info and modify the **Title** property to match the brief; distinguish this editable metadata from the file name and automatically maintained statistics. Save, close and reopen to verify it. The [Office properties reference](https://support.microsoft.com/en-US/Office/collab-files/view-or-change-the-properties-for-an-office-file) explains those property classes. Use Save As to preserve an editable `.docx` source and save/export a separate PDF copy. Open the PDF independently and compare headings, page numbers, table breaks and image placement; see [Word's basic file tasks](https://support.microsoft.com/en-us/word/basic-tasks-in-word).\n\nIn File > Print, select the intended printer, page range, copy count and markup setting, then preview the selected pages before printing. If the brief requests pages 1 and 3 without review markup, a three-page all-pages preview with comments is the wrong result. [Windows printing guidance](https://support.microsoft.com/en-us/word/print-a-document-in-word) documents page selection and markup separately. A PDF export and a print-job selection are distinct outputs.\n\nRun Review > Check Accessibility. Select a reported item, navigate to the affected object and apply a meaningful correction, such as replacing an unhelpful image description with its purpose in this proposal. Recheck the finding and inspect reading order and contrast yourself; the [Accessibility Checker procedure](https://support.microsoft.com/en-US/Accessibility/office-accessibility/improve-accessibility-with-the-accessibility-checker) is a finding-and-repair workflow, not a certificate of accessibility.\n\nFor electronic collaboration, save the authorized test copy to OneDrive, choose Share, name the intended test recipient and select view/edit permissions before creating the link. Verify access as that recipient and check that a viewer cannot edit. Sending an attachment creates another copy; sharing a cloud link points to the shared document. Use the [Windows sharing steps](https://support.microsoft.com/en-us/word/training/share-a-document), with current organizational policy. **VERIFY CURRENT:** UI, cloud permissions and testing-center platform; use synthetic content and authorized test accounts. These are proposed exercises: no Word, print, cloud sharing or email operation was performed for this review.",
          "source_keys": [
            "word-margins",
            "word-header",
            "word-borders",
            "word-properties",
            "word-basic",
            "word-print",
            "word-accessibility",
            "word-share"
          ],
          "reason": "Turn named production features into an original sequence with saved artifacts, deliberate output and denied-permission checks.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "word-margins",
              "opened_url": "https://support.microsoft.com/en-us/word/training/change-margins",
              "final_url": "https://support.microsoft.com/en-us/word/training/change-margins",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-margins.html",
              "raw_sha256": "57aa863d0f3e6eeebbe0cc5b0f8f41c87b741851c3b7a6ca788400f44fb12655",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-margins.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "word-header",
              "opened_url": "https://support.microsoft.com/en-au/word/add-the-file-name-date-author-or-other-word-document-properties-to-a-header-or-footer",
              "final_url": "https://support.microsoft.com/en-au/word/add-the-file-name-date-author-or-other-word-document-properties-to-a-header-or-footer",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-header.html",
              "raw_sha256": "3c65687dd4ef4f789e0a26a558d1a29a9811b18165dea7018054a84e7dbdbb2a",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-header.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "word-borders",
              "opened_url": "https://support.microsoft.com/en-us/word/why-aren-t-page-borders-printing",
              "final_url": "https://support.microsoft.com/en-us/word/why-aren-t-page-borders-printing",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-borders.html",
              "raw_sha256": "d9591c40a6e7b7d1d237a38bc7df550d9b49ed156aa74ae7db4cb8b721561d55",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-borders.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "word-properties",
              "opened_url": "https://support.microsoft.com/en-US/Office/collab-files/view-or-change-the-properties-for-an-office-file",
              "final_url": "https://support.microsoft.com/en-us/office/collab-files/view-or-change-the-properties-for-an-office-file",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-properties.html",
              "raw_sha256": "9554ff27a319ed9fdb99938fcd7d54f0cb2caf02dc3bf1b9635acf6b6fe9b572",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-properties.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "word-basic",
              "opened_url": "https://support.microsoft.com/en-us/word/basic-tasks-in-word",
              "final_url": "https://support.microsoft.com/en-us/word/basic-tasks-in-word",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-basic.html",
              "raw_sha256": "da2526429dcdc7619ef9282afbb8655cfda23b7436232eebb790ca11ef35e6fd",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-basic.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "word-print",
              "opened_url": "https://support.microsoft.com/en-us/word/print-a-document-in-word",
              "final_url": "https://support.microsoft.com/en-us/word/print-a-document-in-word",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-print.html",
              "raw_sha256": "a803392f8a3416f024a11f8d9eb6939867e40a075e2b74242dad236553cfd4fd",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-print.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "word-accessibility",
              "opened_url": "https://support.microsoft.com/en-US/Accessibility/office-accessibility/improve-accessibility-with-the-accessibility-checker",
              "final_url": "https://support.microsoft.com/en-us/accessibility/office-accessibility/improve-accessibility-with-the-accessibility-checker",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-accessibility.html",
              "raw_sha256": "895cad23cd9d4fd8e15cd3e364e51b354d4156ea5e1b62b19b7d99e6121fdc47",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-accessibility.txt",
              "source_matches": [],
              "candidate_matches": []
            },
            {
              "key": "word-share",
              "opened_url": "https://support.microsoft.com/en-us/word/training/share-a-document",
              "final_url": "https://support.microsoft.com/en-us/word/training/share-a-document",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-share.html",
              "raw_sha256": "40e96b6762b304e2c4c8d32577136833c72d4931f3855bc2e647aabe744134f7",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-share.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-word-accessibility",
              "title": "Improve accessibility with the Accessibility Checker",
              "url": "https://support.microsoft.com/en-US/Accessibility/office-accessibility/improve-accessibility-with-the-accessibility-checker",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "MO-110"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-word-properties",
              "title": "View or change the properties for an Office file",
              "url": "https://support.microsoft.com/en-US/Office/collab-files/view-or-change-the-properties-for-an-office-file",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "MO-110"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-word-header",
              "title": "Add the file name, date, author or other Word document properties to a header or footer",
              "url": "https://support.microsoft.com/en-au/word/add-the-file-name-date-author-or-other-word-document-properties-to-a-header-or-footer",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "MO-110"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-word-basic",
              "title": "Basic tasks in Word",
              "url": "https://support.microsoft.com/en-us/word/basic-tasks-in-word",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "MO-110"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-word-print",
              "title": "Print a document in Word for Windows",
              "url": "https://support.microsoft.com/en-us/word/print-a-document-in-word",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "MO-110"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-word-margins",
              "title": "Change margins",
              "url": "https://support.microsoft.com/en-us/word/training/change-margins",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "MO-110"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-word-share",
              "title": "Share a document",
              "url": "https://support.microsoft.com/en-us/word/training/share-a-document",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "MO-110"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            },
            {
              "id": "group05-word-borders",
              "title": "Why aren't page borders printing?",
              "url": "https://support.microsoft.com/en-us/word/why-aren-t-page-borders-printing",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "MO-110"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "mo110-table-construction",
          "exam_code": "MO-110",
          "guide_path": "guides/MO-110-microsoft-word-microsoft-365-apps.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "MO-110-8.3",
            "MO-110-9.1"
          ],
          "old_text": "## 3. Tables and lists\n\nCreate tables from scratch or delimited text; insert/delete rows and columns; merge/split cells; set alignment, margins, height, width, AutoFit, borders, shading, and repeating header rows. Sorting a table depends on the correct header and data type. Converting between text and a table depends on a delimiter that does not also occur inside the data.\n\nFor lists, distinguish bullets, numbering, and multilevel lists. Continue or restart numbering intentionally. Link heading levels to a multilevel list when the document needs durable outline numbering; manual numbers become wrong as content moves.\n\nSplitting a table creates a separate table; splitting a cell subdivides a cell inside it. Cell margins control the inset between content and its border, while cell spacing separates cells. After merging cells, recheck row structure before sorting. Custom list symbols and number formats should use a consistent definition; changing a list level is different from adding spaces before its text.\n\nFor [repeating table headers](https://support.microsoft.com/en-us/word/repeat-table-header-on-subsequent-pages), select rows beginning with the table's first row. Verify in Print Layout or print output. Repetition works across automatic page breaks; a manually inserted page break inside the table prevents the expected repetition. Edit the original header rather than trying to edit its repeated display.",
          "replacement_markdown": "## 3. Tables and lists\n\nCreate tables from scratch or delimited text; insert/delete rows and columns; merge/split cells; set alignment, margins, height, width, AutoFit, borders, shading, and repeating header rows. Sorting a table depends on the correct header and data type. Converting between text and a table depends on a delimiter that does not also occur inside the data.\n\nFor lists, distinguish bullets, numbering, and multilevel lists. Continue or restart numbering intentionally. Link heading levels to a multilevel list when the document needs durable outline numbering; manual numbers become wrong as content moves.\n\nSplitting a table creates a separate table; splitting a cell subdivides a cell inside it. Cell margins control the inset between content and its border, while cell spacing separates cells. After merging cells, recheck row structure before sorting. Custom list symbols and number formats should use a consistent definition; changing a list level is different from adding spaces before its text.\n\nFor [repeating table headers](https://support.microsoft.com/en-us/word/repeat-table-header-on-subsequent-pages), select rows beginning with the table's first row. Verify in Print Layout or print output. Repetition works across automatic page breaks; a manually inserted page break inside the table prevents the expected repetition. Edit the original header rather than trying to edit its repeated display.\n\n### Worked build — a table with a predictable shape\n\nInsert a blank **three-column, four-row** table: one header row and three inventory records. Use Insert > Table and choose the row/column counts, using the dialog for dimensions beyond the visible grid. Enter headings for Item, Quantity and Location; enter each record in its own row rather than inserting paragraphs to imitate rows. The [table insertion procedure](https://support.microsoft.com/en-gb/word/training/insert-a-table) distinguishes a selected grid from an explicit dimension dialog. Verify twelve cells before any merges, then sort the three data rows by Item with the header identified. Check that every quantity remains with its original item. Save a separate copy before experimenting with merges/splits or text conversion. This is a proposed desktop exercise, not an observed file result.",
          "source_keys": [
            "word-table"
          ],
          "reason": "Provide concrete dimensions/native construction and row-integrity evidence.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "word-table",
              "opened_url": "https://support.microsoft.com/en-gb/word/training/insert-a-table",
              "final_url": "https://support.microsoft.com/en-gb/word/training/insert-a-table",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-table.html",
              "raw_sha256": "312191615a4d0e94ed58838316a03cfd4bbec54d4ba03d00b8b19648ddbdf53c",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-word-table.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-word-table",
              "title": "Insert a table",
              "url": "https://support.microsoft.com/en-gb/word/training/insert-a-table",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "MO-110"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az802-wac-alert-workflow",
          "exam_code": "AZ-802",
          "guide_path": "guides/AZ-802-administering-windows-server.md",
          "kind": "worked-depth-repair",
          "affected_objective_ids": [
            "AZ-802-16.3",
            "AZ-802-16.6",
            "AZ-802-16.7"
          ],
          "old_text": "### Use Windows Admin Center, System Insights, and event logs\n\nWindows Admin Center exposes server/cluster events, performance, processes, services, storage, networking, updates, security, PowerShell, and Azure integrations. Protect the gateway and effective target permissions. Use the PowerShell it generates to understand actions rather than treating the UI as the source of truth.\n\nSystem Insights runs local predictive capabilities on Windows Server 2019 and later for CPU, network, total storage, and volume capacity, with results in event logs and management through WAC/PowerShell. Configure each capability, gather history, and route useful events. Forecasts can be invalidated by seasonality or architecture/workload change.\n\nManage event-log size, overwrite/retention, channel enablement, audit policy, forwarding, access, and archival. Event ID is meaningful only with provider/channel/machine/time/activity/message. Preserve the relevant interval before it wraps and never clear logs as a generic repair.",
          "replacement_markdown": "### Use Windows Admin Center, System Insights, and event logs\n\nWindows Admin Center exposes server/cluster events, performance, processes, services, storage, networking, updates, security, PowerShell, and Azure integrations. Protect the gateway and effective target permissions. Use the PowerShell it generates to understand actions rather than treating the UI as the source of truth.\n\nSystem Insights runs local predictive capabilities on Windows Server 2019 and later for CPU, network, total storage, and volume capacity, with results in event logs and management through WAC/PowerShell. Configure each capability, gather history, and route useful events. Forecasts can be invalidated by seasonality or architecture/workload change.\n\nManage event-log size, overwrite/retention, channel enablement, audit policy, forwarding, access, and archival. Event ID is meaningful only with provider/channel/machine/time/activity/message. Preserve the relevant interval before it wraps and never clear logs as a generic repair.\n\n#### Worked monitoring path — from WAC observation to a delivered alert\n\nSelect the target server connection in WAC and observe its performance/events while reproducing a harmless test workload. Record the target, timestamp and actual counter/event. For durable alerting, the [WAC Azure Monitor article](https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/azure/azure-monitor) describes Tools > Azure Monitor > Alerts and actions > Configure monitoring and alerts from the Azure portal. **VERIFY CURRENT — documentation conflict:** that article's 2023 onboarding body still installs retired MMA/Automation Update Management and describes Service Map. Do not use those legacy onboarding instructions for a new design. Verify the current WAC extension/UI; an exact current WAC automatic-onboarding contract remains unconfirmed in this review.\n\nUse the supported AMA/DCR path described below to associate the intended server and collect the chosen signal. In Azure Monitor, create an alert scoped to the correct resource/workspace, define its signal/query, threshold, evaluation window and action group, then generate a controlled test condition. Confirm both the alert instance and delivery to the authorized test action; return to WAC to compare host state with the same interval. An illustrative sustained-CPU threshold is a study choice, not a universal health rule. If the WAC integration link is absent, use the Azure portal directly and record the UI limitation. Inspect silence in collection, rule evaluation and action delivery separately. Delete the test alert/association only after retaining evidence. No WAC, agent, Azure service or notification was executed here.",
          "source_keys": [
            "wac-alerts"
          ],
          "reason": "Make WAC alert route teachable while exposing stale first-party onboarding and preserving current AMA boundary.",
          "confidence": "Confirmed source-supported workflow; example and expected checks are original, unexecuted",
          "execution": "No tenant/product/cloud/SAP/Office/SDK execution; expected checks only",
          "source_evidence": [
            {
              "key": "wac-alerts",
              "opened_url": "https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/azure/azure-monitor",
              "final_url": "https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/azure/azure-monitor",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-wac-alerts.html",
              "raw_sha256": "e9d7dbafd91231aeabc9472f967ea85fd34a988ae5fc972aa29545c15e8d6163",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-wac-alerts.txt",
              "source_matches": [],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [
            {
              "id": "group05-wac-alerts",
              "title": "Monitor servers and configure alerts with Azure Monitor from Windows Admin Center",
              "url": "https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/azure/azure-monitor",
              "publisher": "Microsoft",
              "authority_class": 2,
              "source_type": "official-reference",
              "access_model": "public",
              "last_checked": "2026-10-28",
              "supported_exams": [
                "AZ-802"
              ],
              "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
            }
          ],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-current-baseline",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "**Current baseline:** Official study guide last updated May 15, 2026; Microsoft does not publish a separate skills-effective date on this blueprint.",
          "replacement_markdown": "**Current baseline:** Official study guide last updated October 16, 2026; Microsoft does not publish a separate skills-effective date on this blueprint. The 48 detailed objectives match the accepted objective wording.",
          "source_keys": [
            "ab410-blueprint"
          ],
          "reason": "Current page metadata changed; not a new skills-effective date.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [
            {
              "key": "ab410-blueprint",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-blueprint.html",
              "raw_sha256": "f91383e6c8f565ed7b436be438ecf4078166c281ea24ddd304f1fc5601754908",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-blueprint.txt",
              "source_matches": [
                "ab-410-blueprint"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-languages",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "The 120-minute English exam and",
          "replacement_markdown": "The 120-minute exam, currently listed in 13 languages, and",
          "source_keys": [
            "ab410-credential"
          ],
          "reason": "Current credential language list exceeds English; duration still120min.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [
            {
              "key": "ab410-credential",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/intelligent-applications-builder-associate/",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/intelligent-applications-builder-associate/",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-credential.html",
              "raw_sha256": "fe2237ac290400b928385ba1867c4bfb16c26f32f6c6b6610ffafa670d63ff8e",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-credential.txt",
              "source_matches": [
                "ab-410-credential"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-practice",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "Microsoft explicitly says an official AB-410 Practice Assessment is **not currently available**.",
          "replacement_markdown": "**VERIFY CURRENT — checked October 28, 2026:** the [AB-410 study guide](https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410) and credential page now direct learners to the Practice Assessment on AI Skills Navigator, with sign-in required. Its public link establishes the announced access path; no signed-in questions, launch, count or performance was inspected. Allow about 1–2 hours for an initial diagnostic attempt and review, an editorial estimate.",
          "source_keys": [
            "ab410-blueprint",
            "ab410-credential"
          ],
          "reason": "Replace stale unavailability; do not claim signed-in assessment execution.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [
            {
              "key": "ab410-blueprint",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-blueprint.html",
              "raw_sha256": "f91383e6c8f565ed7b436be438ecf4078166c281ea24ddd304f1fc5601754908",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-blueprint.txt",
              "source_matches": [
                "ab-410-blueprint"
              ],
              "candidate_matches": []
            },
            {
              "key": "ab410-credential",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/intelligent-applications-builder-associate/",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/intelligent-applications-builder-associate/",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-credential.html",
              "raw_sha256": "fe2237ac290400b928385ba1867c4bfb16c26f32f6c6b6610ffafa670d63ff8e",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-credential.txt",
              "source_matches": [
                "ab-410-credential"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [
            {
              "source_id": "ab-410-blueprint",
              "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
              "append_supported_exams": [
                "AB-410"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az802-current-baseline",
          "exam_code": "AZ-802",
          "guide_path": "guides/AZ-802-administering-windows-server.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "**Current baseline:** Official study-guide page last updated July 6, 2026; Microsoft does not publish a separate “skills measured as of” date on that page.",
          "replacement_markdown": "**Current baseline:** Official study-guide page last updated October 19, 2026; Microsoft does not publish a separate “skills measured as of” date on that page. The 115 detailed objectives match the accepted objective wording.",
          "source_keys": [
            "az802-blueprint"
          ],
          "reason": "Current LastUpdated is metadata, not newly effective objectives.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [
            {
              "key": "az802-blueprint",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-blueprint.html",
              "raw_sha256": "e19e096e8d6eda6f29d7e811e365b1070351d4e7417f5e6c068977b8a9d33eea",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-blueprint.txt",
              "source_matches": [
                "az-800-az-802-replacement-blueprint"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az802-practice-conflict",
          "exam_code": "AZ-802",
          "guide_path": "guides/AZ-802-administering-windows-server.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "**Practice status:** Microsoft says an AZ-802 Practice Assessment is not currently available and is usually released within eight weeks after an exam leaves beta and becomes generally available.",
          "replacement_markdown": "**Practice status — VERIFY CURRENT, October 28, 2026:** the [AZ-802 study guide](https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802) now links a Practice Assessment on AI Skills Navigator, requiring sign-in, while the credential page still says it is unavailable. Treat this as a first-party publication discrepancy; check the exact exam-specific access path before planning an attempt. No signed-in launch or assessment content was inspected.",
          "source_keys": [
            "az802-blueprint",
            "az802-credential"
          ],
          "reason": "Both current official pages conflict; preserve both observations.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [
            {
              "key": "az802-blueprint",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-blueprint.html",
              "raw_sha256": "e19e096e8d6eda6f29d7e811e365b1070351d4e7417f5e6c068977b8a9d33eea",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-blueprint.txt",
              "source_matches": [
                "az-800-az-802-replacement-blueprint"
              ],
              "candidate_matches": []
            },
            {
              "key": "az802-credential",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.html",
              "raw_sha256": "1eeb53d594363c8a62033a3c3c5f4e34b98902477b23d3f6ff3631dc4d975ad8",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.txt",
              "source_matches": [
                "az-800-replacement-credential"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [
            {
              "source_id": "az-800-az-802-replacement-blueprint",
              "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
              "append_supported_exams": [
                "AZ-802"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az802-practice-resource",
          "exam_code": "AZ-802",
          "guide_path": "guides/AZ-802-administering-windows-server.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "Free; **AZ-802 not available at verification time** | Recheck periodically; later allow 1–2 hr per attempt plus remediation | Use once released to expose weak domains, not memorize wording",
          "replacement_markdown": "Free public catalog; current study guide links sign-in-required AI Skills Navigator while credential page says unavailable | Verify the exact access path; allow about 1–2 hr per diagnostic attempt plus remediation | Current access is disputed between official pages; no assessment content or launch inspected",
          "source_keys": [
            "az802-blueprint",
            "az802-credential"
          ],
          "reason": "Resource row must agree with explicit current conflict.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [
            {
              "key": "az802-blueprint",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-blueprint.html",
              "raw_sha256": "e19e096e8d6eda6f29d7e811e365b1070351d4e7417f5e6c068977b8a9d33eea",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-blueprint.txt",
              "source_matches": [
                "az-800-az-802-replacement-blueprint"
              ],
              "candidate_matches": []
            },
            {
              "key": "az802-credential",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.html",
              "raw_sha256": "1eeb53d594363c8a62033a3c3c5f4e34b98902477b23d3f6ff3631dc4d975ad8",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.txt",
              "source_matches": [
                "az-800-replacement-credential"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az802-transition-past",
          "exam_code": "AZ-802",
          "guide_path": "guides/AZ-802-administering-windows-server.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "AZ-800 and AZ-801 retire on **September 30, 2026, at 5:00 PM Central Standard Time**. Microsoft states that AZ-802 will remain as the available path after those exams retire.",
          "replacement_markdown": "AZ-800 and AZ-801 retired on **September 30, 2026**. The [credential page](https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/) identifies AZ-802 as the replacement exam.",
          "source_keys": [
            "az802-credential"
          ],
          "reason": "Retirement is past; current credential page directly supports replacement.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [
            {
              "key": "az802-credential",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.html",
              "raw_sha256": "1eeb53d594363c8a62033a3c3c5f4e34b98902477b23d3f6ff3631dc4d975ad8",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.txt",
              "source_matches": [
                "az-800-replacement-credential"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [
            {
              "source_id": "az-800-replacement-credential",
              "url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
              "append_supported_exams": [
                "AZ-802"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az802-transition-line",
          "exam_code": "AZ-802",
          "guide_path": "guides/AZ-802-administering-windows-server.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "**Certification transition:** AZ-800 and AZ-801 retire September 30, 2026 at 5:00 PM Central Standard Time; AZ-802 is the replacement path.",
          "replacement_markdown": "**Certification transition:** AZ-800 and AZ-801 retired September 30, 2026; AZ-802 is the replacement path.",
          "source_keys": [
            "az802-credential"
          ],
          "reason": "Align top-line transition with current date.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [
            {
              "key": "az802-credential",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.html",
              "raw_sha256": "1eeb53d594363c8a62033a3c3c5f4e34b98902477b23d3f6ff3631dc4d975ad8",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.txt",
              "source_matches": [
                "az-800-replacement-credential"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "az802-legacy-resource-tense",
          "exam_code": "AZ-802",
          "guide_path": "guides/AZ-802-administering-windows-server.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "AZ-800 and AZ-801 retire on September 30, 2026. Their material",
          "replacement_markdown": "AZ-800 and AZ-801 retired on September 30, 2026. Their material",
          "source_keys": [
            "az802-credential"
          ],
          "reason": "Legacy resource context is now historical.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [
            {
              "key": "az802-credential",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.html",
              "raw_sha256": "1eeb53d594363c8a62033a3c3c5f4e34b98902477b23d3f6ff3631dc4d975ad8",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-az802-credential.txt",
              "source_matches": [
                "az-800-replacement-credential"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-teams-deprecation",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "- Use Dataverse for Teams only when its Teams-coupled scope and reduced administration/security customization fit.",
          "replacement_markdown": "- For new Teams-integrated work, choose an appropriate full Dataverse environment and add the app to Teams. **VERIFY CURRENT — October 28, 2026:** the [Power Platform deprecation ledger](https://learn.microsoft.com/en-us/power-platform/important-changes-coming) ends creation of new Dataverse for Teams environments on **November 15, 2026**. Existing environments that remain unupgraded are suspended **September 15, 2027** and decommissioned **October 30, 2027**. Inventory existing apps/data and plan an upgrade or supported move, including capacity and user licensing, before the applicable cutoff.",
          "source_keys": [
            "technical-power-platform-deprecations"
          ],
          "reason": "Reconcile the technical researcher finding; this is product lifecycle, not an objective change.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [
            {
              "key": "technical-power-platform-deprecations",
              "opened_url": "https://learn.microsoft.com/en-us/power-platform/important-changes-coming",
              "final_url": "https://learn.microsoft.com/en-us/power-platform/important-changes-coming",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-power-platform-deprecations.html",
              "raw_sha256": "5aebcd2b2a57db1fecc1bebd3aa484f97227785d52f0a86bc5ffed69aef9b4a5",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-power-platform-deprecations.txt",
              "text_sha256": "b539d9ca0c5d3d7b4ad26cbe8360bed5645df663ed0df859d723cb09d08dd8d6",
              "chars": 104474,
              "checked_at": "2026-10-28",
              "affected_exams": [
                "AB-410"
              ],
              "read_scope": "Complete Dataverse for Teams deprecation section, including phased timeline, unaffected assets, admin/maker actions and FAQ; raw HTML heading/sibling section inspected. Other ledger sections not comprehensively read.",
              "observations": "Dataverse for Teams creation ends November 15, 2026; existing unupgraded environments suspend September 15, 2027 and decommission October 30, 2027. New work should use full Dataverse; review capacity/licenses before an upgrade. Teams assets outside that environment are unaffected.",
              "confidence": "Confirmed",
              "limits": "Lifecycle notice is product evidence, not an exam-objective change. Upgrade not executed.",
              "source_catalog_matches": [
                "power-platform-important-changes"
              ],
              "candidate_matches": [],
              "body_reviewed": true,
              "source_matches": [
                "power-platform-important-changes"
              ]
            }
          ],
          "new_source_objects": [],
          "source_updates": [
            {
              "source_id": "power-platform-important-changes",
              "url": "https://learn.microsoft.com/en-us/power-platform/important-changes-coming",
              "append_supported_exams": [
                "AB-410"
              ],
              "last_checked": "2026-10-28",
              "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
            }
          ],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-resource-baseline",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "Reconcile every exam-labeled resource with the May 15, 2026 official blueprint before investing time or money.",
          "replacement_markdown": "Reconcile every exam-labeled resource with the current official blueprint before investing time or money; the October 16 page update does not publish a new skills-effective date.",
          "source_keys": [
            "ab410-blueprint"
          ],
          "reason": "Do not retain an old page metadata date as the current resource-alignment baseline.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [
            {
              "key": "ab410-blueprint",
              "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
              "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
              "status": 200,
              "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-blueprint.html",
              "raw_sha256": "f91383e6c8f565ed7b436be438ecf4078166c281ea24ddd304f1fc5601754908",
              "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-ab410-blueprint.txt",
              "source_matches": [
                "ab-410-blueprint"
              ],
              "candidate_matches": []
            }
          ],
          "new_source_objects": [],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        },
        {
          "id": "ab410-historical-count-boundary",
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "kind": "currency-or-evidence-repair",
          "affected_objective_ids": [],
          "old_text": "This guide now has six worked examples, ten labs and 48 answered checks. Validation used offline arithmetic, sets and synthetic records; no tenant, flow, Power Fx runtime, model, deployment or paid lesson was executed.",
          "replacement_markdown": "That September 28 review introduced six worked examples, ten labs and 48 answered checks. Its validation used offline arithmetic, sets and synthetic records. The October 28 worked additions are source-based proposed workflows; no tenant, flow, Power Fx runtime, model, deployment or paid lesson was executed for this refresh.",
          "source_keys": [],
          "reason": "Preserve dated prior evidence and avoid making its six-example count a current guide inventory.",
          "confidence": "Confirmed public-source observation",
          "execution": "Public-source reading only",
          "source_evidence": [],
          "new_source_objects": [],
          "source_updates": [],
          "source_and_candidate_match_limit": "Preliminary catalog/candidate binding before group-05 freeze; coordinator must reconcile current frozen catalogs after group-04 CI."
        }
      ],
      "new_source_objects": [
        {
          "id": "group05-ab410-model-flow",
          "title": "Use the text recognition prebuilt model in Power Automate",
          "url": "https://learn.microsoft.com/en-us/ai-builder/flow-text-recognition",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-410"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-ab410-model-app",
          "title": "Use the text recognizer component in Power Apps",
          "url": "https://learn.microsoft.com/en-us/ai-builder/prebuilt-text-recognizer-component-in-powerapps",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-410"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-anf-create",
          "title": "Deploy volumes for the first SAP HANA host using application volume group for SAP HANA",
          "url": "https://learn.microsoft.com/en-us/azure/azure-netapp-files/application-volume-group-deploy-first-host",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-sql-tutorial",
          "title": "Tutorial: Manually configure an availability group - SQL Server on Azure VMs",
          "url": "https://learn.microsoft.com/en-us/azure/azure-sql/virtual-machines/windows/availability-group-manually-configure-tutorial-single-subnet",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-hana-restore",
          "title": "Restore SAP HANA databases on Azure VMs using Azure portal",
          "url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-restore",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-policy-assignment",
          "title": "Quickstart: Create a policy assignment to identify non-compliant resources using Azure portal",
          "url": "https://learn.microsoft.com/en-us/azure/governance/policy/assign-policy-portal",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-acss-deploy",
          "title": "Deploy S/4HANA infrastructure with Azure Center for SAP solutions",
          "url": "https://learn.microsoft.com/en-us/azure/sap/center-sap-solutions/deploy-s4hana",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-files-create",
          "title": "High availability for SAP NetWeaver on Azure VMs on SUSE Linux Enterprise Server with NFS on Azure Files",
          "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/high-availability-guide-suse-nfs-azure-files",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-planning",
          "title": "Plan and implement an SAP deployment on Azure",
          "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-rise-security",
          "title": "Azure identity and security services with SAP RISE",
          "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-security",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-rise-services",
          "title": "Integrate Azure services with SAP RISE",
          "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-services",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-replicated-disk-support",
          "title": "Cluster an SAP ASCS/SCS instance on a Windows failover cluster by using a shared disk in Azure",
          "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-guide-wsfc-shared-disk",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-storage-replication",
          "title": "Prepare the Azure infrastructure for SAP HA by using a Windows failover cluster and shared disk for SAP ASCS/SCS",
          "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-infrastructure-wsfc-shared-disk",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-ppg",
          "title": "Proximity placement groups",
          "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/co-location",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-sap-sql",
          "title": "SQL Server Azure Virtual Machines DBMS deployment for SAP NetWeaver",
          "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/workloads/sap/dbms_guide_sqlserver",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-120"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-ab410-create-prompt",
          "title": "Create a prompt",
          "url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/create-custom-prompt",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-410"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-ab410-editable-app",
          "title": "Create an app to edit tables in canvas apps",
          "url": "https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/add-editable-tables",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-410"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-ab410-tables",
          "title": "Create and edit tables using Power Apps",
          "url": "https://learn.microsoft.com/en-us/power-apps/maker/data-platform/create-edit-entities-portal",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-410"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-ab410-charts",
          "title": "Create or edit a model-driven app system chart",
          "url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/create-edit-system-chart",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-410"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-ab410-designers",
          "title": "Meet the model-driven app designers",
          "url": "https://learn.microsoft.com/en-us/power-apps/maker/model-driven-apps/model-driven-designers",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-410"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-ab410-bpf",
          "title": "Tutorial: Create a business process flow",
          "url": "https://learn.microsoft.com/en-us/power-automate/create-business-process-flow",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AB-410"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-wac-alerts",
          "title": "Monitor servers and configure alerts with Azure Monitor from Windows Admin Center",
          "url": "https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/azure/azure-monitor",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "AZ-802"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-word-accessibility",
          "title": "Improve accessibility with the Accessibility Checker",
          "url": "https://support.microsoft.com/en-US/Accessibility/office-accessibility/improve-accessibility-with-the-accessibility-checker",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-110"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-word-properties",
          "title": "View or change the properties for an Office file",
          "url": "https://support.microsoft.com/en-US/Office/collab-files/view-or-change-the-properties-for-an-office-file",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-110"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-word-header",
          "title": "Add the file name, date, author or other Word document properties to a header or footer",
          "url": "https://support.microsoft.com/en-au/word/add-the-file-name-date-author-or-other-word-document-properties-to-a-header-or-footer",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-110"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-word-table",
          "title": "Insert a table",
          "url": "https://support.microsoft.com/en-gb/word/training/insert-a-table",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-110"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-word-basic",
          "title": "Basic tasks in Word",
          "url": "https://support.microsoft.com/en-us/word/basic-tasks-in-word",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-110"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-word-print",
          "title": "Print a document in Word for Windows",
          "url": "https://support.microsoft.com/en-us/word/print-a-document-in-word",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-110"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-word-margins",
          "title": "Change margins",
          "url": "https://support.microsoft.com/en-us/word/training/change-margins",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-110"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-word-share",
          "title": "Share a document",
          "url": "https://support.microsoft.com/en-us/word/training/share-a-document",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-110"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        },
        {
          "id": "group05-word-borders",
          "title": "Why aren't page borders printing?",
          "url": "https://support.microsoft.com/en-us/word/why-aren-t-page-borders-printing",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-110"
          ],
          "notes": "October 28 group-05 exam researcher: inspected the exact public procedural sections recorded in exam-a-research.json; used for an independently authored worked workflow, not a copied vendor exercise. No product/cloud/SAP/Office execution or paid content access."
        }
      ],
      "source_updates": [
        {
          "source_id": "ab410-prompt-app",
          "url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-app",
          "append_supported_exams": [
            "AB-410"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "ab410-prompt-flow",
          "url": "https://learn.microsoft.com/en-us/ai-builder/use-a-custom-prompt-in-flow",
          "append_supported_exams": [
            "AB-410"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "az-120-deployment-automation-framework",
          "url": "https://learn.microsoft.com/en-us/azure/sap/automation/tutorial",
          "append_supported_exams": [
            "AZ-120"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "az-120-lama-connector",
          "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/lama-installation",
          "append_supported_exams": [
            "AZ-120"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "az120-storage-types",
          "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/planning-guide-storage",
          "append_supported_exams": [
            "AZ-120"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "az120-rise-network",
          "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-network",
          "append_supported_exams": [
            "AZ-120"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "az-120-ha-architecture",
          "url": "https://learn.microsoft.com/en-us/azure/sap/workloads/sap-high-availability-architecture-scenarios",
          "append_supported_exams": [
            "AZ-120"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "az120-write-accelerator",
          "url": "https://learn.microsoft.com/en-us/azure/virtual-machines/how-to-enable-write-accelerator",
          "append_supported_exams": [
            "AZ-120"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "ab-410-blueprint",
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
          "append_supported_exams": [
            "AB-410"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "az-800-az-802-replacement-blueprint",
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
          "append_supported_exams": [
            "AZ-802"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "az-800-replacement-credential",
          "url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
          "append_supported_exams": [
            "AZ-802"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "power-platform-important-changes",
          "url": "https://learn.microsoft.com/en-us/power-platform/important-changes-coming",
          "append_supported_exams": [
            "AB-410"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        },
        {
          "source_id": "ab410-udf",
          "url": "https://learn.microsoft.com/en-us/power-platform/power-fx/reference/object-app",
          "append_supported_exams": [
            "AB-410"
          ],
          "last_checked": "2026-10-28",
          "append_notes": "October 28 group-05 exam researcher: public source sections used for bounded objective/currency or original worked workflow; see exam-a-research.json exact read scope. No service, Office, SAP, assessment, paid-content or lab execution."
        }
      ],
      "catalog_proposals": [
        {
          "exam_code": "AZ-802",
          "file": "config/exams.json",
          "field": "study_prerequisites",
          "old_text": "Several years of Windows Server experience plus practical AD DS, Group Policy, PowerShell and delegated administration, Hyper-V and Azure VMs, DNS/DHCP, SMB and Windows storage, Azure Arc, security hardening, Azure Monitor, and evidence-led troubleshooting.",
          "replacement": "Practical Windows Server administration experience with AD DS, Group Policy, PowerShell and delegated administration, Hyper-V and Azure VMs, DNS/DHCP, SMB and Windows storage, Azure Arc, security hardening, Azure Monitor, Azure Update Manager, Defender for Cloud and evidence-led troubleshooting. Microsoft lists experience expectations, not a mandatory prerequisite certification or fixed number of years.",
          "basis": "Current AZ-802 audience profile no longer specifies several years; retain study foundations without making the editorial time expectation sound like an exam prerequisite."
        }
      ],
      "retained_blockers": [
        {
          "exam_code": "AB-410",
          "objective_ids": [
            "AB-410-6.4"
          ],
          "reason": "SAP prompt-knowledge instructions and limitations remain inconsistent. Preserve provisional guidance and the existing blocker."
        },
        {
          "exam_code": "AZ-120",
          "objective_ids": [
            "AZ-120-8.6",
            "AZ-120-10.6"
          ],
          "reason": "Applicability of the FAQ secondary-node recipe to the native logical HSR protection model is unresolved. The general restore packet does not authorize that transition."
        },
        {
          "exam_code": "AZ-802",
          "objective_ids": [
            "AZ-802-7.2"
          ],
          "reason": "Substrate and version-bound components do not establish a complete current host/guest/authentication support contract. Preserve the SSH Direct blocker."
        },
        {
          "exam_code": "AZ-802",
          "objective_ids": [
            "AZ-802-16.3"
          ],
          "reason": "The stale MMA article does not prove current WAC automatic onboarding. AMA/DCR plus portal alerting provides a bounded alternative; the exact current UI contract needs verification."
        }
      ],
      "unresolved_questions": [
        "Can the signed-in user launch the exact AB-410/AZ-802 Navigator assessment? No launch or assessment content was inspected.",
        "Which HSR protection model does the FAQ secondary-node recipe apply to? Microsoft confirmation or safe authorized validation is needed.",
        "Which current WAC build/extension automatically onboards AMA/DCR without legacy MMA? The inspected first-party article does not establish it.",
        "Which current SSH Direct host/guest/kernel/authentication combination has a complete first-party support contract? The existing gap remains."
      ],
      "bounded_recommendation": "Integrate source-backed worked packets and other group05 technical/learning findings, retaining every dated prior record and explicit blocker. Accept changed status/metadata snapshots only through coordinator reviewed workflow. Then reread complete actual guides and regenerate bindings; obtain separate fresh-context read-only review. No whole-library collector or shared file changed.",
      "verification": {
        "initial_mapping_tasks": 311,
        "initial_mapping_semantics": "Actual teaching spans and explicit reasons, not heading or keyword matches. Configure/implement material gaps remain repair-required until final integration review.",
        "accepted_snapshot_bytes": "All eight complete accepted objective/status snapshots copied byte for byte and raw hashes recorded. Complete initial guide copies preserved with LF normalization.",
        "objective_wording_comparison": "Every current detailed AB-410/AZ-120/AZ-802 bullet is an exact whitespace-normalized substring of its accepted raw snapshot. MO-110 PDF tasks were read separately from its six-domain adapter snapshot.",
        "scratch_patch_check": "All 32 exact old_text blocks uniquely apply to the four scratch proposed guides. Shared files were not edited.",
        "assurance": "Same research context; not a fresh-context audit, human review or product execution. Actual integration-bound reread remains pending."
      },
      "catalog_row_snapshots": [
        {
          "code": "AZ-120",
          "level": "intermediate",
          "vendor_id": "microsoft",
          "title": "Planning and Administering Microsoft Azure for SAP Workloads",
          "status": "active",
          "study_guide_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "blueprint_last_checked": "2026-09-28",
          "upcoming_change_status": "none-announced",
          "upcoming_change_checked": "2026-09-28",
          "review_status": "review-required",
          "content_basis": "public-sources-only",
          "study_prerequisites": "SAP HANA, NetWeaver, Business Suite, Basis, operating-system, database, migration, clustering, backup, and disaster-recovery experience plus Azure Administrator Associate-level compute, storage, networking, identity, governance, monitoring, and infrastructure-as-code knowledge."
        },
        {
          "code": "AZ-802",
          "level": "intermediate",
          "vendor_id": "microsoft",
          "title": "Administering Windows Server",
          "status": "active",
          "study_guide_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
          "guide_path": "guides/AZ-802-administering-windows-server.md",
          "blueprint_last_checked": "2026-09-27",
          "upcoming_change_status": "none-announced",
          "upcoming_change_checked": "2026-09-27",
          "review_status": "review-required",
          "content_basis": "public-sources-only",
          "study_prerequisites": "Several years of Windows Server experience plus practical AD DS, Group Policy, PowerShell and delegated administration, Hyper-V and Azure VMs, DNS/DHCP, SMB and Windows storage, Azure Arc, security hardening, Azure Monitor, and evidence-led troubleshooting."
        },
        {
          "code": "AB-410",
          "level": "intermediate",
          "vendor_id": "microsoft",
          "title": "Building Intelligent Applications",
          "status": "active",
          "study_guide_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "blueprint_last_checked": "2026-09-28",
          "upcoming_change_status": "none-announced",
          "upcoming_change_checked": "2026-09-28",
          "review_status": "review-required",
          "content_basis": "public-sources-only",
          "study_prerequisites": "Practical low-code solution-building experience across Dataverse, model-driven and canvas apps, Power Automate, Power Fx and solutions, plus familiarity with Power Pages, Copilot Studio agents, AI Builder prompts/models, environment governance, security roles, responsible AI, ALM, accessibility, testing and troubleshooting."
        },
        {
          "code": "MO-110",
          "level": "intermediate",
          "vendor_id": "microsoft-office",
          "title": "Microsoft Office Specialist: Word Associate (Microsoft 365 Apps)",
          "status": "active",
          "study_guide_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-word-associate-m365-apps/",
          "guide_path": "guides/MO-110-microsoft-word-microsoft-365-apps.md",
          "blueprint_last_checked": "2026-09-28",
          "upcoming_change_status": "none-announced",
          "upcoming_change_checked": "2026-09-28",
          "review_status": "source-validated",
          "content_basis": "public-sources-only",
          "study_prerequisites": "No formal prerequisite; Microsoft recommends about 150 hours of instruction and hands-on experience creating and managing practical Word documents."
        }
      ],
      "latest_source_review_summary": [
        {
          "exam_code": "AB-410",
          "id": "ab-410-2026-09-28-source-validation",
          "reviewed_on": "2026-09-28",
          "outcome": "blocked",
          "blueprint_snapshot_path": "data/objective-snapshots/ab-410-official-objectives.txt",
          "blueprint_snapshot_sha256": "390c1040388541915573525f59b9f2f28753f65d0a3a50e9221dd7ab11c68142"
        },
        {
          "exam_code": "AZ-120",
          "id": "az-120-2026-09-28-source-validation",
          "reviewed_on": "2026-09-28",
          "outcome": "blocked",
          "blueprint_snapshot_path": "data/objective-snapshots/az-120-official-objectives.txt",
          "blueprint_snapshot_sha256": "9ef2824a901a8ba33075de4315d56f6bd0c7e9b5887028f27c16e6645e6eb3ff"
        },
        {
          "exam_code": "AZ-802",
          "id": "az-802-2026-08-31-source-validation",
          "reviewed_on": "2026-09-27",
          "outcome": "blocked",
          "blueprint_snapshot_path": "data/objective-snapshots/az-802-official-objectives.txt",
          "blueprint_snapshot_sha256": "ec584efe0ea08ae5ad6bbcef992c1b4a4e6b18826193ece06a76114757c8f65d"
        },
        {
          "exam_code": "MO-110",
          "id": "mo-110-2026-09-28-source-validation",
          "reviewed_on": "2026-09-28",
          "outcome": "passed",
          "blueprint_snapshot_path": "data/objective-snapshots/mo-110-official-objectives.txt",
          "blueprint_snapshot_sha256": "c5016d0c2a76187324de57865fcad9858aa02d49353a61ffc479e64430ee233a"
        }
      ]
    },
    "subset_b": {
      "date": "2026-10-28",
      "role": "Read-only preliminary exam/objective researcher subset B",
      "scope": [
        "MO-111",
        "MO-210",
        "MO-211",
        "MO-310"
      ],
      "read_scope": "Complete four original guides, complete accepted raw objectives/status, all current detailed task lists (233 tasks, twelve PDF pages); no task inferred from a matching keyword or transport hash.",
      "required_repository_instructions_read": [
        "AGENTS.md",
        "CONTRIBUTING.md",
        "docs/CONTENT-POLICY.md",
        "docs/SOURCE-QUALITY.md",
        "docs/GUIDE-QUALITY-STANDARD.md",
        "docs/AI-AUDIT.md"
      ],
      "initial_mapping_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-mapping.json",
      "initial_mapping_sha256": "a8270cc82d2536544eea063b9e5b7b2a2f6f652d38740b3dadda9b099a0b23b3",
      "source_evidence": [
        {
          "key": "mo111-credential",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-word-expert-m365-apps/",
          "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-word-expert-m365-apps/",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo111-credential.html",
          "raw_sha256": "251b645625f44f5c5310b6e7fe20a0df8247ea4cb90a7ce156c5e018e71f64d3",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo111-credential.txt",
          "source_matches": [
            "mo-111-blueprint"
          ],
          "candidate_matches": [],
          "read_scope": "Complete credential overview, exam/skills/language/scheduling/resource sections.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "mo210-credential",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-excel-associate-m365-apps/",
          "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-excel-associate-m365-apps/",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo210-credential.html",
          "raw_sha256": "cb58dca4d983a4e36889bfb027efd5e985467921749f2c43d3086720974d36a7",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo210-credential.txt",
          "source_matches": [
            "mo-210-blueprint"
          ],
          "candidate_matches": [],
          "read_scope": "Complete credential overview, exam/skills/language/scheduling/resource sections.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "mo211-credential",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-excel-expert-m365-apps/",
          "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-excel-expert-m365-apps/",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo211-credential.html",
          "raw_sha256": "cc56badb7a45a1a8ddbbded1a74a72ec1d31722df288a020b548e432e8178dd8",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo211-credential.txt",
          "source_matches": [
            "mo-211-blueprint"
          ],
          "candidate_matches": [],
          "read_scope": "Complete credential overview, exam/skills/language/scheduling/resource sections.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        },
        {
          "key": "mo310-credential",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-powerpoint-associate-m365-apps/",
          "final_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-powerpoint-associate-m365-apps/",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo310-credential.html",
          "raw_sha256": "c1233560c1135957790c3abebc47bfc08d8384f11043da4a60b9b80fe1509c5a",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo310-credential.txt",
          "source_matches": [
            "mo-310-blueprint"
          ],
          "candidate_matches": [],
          "read_scope": "Complete credential overview, exam/skills/language/scheduling/resource sections.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-310"
          ]
        },
        {
          "key": "mo111-skills",
          "opened_url": "https://arch-center.azureedge.net/Learning/Credentials/MO-111_OD_MOS365_WordExpert.pdf",
          "final_url": "https://arch-center.azureedge.net/Learning/Credentials/MO-111_OD_MOS365_WordExpert.pdf",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo111-skills.pdf",
          "raw_sha256": "d2786433aad5c9f4264d046d660520c6d64c3225a2434cfd1e55539bebf117db",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo111-skills.txt",
          "source_matches": [
            "mo111-skills-pdf"
          ],
          "candidate_matches": [],
          "read_scope": "All three PDF pages, full detailed task list, domain weights and wrapped bullets.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "mo210-skills",
          "opened_url": "https://arch-center.azureedge.net/Learning/Credentials/microsoft-certified-security-operations-analyst-skills-measured.pdf",
          "final_url": "https://arch-center.azureedge.net/Learning/Credentials/microsoft-certified-security-operations-analyst-skills-measured.pdf",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo210-skills.pdf",
          "raw_sha256": "c18b5396df8158e1e14ee0d032332b86c01bc3b96b1166fbf49c6db0133f0e43",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo210-skills.txt",
          "source_matches": [
            "mo210-skills-pdf"
          ],
          "candidate_matches": [],
          "read_scope": "All three PDF pages, full detailed task list, domain weights and wrapped bullets.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "mo211-skills",
          "opened_url": "https://arch-center.azureedge.net/Learning/Credentials/MO-211_OD_MOS365_ExcelExpert.pdf",
          "final_url": "https://arch-center.azureedge.net/Learning/Credentials/MO-211_OD_MOS365_ExcelExpert.pdf",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo211-skills.pdf",
          "raw_sha256": "f6cc84c4249cc1379a9f80cdb818bf6d2481474955ddfd818507de89f4eb124f",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo211-skills.txt",
          "source_matches": [
            "mo211-skills-pdf"
          ],
          "candidate_matches": [],
          "read_scope": "All three PDF pages, full detailed task list, domain weights and wrapped bullets.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        },
        {
          "key": "mo310-skills",
          "opened_url": "https://arch-center.azureedge.net/Learning/Credentials/MO-310_OD_MOS365_PowerPoint-%282%29.pdf",
          "final_url": "https://arch-center.azureedge.net/Learning/Credentials/MO-310_OD_MOS365_PowerPoint-%282%29.pdf",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo310-skills.pdf",
          "raw_sha256": "29e1689505e742e8fedea780b0379bbc7327ab6e9d34ee6440b4d523d1b252fb",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mo310-skills.txt",
          "source_matches": [
            "mo310-skills-pdf"
          ],
          "candidate_matches": [],
          "read_scope": "All three PDF pages, full detailed task list, domain weights and wrapped bullets.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-310"
          ]
        },
        {
          "key": "expiration",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy",
          "final_url": "https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-expiration.html",
          "raw_sha256": "205da3aeecb7b17b6592818c71eff88e073c0b1f1534c47e37ff55962fd74fff",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-expiration.txt",
          "source_matches": [
            "mos-expiration-policy"
          ],
          "candidate_matches": [],
          "read_scope": "Complete policy text including MOS/MCE five-year expiry; role-based renewal not transferred to MOS. Page update timestamp is not evidence of a MOS skills-effective date.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111",
            "MO-210",
            "MO-211",
            "MO-310"
          ]
        },
        {
          "key": "retirements",
          "opened_url": "https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams",
          "final_url": "https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-retirements.html",
          "raw_sha256": "6296d470ce26499067f5464544cb0774200e7523780b15a852f234a0f4c84514",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-retirements.txt",
          "source_matches": [
            "az-800-official-retirement-list"
          ],
          "candidate_matches": [],
          "read_scope": "Current scheduled/retired exam lists checked for MO-111/MO-210/MO-211/MO-310; no matching retirement/replacement announcement found in this bounded check.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111",
            "MO-210",
            "MO-211",
            "MO-310"
          ]
        },
        {
          "key": "certiport365",
          "opened_url": "https://certiport.pearsonvue.com/Certifications/Microsoft/MOS/Certify/Microsoft-365-Apps",
          "final_url": "https://certiport.pearsonvue.com/Certifications/Microsoft/MOS/Certify/Microsoft-365-Apps",
          "status": 404,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-certiport365.html",
          "raw_sha256": "6f1efe673bf6530573263854a701fb9ca29b40ac5e87d74c7c0d93095665b481",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-certiport365.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "404 body only. Search for current MOS Microsoft 365/individual codes yielded public tutorial/compatibility documents; no second detailed task PDF accepted from Certiport.",
          "confidence": "Blocked/unavailable for this URL",
          "affected_exams": [
            "MO-111",
            "MO-210",
            "MO-211",
            "MO-310"
          ]
        },
        {
          "key": "cloud-candidate",
          "opened_url": "https://certiport.pearsonvue.com/Support/Install/Compass-Cloud/Test-Candidate/CC_Guide_TestCandidate",
          "final_url": "https://certiport.pearsonvue.com/Support/Install/Compass-Cloud/Test-Candidate/CC_Guide_TestCandidate",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-cloud-candidate.pdf",
          "raw_sha256": "e055e97681e250c6c2cd5aac61982af76149fb0766382a0c5edd3620947ee775",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-cloud-candidate.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Page 1 identity/update, in-center limitation; page 4 Windows VM/client keyboard distinction; remaining content read for context, no action executed.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111",
            "MO-210",
            "MO-211",
            "MO-310"
          ]
        },
        {
          "key": "word-link",
          "opened_url": "https://support.microsoft.com/en-us/word/insert-an-object-in-word-or-outlook",
          "final_url": "https://support.microsoft.com/en-us/word/insert-an-object-in-word-or-outlook",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-link.html",
          "raw_sha256": "64ecbebb34663483fac5d960416da3e59e4fd19828fa0770e3d79fe98014e50e",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-link.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "word-theme",
          "opened_url": "https://support.microsoft.com/en-us/office/foundations-experiences/change-a-theme-and-make-it-the-default-in-word-or-excel",
          "final_url": "https://support.microsoft.com/en-us/office/foundations-experiences/change-a-theme-and-make-it-the-default-in-word-or-excel",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-theme.html",
          "raw_sha256": "759f0b202a9652677da0443bd2ab28bc05791a2dbe4cbd6d76d0858343a17479",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-theme.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "word-quickparts",
          "opened_url": "https://support.microsoft.com/en-us/word/use-quick-parts-and-autotext-in-word-and-outlook",
          "final_url": "https://support.microsoft.com/en-us/word/use-quick-parts-and-autotext-in-word-and-outlook",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-quickparts.html",
          "raw_sha256": "ea9340986268052b3c6c8aa698a865d5de7b0602d613e5adbb9a80c6af637059",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-quickparts.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "word-caption",
          "opened_url": "https://support.microsoft.com/en-us/word/add-format-or-delete-captions-in-word",
          "final_url": "https://support.microsoft.com/en-us/word/add-format-or-delete-captions-in-word",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-caption.html",
          "raw_sha256": "d06d495df538ac1ba65d82f0f6c4eb85a632c87d514331ffb339f73b7e0ec706",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-caption.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "word-form",
          "opened_url": "https://support.microsoft.com/en-us/word/create-a-form-in-word-that-users-can-complete-or-print",
          "final_url": "https://support.microsoft.com/en-us/word/create-a-form-in-word-that-users-can-complete-or-print",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-form.html",
          "raw_sha256": "e29ff2eb5a54f6b1b8320d58ae8fe5d5ece8371539945a9a4b35166a9aad981d",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-form.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "word-fields",
          "opened_url": "https://support.microsoft.com/en-us/word/list-of-field-codes-in-word",
          "final_url": "https://support.microsoft.com/en-us/word/list-of-field-codes-in-word",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-fields.html",
          "raw_sha256": "639b7e921d61820edfa98fe454b76804f5aaef2948c379e858bb480a933d6419",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-fields.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Field list/directory and link to insert/edit page only. Specific insert/edit page separately opened/read; directory not used as evidence for a command.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111",
            "MO-210",
            "MO-211",
            "MO-310"
          ]
        },
        {
          "key": "word-merge-fields",
          "opened_url": "https://support.microsoft.com/en-gb/word/insert-mail-merge-fields?nochrome=true",
          "final_url": "https://support.microsoft.com/en-gb/word/insert-mail-merge-fields?nochrome=true",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-merge-fields.html",
          "raw_sha256": "937d7554e5e308df5aa4e9c9dd2f4566313db15bb24b1474d0a93a8729b02fc7",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-merge-fields.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "word-pagination",
          "opened_url": "https://support.microsoft.com/en-us/word/line-and-page-breaks",
          "final_url": "https://support.microsoft.com/en-us/word/line-and-page-breaks",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-pagination.html",
          "raw_sha256": "606d2878120ac818191f7037a1ff6f9ce500b3d413290ec8bc9a0884eca306f4",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-pagination.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "word-lines",
          "opened_url": "https://support.microsoft.com/en-us/word/add-or-remove-line-numbers",
          "final_url": "https://support.microsoft.com/en-us/word/add-or-remove-line-numbers",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-lines.html",
          "raw_sha256": "069e0c2b9aabfb2c5e47567a339d1889cd86164fa9f18ca19fe76c5d0a15107c",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-lines.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "excel-structured",
          "opened_url": "https://support.microsoft.com/en-us/excel/using-structured-references-with-excel-tables",
          "final_url": "https://support.microsoft.com/en-us/excel/using-structured-references-with-excel-tables",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-structured.html",
          "raw_sha256": "bb2d875174d2b94c93d23bf8818b8b189f65473ced361c05d72e837ece83b057",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-structured.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "excel-names",
          "opened_url": "https://support.microsoft.com/en-us/excel/names-in-formulas",
          "final_url": "https://support.microsoft.com/en-us/excel/names-in-formulas",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-names.html",
          "raw_sha256": "da00e06a5e6031553d40351fed7b174a168c5a113f6940ab39cf98f238941287",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-names.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "excel-charts",
          "opened_url": "https://support.microsoft.com/en-us/excel/creating-charts-from-start-to-finish",
          "final_url": "https://support.microsoft.com/en-us/excel/creating-charts-from-start-to-finish",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-charts.html",
          "raw_sha256": "93218acef2dedfc44d0f54edaa694434146fe1d209ab935afe541b64125e11bd",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-charts.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Chart creation, source/series selection links and ordinary layout/style roles; linked child lessons not comprehensively evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210",
            "MO-211"
          ]
        },
        {
          "key": "excel-movechart",
          "opened_url": "https://support.microsoft.com/en-au/excel/move-or-resize-a-chart",
          "final_url": "https://support.microsoft.com/en-au/excel/move-or-resize-a-chart",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-movechart.html",
          "raw_sha256": "366be4b455d4cfbbc381dc849ea86e851c9e875a9dc775c6c30f261c0f2a6f18",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-movechart.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "excel-consolidate",
          "opened_url": "https://support.microsoft.com/en-us/excel/consolidate-data-in-multiple-worksheets",
          "final_url": "https://support.microsoft.com/en-us/excel/consolidate-data-in-multiple-worksheets",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-consolidate.html",
          "raw_sha256": "3d422a20f8becefb8bc2c7e43c92a411866f73c53ca9a3793ddd9c9c895c97f0",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-consolidate.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        },
        {
          "key": "excel-scenarios",
          "opened_url": "https://support.microsoft.com/en-us/excel/switch-between-various-sets-of-values-by-using-scenarios",
          "final_url": "https://support.microsoft.com/en-us/excel/switch-between-various-sets-of-values-by-using-scenarios",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-scenarios.html",
          "raw_sha256": "726c146cada14e6e3c65aba46760def0e1e9e24bec79522acff63593c3278b8d",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-scenarios.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        },
        {
          "key": "excel-goalseek",
          "opened_url": "https://support.microsoft.com/en-au/excel/use-goal-seek-to-find-the-result-you-want-by-adjusting-an-input-value",
          "final_url": "https://support.microsoft.com/en-au/excel/use-goal-seek-to-find-the-result-you-want-by-adjusting-an-input-value",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-goalseek.html",
          "raw_sha256": "2ab743454bd46ce8954c28bc912650c2e1aed924d769d8f8d6f328dab5e8a098",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-goalseek.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        },
        {
          "key": "excel-trace",
          "opened_url": "https://support.microsoft.com/en-us/excel/display-the-relationships-between-formulas-and-cells",
          "final_url": "https://support.microsoft.com/en-us/excel/display-the-relationships-between-formulas-and-cells",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-trace.html",
          "raw_sha256": "f1375f2a18cbf9356bbc4c6059e15319e3a20f58b4ff5bae07dea3dee6cfc1db",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-trace.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        },
        {
          "key": "excel-errors",
          "opened_url": "https://support.microsoft.com/en-us/excel/detect-formula-errors-in-excel",
          "final_url": "https://support.microsoft.com/en-us/excel/detect-formula-errors-in-excel",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-errors.html",
          "raw_sha256": "ae3f82c1b8f3f6e3a6207598052d95dded5f31590eb918f1896f68e2441c5ff1",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-errors.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        },
        {
          "key": "excel-pivotchart",
          "opened_url": "https://support.microsoft.com/en-us/Excel/get-started/create-a-pivotchart",
          "final_url": "https://support.microsoft.com/en-us/excel/get-started/create-a-pivotchart",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-pivotchart.html",
          "raw_sha256": "3b1f6d19e8f1b24268334b5ddd862a9429c33c30f31d32e49ff7e95d6803b77a",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-pivotchart.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        },
        {
          "key": "excel-pivotdetails",
          "opened_url": "https://support.microsoft.com/en-us/excel/expand-collapse-or-show-details-in-a-pivottable-or-pivotchart",
          "final_url": "https://support.microsoft.com/en-us/excel/expand-collapse-or-show-details-in-a-pivottable-or-pivotchart",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-pivotdetails.html",
          "raw_sha256": "26173a2dc9584bbaa44730be2e919c6bc1009781218183353afc31067cf66522",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-pivotdetails.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        },
        {
          "key": "excel-clear",
          "opened_url": "https://support.microsoft.com/en-us/excel/clear-cells-of-contents-or-formats",
          "final_url": "https://support.microsoft.com/en-us/excel/clear-cells-of-contents-or-formats",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-clear.html",
          "raw_sha256": "390b8764abf5b98e289efb138165dc0cbbe03cedb8c17c9c5052348df7bd55cf",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-clear.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "excel-find",
          "opened_url": "https://support.microsoft.com/en-us/excel/get-started/find-or-replace-text-and-numbers-on-a-worksheet",
          "final_url": "https://support.microsoft.com/en-us/excel/get-started/find-or-replace-text-and-numbers-on-a-worksheet",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-find.html",
          "raw_sha256": "df33e66c122339c279807fe830acc30bd835689a6138198b2ff2f67cd85af3f5",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-find.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "excel-links",
          "opened_url": "https://support.microsoft.com/en-us/excel/work-with-links-in-excel",
          "final_url": "https://support.microsoft.com/en-us/excel/work-with-links-in-excel",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-links.html",
          "raw_sha256": "ffc9acd3bfb136c18e935f8bf771fd975e63677b31a08c881acf184ff391533d",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-links.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "excel-freeze",
          "opened_url": "https://support.microsoft.com/en-gb/excel/get-started/freeze-panes-to-lock-rows-and-columns?nochrome=true",
          "final_url": "https://support.microsoft.com/en-gb/excel/get-started/freeze-panes-to-lock-rows-and-columns?nochrome=true",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-freeze.html",
          "raw_sha256": "b8a39db3853d410356895d64d9310f2f5d6a6bcda0d0adfa2329ccd9deddd9b5",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-freeze.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "ppt-shapes",
          "opened_url": "https://support.microsoft.com/en-us/powerpoint/add-shapes?nochrome=true",
          "final_url": "https://support.microsoft.com/en-us/powerpoint/add-shapes?nochrome=true",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-ppt-shapes.html",
          "raw_sha256": "49247f09fdcf3779658ebf2ad3cdac3d2a834f8a2b73026056e8e9c8d79065f8",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-ppt-shapes.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-310"
          ]
        },
        {
          "key": "ppt-screenshot",
          "opened_url": "https://support.microsoft.com/en-us/office/graphics-visuals/insert-a-screenshot-or-screen-clipping",
          "final_url": "https://support.microsoft.com/en-us/office/graphics-visuals/insert-a-screenshot-or-screen-clipping",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-ppt-screenshot.html",
          "raw_sha256": "303c9e0ba216ea201a7450a2ce6128331a3bd22d3750004b0e11b586c1e9bd6b",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-ppt-screenshot.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-310"
          ]
        },
        {
          "key": "ppt-table",
          "opened_url": "https://support.microsoft.com/en-us/powerpoint/training/add-a-table-to-a-slide",
          "final_url": "https://support.microsoft.com/en-us/powerpoint/training/add-a-table-to-a-slide",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-ppt-table.html",
          "raw_sha256": "e33939bf65498465c40c3e7f9a71f4ab6efd8fa9f2dd3921e1a2bdcd445b804c",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-ppt-table.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-310"
          ]
        },
        {
          "key": "ppt-ink",
          "opened_url": "https://support.microsoft.com/en-us/powerpoint/change-handwritten-ink-to-shapes-text-or-math-in-powerpoint-for-microsoft-365",
          "final_url": "https://support.microsoft.com/en-us/powerpoint/change-handwritten-ink-to-shapes-text-or-math-in-powerpoint-for-microsoft-365",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-ppt-ink.html",
          "raw_sha256": "07b55863c41bb0ff0d3e8e65a90a27435100cb46ea360221ce955af6b3032b65",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-ppt-ink.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Drawing/selection/conversion text, connected experience/subscriber/platform limits; embedded video not watched; conversion explicitly Related item.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-310"
          ]
        },
        {
          "key": "word-field-edit",
          "opened_url": "https://support.microsoft.com/en-us/word/insert-edit-and-view-fields-in-word",
          "final_url": "https://support.microsoft.com/en-us/word/insert-edit-and-view-fields-in-word",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-field-edit.html",
          "raw_sha256": "151aa704ffcf9b8de63eada1ec33134d78dc1cf2bae6e9822f445f3b954fdd87",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-field-edit.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "word-figures",
          "opened_url": "https://support.microsoft.com/en-us/word/insert-a-table-of-figures",
          "final_url": "https://support.microsoft.com/en-us/word/insert-a-table-of-figures",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-figures.html",
          "raw_sha256": "07f3fcfaa94bd9e32d03e3317af81634c731722e0733fa42c345ede31f9753df",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-figures.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "word-styles",
          "opened_url": "https://support.microsoft.com/en-us/word/customize-or-create-new-styles",
          "final_url": "https://support.microsoft.com/en-us/word/customize-or-create-new-styles",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-styles.html",
          "raw_sha256": "97431b260df74ac9cba7993e34aa668b08724dd9121cb7cf424c622e39e6e2c8",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-styles.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "word-password",
          "opened_url": "https://support.microsoft.com/en-us/word/protect-a-word-document-with-a-password",
          "final_url": "https://support.microsoft.com/en-us/word/protect-a-word-document-with-a-password",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-password.html",
          "raw_sha256": "be0f50fc626fd8c85f33a777f123eb3cff8b438c4d18a7fbaa79445a9c277ff8",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-password.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "ppt-columns",
          "opened_url": "https://support.microsoft.com/en-us/powerpoint/create-columns-of-text-in-a-text-box-or-shape",
          "final_url": "https://support.microsoft.com/en-us/powerpoint/create-columns-of-text-in-a-text-box-or-shape",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-ppt-columns.html",
          "raw_sha256": "fad3c045bf0536886768aed29a93a20d7e1039e5adaf7dba64c3e14736233c30",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-ppt-columns.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-310"
          ]
        },
        {
          "key": "excel-logic",
          "opened_url": "https://support.microsoft.com/en-us/excel/logical-functions-reference",
          "final_url": "https://support.microsoft.com/en-us/excel/logical-functions-reference",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-logic.html",
          "raw_sha256": "4c3c99db22d512d1b147c3f7d302c465f1e54b3c2b547f2062b28b1c42b39d02",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-logic.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Required IF/IFS/SWITCH/AND/OR/NOT/LET entries; newer LAMBDA-related functions not added to scope.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        },
        {
          "key": "excel-logic-example",
          "opened_url": "https://support.microsoft.com/en-us/excel/using-if-with-and-or-and-not-functions-in-excel",
          "final_url": "https://support.microsoft.com/en-us/excel/using-if-with-and-or-and-not-functions-in-excel",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-logic-example.html",
          "raw_sha256": "50d69f7eba81f46858823603f101018584b80c465525d31d4ba040986ebf07b5",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-logic-example.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210",
            "MO-211"
          ]
        },
        {
          "key": "excel-statistical",
          "opened_url": "https://support.microsoft.com/en-us/excel/statistical-functions-reference?ad=us&rs=en-us&ui=en-us",
          "final_url": "https://support.microsoft.com/en-us/excel/statistical-functions-reference?ad=us&rs=en-us&ui=en-us",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-statistical.html",
          "raw_sha256": "97ee177f8cda6f0f7503dba205c06e24877bc770b784a5e554869d099865b69b",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-statistical.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Relevant AVERAGE, AVERAGEIF(S), COUNT(IF/S), MAX(IF/S), MIN(IF/S) entries; unneeded distribution/statistical functions not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210",
            "MO-211"
          ]
        },
        {
          "key": "excel-legacylookup",
          "opened_url": "https://support.microsoft.com/en-us/excel/look-up-values-with-vlookup-index-or-match?trk=article-ssr-frontend-pulse_little-text-block",
          "final_url": "https://support.microsoft.com/en-us/excel/look-up-values-with-vlookup-index-or-match?trk=article-ssr-frontend-pulse_little-text-block",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-legacylookup.html",
          "raw_sha256": "6c65a8a03fa043dee1277792c3e901c23c5868b5232083ca34f740c11bb52b0f",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-legacylookup.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main VLOOKUP/HLOOKUP/INDEX-MATCH explanation, exact/approximate argument distinction and sample orientation. Source warning: introductory copy loosely describes approximate matching; guide supplies explicit ascending interval/below-minimum bounds.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        },
        {
          "key": "word-style-set-report",
          "opened_url": "https://learn.microsoft.com/en-us/answers/questions/4883695/save-quick-style-set-in-word-2016-for-mac",
          "final_url": "https://learn.microsoft.com/en-us/answers/questions/4883695/save-quick-style-set-in-word-2016-for-mac",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-style-set-report.html",
          "raw_sha256": "c67fbf7b06e7435bf8c597774edbc8c689cb102c52e66e83217b3dd5987366c8",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-style-set-report.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Older 2015 Mac preview question, named MVP replies and 2017 anonymous save route read as preliminary historical context. Replaced by stronger Windows firsthand report; not proposed for acceptance.",
          "confidence": "Historical primary implementation report only; present build unconfirmed",
          "affected_exams": [
            "MO-111",
            "MO-210",
            "MO-211",
            "MO-310"
          ]
        },
        {
          "key": "word-style-set-windows",
          "opened_url": "https://learn.microsoft.com/en-us/answers/questions/5079026/word-365-only-show-styles-in-the-current-document?forum=msoffice-all&page=4",
          "final_url": "https://learn.microsoft.com/en-us/answers/questions/5079026/word-365-only-show-styles-in-the-current-document?forum=msoffice-all&page=4",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-style-set-windows.html",
          "raw_sha256": "019ce43e4a269fff3ae6d7a6a057a5fb38f4c06800dddde758026c1fa9e6bf49",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-style-set-windows.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "December 2020 Windows Word 365 question and firsthand save workflow; named Charles Kenyon and Stefan Blom replies. No linked expert sites or software add-ins consumed; global Normal changes excluded.",
          "confidence": "Historical primary implementation report only; present build unconfirmed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "excel-size",
          "opened_url": "https://support.microsoft.com/en-us/excel/change-the-column-width-and-row-height",
          "final_url": "https://support.microsoft.com/en-us/excel/change-the-column-width-and-row-height",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-size.html",
          "raw_sha256": "fe5be840277d6a17d90cb7aa32142667c93e4eb2d1be57bbfd2f96262baabd56",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-size.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "excel-merge",
          "opened_url": "https://support.microsoft.com/en-us/excel/get-started/merge-and-unmerge-cells-in-excel",
          "final_url": "https://support.microsoft.com/en-us/excel/get-started/merge-and-unmerge-cells-in-excel",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-merge.html",
          "raw_sha256": "e8acdaa7097853b7f2c660e4c728a87b04408a08acc1705dcf5deefc1a9da80b",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-merge.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "office-formatpainter",
          "opened_url": "https://support.microsoft.com/en-us/word/use-the-format-painter",
          "final_url": "https://support.microsoft.com/en-us/word/use-the-format-painter",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-office-formatpainter.html",
          "raw_sha256": "21f28b996facc378f44334deea0cc62b8b84b553ba7a22ac46108f0d285c9d5b",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-office-formatpainter.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-210"
          ]
        },
        {
          "key": "word-hyphenation",
          "opened_url": "https://support.microsoft.com/en-us/word/control-hyphenation",
          "final_url": "https://support.microsoft.com/en-us/word/control-hyphenation",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-hyphenation.html",
          "raw_sha256": "dbcfa90176e385ae0310ee22b52ddf2e4be95e6a0140ab46ac54d4ddbb2e0f4d",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-hyphenation.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "mos-tutorial",
          "opened_url": "https://certiport.pearsonvue.com/Educator-resources/Exam-details/Exam-tutorials/MOS_365Apps_Tutorial.pdf",
          "final_url": "https://certiport.pearsonvue.com/Educator-resources/Exam-details/Exam-tutorials/MOS_365Apps_Tutorial.pdf",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mos-tutorial.pdf",
          "raw_sha256": "6cd0e6c23e3d8c80552d9a3e802bf45726aef1b1c9819609f11978ebb868937c",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-mos-tutorial.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Public six-page interface tutorial text read; page 6 disabled commands and ordinary task-navigation guidance used. No exam questions or live assessment accessed.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111",
            "MO-210",
            "MO-211",
            "MO-310"
          ]
        },
        {
          "key": "word-compare",
          "opened_url": "https://support.microsoft.com/en-us/word/compare-document-differences-using-the-legal-blackline-option",
          "final_url": "https://support.microsoft.com/en-us/word/compare-document-differences-using-the-legal-blackline-option",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-compare.html",
          "raw_sha256": "35a105bd457f80dec68055eea6c799f232e060bbbea2ebf68af3bd41858f0bdd",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-compare.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "word-combine",
          "opened_url": "https://support.microsoft.com/en-us/word/combine-document-revisions",
          "final_url": "https://support.microsoft.com/en-us/word/combine-document-revisions",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-combine.html",
          "raw_sha256": "bd6ddc7f4645803a34c2318260de774153db252f7deb9d3b34edd1b883d4f685",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-word-combine.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-111"
          ]
        },
        {
          "key": "excel-charttypes",
          "opened_url": "https://support.microsoft.com/en-us/excel/available-chart-types-in-office",
          "final_url": "https://support.microsoft.com/en-us/excel/available-chart-types-in-office",
          "status": 200,
          "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-charttypes.html",
          "raw_sha256": "91a25341ca35518869c624220a7a5147df7f4d44d355a6b3b0429c0f26f76aa4",
          "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-source-excel-charttypes.txt",
          "source_matches": [],
          "candidate_matches": [],
          "read_scope": "Main first-party workflow text and relevant platform tabs/notes for the exact proposed operations; navigation/promo content and embedded media not evaluated.",
          "confidence": "Confirmed for the stated source scope; lab outcomes remain expected, not observed",
          "affected_exams": [
            "MO-211"
          ]
        }
      ],
      "exam_observations": [
        {
          "exam_code": "MO-111",
          "guide_content_sha256": "5bb107960c4abed991e8ceb7f462fb9231c6bcb7d56f33e787bbbe873e88b7ca",
          "accepted_objective_raw_sha256": "0db958488191b514b8598df0288463d19a4cc9b1f7fa81b3855850e6945c8fbc",
          "accepted_status_raw_sha256": "b8ee8667b7a0040f13cabb9a663407fcf19b99e70c18ec50b982ae17c32d26bb",
          "current_pdf_raw_sha256": "d2786433aad5c9f4264d046d660520c6d64c3225a2434cfd1e55539bebf117db",
          "current_pdf_hash_found_in_september_receipt": true,
          "detailed_tasks": 47,
          "initial_partial_task_count": 18,
          "scope_reconciliation": "Current detailed tasks/domain weights read in full. Same published domain/task structure as September review; accepted coarse objective/status baseline unchanged. No skills-effective date inferred from page timestamps or PDF transport metadata.",
          "identity": "Standalone application Expert credential for Microsoft 365 Apps; do not infer aggregate multi-application MOS award.",
          "prerequisites": "Credential overview recommends about 150 hours/proficiency; it does not list a prerequisite exam or required prior credential. Do not turn preparation guidance into a compulsory hour requirement.",
          "delivery": "50-minute proctored assessment on current Learn page; current public MOS tutorial describes practical projects. Center delivery/build must be confirmed; no center/product availability execution performed.",
          "renewal": "Current Learn page labels renewal frequency 60 months; current expiration policy says MOS expires every five years. Do not infer an annual free Learn renewal procedure or retroactive treatment of a historical individual award.",
          "lifecycle": "No current MO-code retirement/replacement notice found in the opened credential pages and official retirement list. This is bounded dated evidence, not a future guarantee.",
          "languages": 10,
          "language_note": "Count of language entries on opened credential page; verify at scheduling.",
          "platform": "Current Compass Cloud: In-Center candidate guide v4.10.2 dated October 22, 2026 says MOS LITA uses Windows VM even on Mac/Chromebook clients. Does not establish all centers use Cloud; Mac/web product docs kept separate.",
          "confidence": "High for current official scope and stated logistics; no claim that app/lab behavior was executed."
        },
        {
          "exam_code": "MO-210",
          "guide_content_sha256": "af6574c07de8553a0bae64f215a15507a8ea58b3ee04450a57bf5b2557c6156f",
          "accepted_objective_raw_sha256": "71db2aebfc9e02978f17b80207c9b0bd180775ad9c8486050965a27a5fadc0d7",
          "accepted_status_raw_sha256": "306b41dc3cacb8e45db553a23a27c795590d1b17631b4753c392ff657ad52115",
          "current_pdf_raw_sha256": "c18b5396df8158e1e14ee0d032332b86c01bc3b96b1166fbf49c6db0133f0e43",
          "current_pdf_hash_found_in_september_receipt": true,
          "detailed_tasks": 65,
          "initial_partial_task_count": 22,
          "scope_reconciliation": "Current detailed tasks/domain weights read in full. Same published domain/task structure as September review; accepted coarse objective/status baseline unchanged. No skills-effective date inferred from page timestamps or PDF transport metadata.",
          "identity": "Standalone application Associate credential for Microsoft 365 Apps; do not infer aggregate multi-application MOS award.",
          "prerequisites": "Credential overview recommends about 150 hours/proficiency; it does not list a prerequisite exam or required prior credential. Do not turn preparation guidance into a compulsory hour requirement.",
          "delivery": "50-minute proctored assessment on current Learn page; current public MOS tutorial describes practical projects. Center delivery/build must be confirmed; no center/product availability execution performed.",
          "renewal": "Current Learn page labels renewal frequency 60 months; current expiration policy says MOS expires every five years. Do not infer an annual free Learn renewal procedure or retroactive treatment of a historical individual award.",
          "lifecycle": "No current MO-code retirement/replacement notice found in the opened credential pages and official retirement list. This is bounded dated evidence, not a future guarantee.",
          "languages": 15,
          "language_note": "Count of language entries on opened credential page; verify at scheduling.",
          "platform": "Current Compass Cloud: In-Center candidate guide v4.10.2 dated October 22, 2026 says MOS LITA uses Windows VM even on Mac/Chromebook clients. Does not establish all centers use Cloud; Mac/web product docs kept separate.",
          "confidence": "High for current official scope and stated logistics; no claim that app/lab behavior was executed."
        },
        {
          "exam_code": "MO-211",
          "guide_content_sha256": "7a1301b8c12ef8b58de1852d7a4dec28c5bb5ea8f5aea5468d0cc5ed20da057e",
          "accepted_objective_raw_sha256": "174e46cb264079c29287f88c0b16eafdeac46dfb7f746bb6323aeec315944e34",
          "accepted_status_raw_sha256": "0f072c8b3c675f38917a10f3a5aadc709d52c9873e7794436a569f44e21df657",
          "current_pdf_raw_sha256": "f6cc84c4249cc1379a9f80cdb818bf6d2481474955ddfd818507de89f4eb124f",
          "current_pdf_hash_found_in_september_receipt": true,
          "detailed_tasks": 48,
          "initial_partial_task_count": 12,
          "scope_reconciliation": "Current detailed tasks/domain weights read in full. Same published domain/task structure as September review; accepted coarse objective/status baseline unchanged. No skills-effective date inferred from page timestamps or PDF transport metadata.",
          "identity": "Standalone application Expert credential for Microsoft 365 Apps; do not infer aggregate multi-application MOS award.",
          "prerequisites": "Credential overview recommends about 150 hours/proficiency; it does not list a prerequisite exam or required prior credential. Do not turn preparation guidance into a compulsory hour requirement.",
          "delivery": "50-minute proctored assessment on current Learn page; current public MOS tutorial describes practical projects. Center delivery/build must be confirmed; no center/product availability execution performed.",
          "renewal": "Current Learn page labels renewal frequency 60 months; current expiration policy says MOS expires every five years. Do not infer an annual free Learn renewal procedure or retroactive treatment of a historical individual award.",
          "lifecycle": "No current MO-code retirement/replacement notice found in the opened credential pages and official retirement list. This is bounded dated evidence, not a future guarantee.",
          "languages": 7,
          "language_note": "Count of language entries on opened credential page; verify at scheduling.",
          "platform": "Current Compass Cloud: In-Center candidate guide v4.10.2 dated October 22, 2026 says MOS LITA uses Windows VM even on Mac/Chromebook clients. Does not establish all centers use Cloud; Mac/web product docs kept separate.",
          "confidence": "High for current official scope and stated logistics; no claim that app/lab behavior was executed."
        },
        {
          "exam_code": "MO-310",
          "guide_content_sha256": "48458a4732bf6c055fcc269d15847e88e7fa23ec2afac9d2736c5b0d48cf5d8d",
          "accepted_objective_raw_sha256": "9ce732345e113b5587ccd794bdfa12dfbb2e95feda7c178566a8132c2f015570",
          "accepted_status_raw_sha256": "6537a81add91771a3ca3bbb3f6b548f7bb165e684f4c0df33237cb7893dfdd24",
          "current_pdf_raw_sha256": "29e1689505e742e8fedea780b0379bbc7327ab6e9d34ee6440b4d523d1b252fb",
          "current_pdf_hash_found_in_september_receipt": true,
          "detailed_tasks": 73,
          "initial_partial_task_count": 9,
          "scope_reconciliation": "Current detailed tasks/domain weights read in full. Same published domain/task structure as September review; accepted coarse objective/status baseline unchanged. No skills-effective date inferred from page timestamps or PDF transport metadata.",
          "identity": "Standalone application Associate credential for Microsoft 365 Apps; do not infer aggregate multi-application MOS award.",
          "prerequisites": "Credential overview recommends about 150 hours/proficiency; it does not list a prerequisite exam or required prior credential. Do not turn preparation guidance into a compulsory hour requirement.",
          "delivery": "50-minute proctored assessment on current Learn page; current public MOS tutorial describes practical projects. Center delivery/build must be confirmed; no center/product availability execution performed.",
          "renewal": "Current Learn page labels renewal frequency 60 months; current expiration policy says MOS expires every five years. Do not infer an annual free Learn renewal procedure or retroactive treatment of a historical individual award.",
          "lifecycle": "No current MO-code retirement/replacement notice found in the opened credential pages and official retirement list. This is bounded dated evidence, not a future guarantee.",
          "languages": 15,
          "language_note": "PowerPoint has 16 entries with Dutch repeated, hence 15 distinct languages.",
          "platform": "Current Compass Cloud: In-Center candidate guide v4.10.2 dated October 22, 2026 says MOS LITA uses Windows VM even on Mac/Chromebook clients. Does not establish all centers use Cloud; Mac/web product docs kept separate.",
          "confidence": "High for current official scope and stated logistics; no claim that app/lab behavior was executed."
        }
      ],
      "currency_changes": [
        {
          "exam_code": "MO-111",
          "old_text": "last_verified: 2026-09-28",
          "replacement_markdown": "last_verified: 2026-10-28",
          "condition": "Apply only after actual full integrated-guide semantic reread/source reconciliation; this research is not a full-review date advance."
        },
        {
          "exam_code": "MO-111",
          "old_text": "upcoming_change_checked: 2026-09-28",
          "replacement_markdown": "upcoming_change_checked: 2026-10-28",
          "condition": "Apply only after actual full integrated-guide semantic reread/source reconciliation; this research is not a full-review date advance."
        },
        {
          "exam_code": "MO-111",
          "old_text": "> **Independent AI-assisted resource — SOURCES + OBJECTIVES CHECKED; HUMAN REVIEW PENDING.** This guide follows the live MO-111 scope checked September 28, 2026. It is unofficial and may contain errors. The [official MO-111 page](https://learn.microsoft.com/en-us/credentials/certifications/mos-word-expert-m365-apps/) is authoritative.",
          "replacement_markdown": "> **Independent AI-assisted resource — SOURCES + OBJECTIVES CHECKED; HUMAN REVIEW PENDING.** This guide follows the live MO-111 scope checked October 28, 2026. It is unofficial and may contain errors. The [official MO-111 page](https://learn.microsoft.com/en-us/credentials/certifications/mos-word-expert-m365-apps/) is authoritative.",
          "condition": "Coordinator must first complete actual full integrated-guide semantic reread, including existing examples/labs/answers and new material."
        },
        {
          "exam_code": "MO-111",
          "old_text": "**Change watch:** No retirement or replacement is listed on the credential page, checked September 28, 2026. The current [Microsoft expiration policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) gives MOS a five-year lifetime; check the dates on your earned credential.<br>",
          "replacement_markdown": "**Change watch:** No retirement or replacement is listed on the credential page, checked October 28, 2026. The current [Microsoft expiration policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) gives MOS a five-year lifetime; check the dates on your earned credential.<br>",
          "condition": "Current credential and official retirement-list check performed; preserve uncertainty and MOS expiry caveat."
        },
        {
          "exam_code": "MO-210",
          "old_text": "last_verified: 2026-09-28",
          "replacement_markdown": "last_verified: 2026-10-28",
          "condition": "Apply only after actual full integrated-guide semantic reread/source reconciliation; this research is not a full-review date advance."
        },
        {
          "exam_code": "MO-210",
          "old_text": "upcoming_change_checked: 2026-09-28",
          "replacement_markdown": "upcoming_change_checked: 2026-10-28",
          "condition": "Apply only after actual full integrated-guide semantic reread/source reconciliation; this research is not a full-review date advance."
        },
        {
          "exam_code": "MO-210",
          "old_text": "> **Independent AI-assisted resource — SOURCES + OBJECTIVES CHECKED; HUMAN REVIEW PENDING.** This guide follows the live MO-210 scope checked September 28, 2026. It is unofficial and may contain errors. The [official MO-210 page](https://learn.microsoft.com/en-us/credentials/certifications/mos-excel-associate-m365-apps/) is authoritative.",
          "replacement_markdown": "> **Independent AI-assisted resource — SOURCES + OBJECTIVES CHECKED; HUMAN REVIEW PENDING.** This guide follows the live MO-210 scope checked October 28, 2026. It is unofficial and may contain errors. The [official MO-210 page](https://learn.microsoft.com/en-us/credentials/certifications/mos-excel-associate-m365-apps/) is authoritative.",
          "condition": "Coordinator must first complete actual full integrated-guide semantic reread, including existing examples/labs/answers and new material."
        },
        {
          "exam_code": "MO-210",
          "old_text": "**Change watch:** No retirement or replacement is listed on the credential page, checked September 28, 2026. Current [Microsoft policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) gives MOS a five-year lifetime; check your earned credential's dates.<br>",
          "replacement_markdown": "**Change watch:** No retirement or replacement is listed on the credential page, checked October 28, 2026. Current [Microsoft policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) gives MOS a five-year lifetime; check your earned credential's dates.<br>",
          "condition": "Current credential and official retirement-list check performed; preserve uncertainty and MOS expiry caveat."
        },
        {
          "exam_code": "MO-211",
          "old_text": "last_verified: 2026-09-28",
          "replacement_markdown": "last_verified: 2026-10-28",
          "condition": "Apply only after actual full integrated-guide semantic reread/source reconciliation; this research is not a full-review date advance."
        },
        {
          "exam_code": "MO-211",
          "old_text": "upcoming_change_checked: 2026-09-28",
          "replacement_markdown": "upcoming_change_checked: 2026-10-28",
          "condition": "Apply only after actual full integrated-guide semantic reread/source reconciliation; this research is not a full-review date advance."
        },
        {
          "exam_code": "MO-211",
          "old_text": "> **Independent AI-assisted resource — SOURCES + OBJECTIVES CHECKED; HUMAN REVIEW PENDING.** The entire guide and detailed skills PDF were reviewed September 28, 2026. The [official credential page](https://learn.microsoft.com/en-us/credentials/certifications/mos-excel-expert-m365-apps/) and its [skills outline](https://arch-center.azureedge.net/Learning/Credentials/MO-211_OD_MOS365_ExcelExpert.pdf) define the exam scope.",
          "replacement_markdown": "> **Independent AI-assisted resource — SOURCES + OBJECTIVES CHECKED; HUMAN REVIEW PENDING.** The entire guide and detailed skills PDF were reviewed October 28, 2026. The [official credential page](https://learn.microsoft.com/en-us/credentials/certifications/mos-excel-expert-m365-apps/) and its [skills outline](https://arch-center.azureedge.net/Learning/Credentials/MO-211_OD_MOS365_ExcelExpert.pdf) define the exam scope.",
          "condition": "Coordinator must first complete actual full integrated-guide semantic reread, including existing examples/labs/answers and new material."
        },
        {
          "exam_code": "MO-211",
          "old_text": "**Lifecycle:** No retirement or replacement notice found on September 28. The credential shows a 60-month renewal frequency; read the [current MOS expiration policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) for applicability to your award date. Exam retirement and credential expiration are different events.",
          "replacement_markdown": "**Lifecycle:** No retirement or replacement notice found on October 28, 2026. The credential shows a 60-month renewal frequency; read the [current MOS expiration policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) for applicability to your award date. Exam retirement and credential expiration are different events.",
          "condition": "Current credential and official retirement-list check performed; preserve uncertainty and MOS expiry caveat."
        },
        {
          "exam_code": "MO-310",
          "old_text": "last_verified: 2026-09-28",
          "replacement_markdown": "last_verified: 2026-10-28",
          "condition": "Apply only after actual full integrated-guide semantic reread/source reconciliation; this research is not a full-review date advance."
        },
        {
          "exam_code": "MO-310",
          "old_text": "upcoming_change_checked: 2026-09-28",
          "replacement_markdown": "upcoming_change_checked: 2026-10-28",
          "condition": "Apply only after actual full integrated-guide semantic reread/source reconciliation; this research is not a full-review date advance."
        },
        {
          "exam_code": "MO-310",
          "old_text": "> **Independent AI-assisted resource — SOURCES + OBJECTIVES CHECKED; HUMAN REVIEW PENDING.** The entire guide and detailed skills PDF were reviewed September 28, 2026. The [official credential page](https://learn.microsoft.com/en-us/credentials/certifications/mos-powerpoint-associate-m365-apps/) and [detailed skills outline](https://arch-center.azureedge.net/Learning/Credentials/MO-310_OD_MOS365_PowerPoint-%282%29.pdf) define the exam scope.",
          "replacement_markdown": "> **Independent AI-assisted resource — SOURCES + OBJECTIVES CHECKED; HUMAN REVIEW PENDING.** The entire guide and detailed skills PDF were reviewed October 28, 2026. The [official credential page](https://learn.microsoft.com/en-us/credentials/certifications/mos-powerpoint-associate-m365-apps/) and [detailed skills outline](https://arch-center.azureedge.net/Learning/Credentials/MO-310_OD_MOS365_PowerPoint-%282%29.pdf) define the exam scope.",
          "condition": "Coordinator must first complete actual full integrated-guide semantic reread, including existing examples/labs/answers and new material."
        },
        {
          "exam_code": "MO-310",
          "old_text": "**Lifecycle:** No retirement or replacement notice found September 28. The credential shows a 60-month renewal frequency; check the [MOS expiration policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) for your award date. Expiration of an earned credential and retirement of an exam are separate events.",
          "replacement_markdown": "**Lifecycle:** No retirement or replacement notice found October 28, 2026. The credential shows a 60-month renewal frequency; check the [MOS expiration policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) for your award date. Expiration of an earned credential and retirement of an exam are separate events.",
          "condition": "Current credential and official retirement-list check performed; preserve uncertainty and MOS expiry caveat."
        }
      ],
      "proposals_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-proposals.json",
      "new_source_objects": [
        {
          "id": "office-word-link-20261028",
          "title": "Insert an object in Word or Outlook",
          "url": "https://support.microsoft.com/en-us/word/insert-an-object-in-word-or-outlook",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-dependency-and-protection; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-form-20261028",
          "title": "Create a form in Word that users can complete or print",
          "url": "https://support.microsoft.com/en-us/word/create-a-form-in-word-that-users-can-complete-or-print",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-dependency-and-protection; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-password-20261028",
          "title": "Protect a Word document with a password",
          "url": "https://support.microsoft.com/en-us/word/protect-a-word-document-with-a-password",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-dependency-and-protection; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-pagination-20261028",
          "title": "Use Line and Page Breaks settings in Word",
          "url": "https://support.microsoft.com/en-us/word/line-and-page-breaks",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-pagination; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-lines-20261028",
          "title": "Add or remove line numbers",
          "url": "https://support.microsoft.com/en-us/word/add-or-remove-line-numbers",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-pagination; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-hyphenation-20261028",
          "title": "Control hyphenation",
          "url": "https://support.microsoft.com/en-us/word/control-hyphenation",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-pagination; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-quickparts-20261028",
          "title": "Use Quick Parts and AutoText in Word and Outlook",
          "url": "https://support.microsoft.com/en-us/word/use-quick-parts-and-autotext-in-word-and-outlook",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-reusable-design; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-theme-20261028",
          "title": "Change a theme and make it the default in Word or Excel",
          "url": "https://support.microsoft.com/en-us/office/foundations-experiences/change-a-theme-and-make-it-the-default-in-word-or-excel",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-reusable-design; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-styles-20261028",
          "title": "Customize or create new styles",
          "url": "https://support.microsoft.com/en-us/word/customize-or-create-new-styles",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-reusable-design; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-style-set-windows-20261028",
          "title": "Word 365: Only Show Styles in the Current Document",
          "url": "https://learn.microsoft.com/en-us/answers/questions/5079026/word-365-only-show-styles-in-the-current-document?forum=msoffice-all&page=4",
          "publisher": "Anonymous firsthand Windows user; Charles Kenyon and Stefan Blom, Microsoft Q&A volunteer MVPs",
          "authority_class": 5,
          "source_type": "expert-resource",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-reusable-design; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained. December 2020 firsthand Windows Word 365 report with named MVP replies, migrated to Microsoft Q&A. Not current official Word product documentation; no paid lessons or exam-content claims. Exact current style-set save UI remains unconfirmed; use only the bounded create/save/new-document/reopen/apply check and do not follow global-template changes. Useful workflow hypothesis, not normative technical authority."
        },
        {
          "id": "office-word-caption-20261028",
          "title": "Add, format, or delete captions in Word",
          "url": "https://support.microsoft.com/en-us/word/add-format-or-delete-captions-in-word",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-captions-fields-and-controls; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-figures-20261028",
          "title": "Insert a table of figures",
          "url": "https://support.microsoft.com/en-us/word/insert-a-table-of-figures",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-captions-fields-and-controls; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-field-edit-20261028",
          "title": "Insert, edit, and view fields in Word",
          "url": "https://support.microsoft.com/en-us/word/insert-edit-and-view-fields-in-word",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-captions-fields-and-controls; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-merge-fields-20261028",
          "title": "Insert mail merge fields",
          "url": "https://support.microsoft.com/en-gb/word/insert-mail-merge-fields?nochrome=true",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-merge-field-operation; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-find-20261028",
          "title": "Find or replace text and numbers on a worksheet",
          "url": "https://support.microsoft.com/en-us/excel/get-started/find-or-replace-text-and-numbers-on-a-worksheet",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-navigation-and-formatting; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-links-20261028",
          "title": "Work with links in Excel",
          "url": "https://support.microsoft.com/en-us/excel/work-with-links-in-excel",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-navigation-and-formatting; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-freeze-20261028",
          "title": "Freeze panes to lock rows and columns",
          "url": "https://support.microsoft.com/en-gb/excel/get-started/freeze-panes-to-lock-rows-and-columns?nochrome=true",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-navigation-and-formatting; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-clear-20261028",
          "title": "Clear cells of contents or formats",
          "url": "https://support.microsoft.com/en-us/excel/clear-cells-of-contents-or-formats",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-navigation-and-formatting; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-size-20261028",
          "title": "Change the column width and row height",
          "url": "https://support.microsoft.com/en-us/excel/change-the-column-width-and-row-height",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-navigation-and-formatting; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-merge-20261028",
          "title": "Merge and unmerge cells in Excel",
          "url": "https://support.microsoft.com/en-us/excel/get-started/merge-and-unmerge-cells-in-excel",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-navigation-and-formatting; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-office-formatpainter-20261028",
          "title": "Use the Format Painter",
          "url": "https://support.microsoft.com/en-us/word/use-the-format-painter",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-navigation-and-formatting; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-names-20261028",
          "title": "Names in formulas",
          "url": "https://support.microsoft.com/en-us/excel/names-in-formulas",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-names-tables-and-formulas; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-structured-20261028",
          "title": "Using structured references with Excel tables",
          "url": "https://support.microsoft.com/en-us/excel/using-structured-references-with-excel-tables",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-names-tables-and-formulas; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-statistical-20261028",
          "title": "Statistical functions (reference)",
          "url": "https://support.microsoft.com/en-us/excel/statistical-functions-reference?ad=us&rs=en-us&ui=en-us",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210",
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-names-tables-and-formulas; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-logic-example-20261028",
          "title": "Using IF with AND, OR, and NOT functions in Excel",
          "url": "https://support.microsoft.com/en-us/excel/using-if-with-and-or-and-not-functions-in-excel",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210",
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-names-tables-and-formulas; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-charts-20261028",
          "title": "Creating charts from start to finish",
          "url": "https://support.microsoft.com/en-us/excel/creating-charts-from-start-to-finish",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210",
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-chart-edit; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-movechart-20261028",
          "title": "Move or resize a chart",
          "url": "https://support.microsoft.com/en-au/excel/move-or-resize-a-chart",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-210"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-chart-edit; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-logic-20261028",
          "title": "Logical functions (reference)",
          "url": "https://support.microsoft.com/en-us/excel/logical-functions-reference",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-expert-function-matrix; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-legacylookup-20261028",
          "title": "Look up values with VLOOKUP, INDEX, or MATCH",
          "url": "https://support.microsoft.com/en-us/excel/look-up-values-with-vlookup-index-or-match?trk=article-ssr-frontend-pulse_little-text-block",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-expert-function-matrix; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-consolidate-20261028",
          "title": "Consolidate data in multiple worksheets",
          "url": "https://support.microsoft.com/en-us/excel/consolidate-data-in-multiple-worksheets",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-expert-analysis; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-goalseek-20261028",
          "title": "Use Goal Seek to find the result you want by adjusting an input value",
          "url": "https://support.microsoft.com/en-au/excel/use-goal-seek-to-find-the-result-you-want-by-adjusting-an-input-value",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-expert-analysis; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-scenarios-20261028",
          "title": "Switch between various sets of values by using scenarios",
          "url": "https://support.microsoft.com/en-us/excel/switch-between-various-sets-of-values-by-using-scenarios",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-expert-analysis; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-trace-20261028",
          "title": "Display the relationships between formulas and cells",
          "url": "https://support.microsoft.com/en-us/excel/display-the-relationships-between-formulas-and-cells",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-expert-audit; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-errors-20261028",
          "title": "Detect formula errors in Excel",
          "url": "https://support.microsoft.com/en-us/excel/detect-formula-errors-in-excel",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-expert-audit; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-pivotchart-20261028",
          "title": "Create a PivotChart",
          "url": "https://support.microsoft.com/en-us/Excel/get-started/create-a-pivotchart",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-expert-pivotchart; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-pivotdetails-20261028",
          "title": "Expand, collapse, or show details in a PivotTable or PivotChart",
          "url": "https://support.microsoft.com/en-us/excel/expand-collapse-or-show-details-in-a-pivottable-or-pivotchart",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-expert-pivotchart; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-ppt-shapes-20261028",
          "title": "Add shapes",
          "url": "https://support.microsoft.com/en-us/powerpoint/add-shapes?nochrome=true",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-310"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting ppt-object-editing; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-ppt-columns-20261028",
          "title": "Create columns of text in a text box or shape",
          "url": "https://support.microsoft.com/en-us/powerpoint/create-columns-of-text-in-a-text-box-or-shape",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-310"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting ppt-object-editing; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-ppt-screenshot-20261028",
          "title": "Insert a screenshot or screen clipping",
          "url": "https://support.microsoft.com/en-us/office/graphics-visuals/insert-a-screenshot-or-screen-clipping",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-310"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting ppt-object-editing; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-ppt-ink-20261028",
          "title": "Change handwritten ink to shapes, text, or math in PowerPoint for Microsoft 365",
          "url": "https://support.microsoft.com/en-us/powerpoint/change-handwritten-ink-to-shapes-text-or-math-in-powerpoint-for-microsoft-365",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-310"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting ppt-object-editing; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-ppt-table-20261028",
          "title": "Add a table to a slide",
          "url": "https://support.microsoft.com/en-us/powerpoint/training/add-a-table-to-a-slide",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-310"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting ppt-table-operation; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-compare-20261028",
          "title": "Compare document differences using the legal blackline option",
          "url": "https://support.microsoft.com/en-us/word/compare-document-differences-using-the-legal-blackline-option",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-review-artifact; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-word-combine-20261028",
          "title": "Combine document revisions",
          "url": "https://support.microsoft.com/en-us/word/combine-document-revisions",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting word-review-artifact; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-excel-charttypes-20261028",
          "title": "Available chart types in Office",
          "url": "https://support.microsoft.com/en-us/excel/available-chart-types-in-office",
          "publisher": "Microsoft",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-211"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting excel-expert-chart-artifacts; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-cloud-candidate-20261028",
          "title": "  ",
          "url": "https://certiport.pearsonvue.com/Support/Install/Compass-Cloud/Test-Candidate/CC_Guide_TestCandidate",
          "publisher": "Certiport / Pearson VUE",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111",
            "MO-210",
            "MO-211",
            "MO-310"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting mo-111-platform-boundary; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        },
        {
          "id": "office-mos-tutorial-20261028",
          "title": "Microsoft Office Specialist (MOS)",
          "url": "https://certiport.pearsonvue.com/Educator-resources/Exam-details/Exam-tutorials/MOS_365Apps_Tutorial.pdf",
          "publisher": "Certiport / Pearson VUE",
          "authority_class": 2,
          "source_type": "official-reference",
          "access_model": "public",
          "last_checked": "2026-10-28",
          "supported_exams": [
            "MO-111",
            "MO-210",
            "MO-211",
            "MO-310"
          ],
          "notes": "October 28, 2026 exam-b research: reviewed text supporting mo-111-platform-boundary; original synthetic expected checks only, no Office execution. Platform/availability boundaries retained."
        }
      ],
      "source_updates": [],
      "unresolved_questions": [
        {
          "id": "mo111-style-set-save-current-ui",
          "exam_code": "MO-111",
          "task_id": "MO-111-8.4",
          "status": "unconfirmed-current-build; bounded useful proposed workflow supplied",
          "strongest_evidence": "https://learn.microsoft.com/en-us/answers/questions/5079026/word-365-only-show-styles-in-the-current-document?forum=msoffice-all&page=4",
          "first_party_confirmed": [
            "https://support.microsoft.com/en-us/word/customize-or-create-new-styles",
            "https://support.microsoft.com/en-us/office/foundations-experiences/change-a-theme-and-make-it-the-default-in-word-or-excel"
          ],
          "conflict": "Current first-party style/theme help does not document the exact style-set save gallery route. Older Mac preview material has different/missing controls; the stronger December 2020 Windows report and named MVP replies are historical, not present product validation.",
          "recommendation": "Retain adjacent Unconfirmed — validation needed label, Windows/build scope, save→new document→reopen/apply artifact test; .thmx or a general .dotx alone cannot prove style-set completion. Coordinator/fresh reviewer must decide source-gate treatment. Do not claim this gap closed by reachability or our proposed exercise.",
          "next_evidence": "Current first-party Windows style-set save documentation or authorized Windows build reproduction including saved style-set artifact and reopened/new document applied definitions."
        }
      ],
      "bounded_recommendation": "Integrate exact grouped workflow packets and bounded platform/tutorial note; merge exact URL source objects and supported-exam associations; retain historical September evidence unchanged. Keep coarse accepted snapshots unchanged absent a reviewed content change. Reread the integrated guides completely and regenerate/rebind actual task spans before review completion; then a separate fresh-context review and repository checks belong to the coordinator.",
      "limits": [
        "No Office desktop/web engine, workbook formula runtime, VBA compiler, live lab, tenant, screen reader or actual assessment executed.",
        "No paid lessons, assessment questions, exam simulator or video playback consumed.",
        "No new certification availability or skills-effective date inferred from metadata.",
        "Certiport presumed program URL returned 404; current Microsoft-linked detailed task PDFs are authoritative for this report.",
        "Targeted public documentation reads are not exhaustive product/platform matrix audits.",
        "Initial partial findings are research recommendations; they are not marked resolved before integration and verification.",
        "The read-only final integrated semantic reread/rebind is outstanding and will use actual coordinator-edited guides."
      ]
    }
  },
  "final_role_reviews": {
    "subset_a": {
      "schema_version": 1,
      "reviewed_on": "2026-10-28",
      "scope": [
        "AB-410",
        "AZ-120",
        "AZ-802",
        "MO-110"
      ],
      "reviewer_role": "Original exam/objective researcher; same research context; not independent reviewer",
      "base_commit": "92a2cb594f7d1c20882fed664371699e95e27e81",
      "result": "Final semantic reread complete; all 49 initial material teaching flags addressed; retained source limitations prevent unqualified validation for three guides.",
      "final_matrix_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-final-mapping.json",
      "final_matrix_raw_sha256": "b118505e49fe7faa9d61813b4fffdfea8cdb80ebb2d0b29636f814c5b20cdd3b",
      "summary": {
        "complete_guides_read": 4,
        "complete_current_diffs_read": 4,
        "detailed_objectives_read_and_mapped": 311,
        "initial_teaching_flags": 49,
        "resolved_without_new_ui_limitation": 48,
        "resolved_with_explicit_wac_ui_limitation": 1,
        "retained_initial_provisional_mappings": 4,
        "initial_blank_span_errata_corrected_in_final_mapping": 3,
        "remaining_material_named_workflow_gaps": 0,
        "new_material_guide_findings": 0,
        "human_or_fresh_context_review": false,
        "product_lab_or_assessment_execution": false,
        "independently_identified_short_span_corrected": 4,
        "post_release_02_evidence_selection_repairs": 3,
        "total_initial_evidence_selection_errata": 4
      },
      "final_bindings": [
        {
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "captured_final_guide_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AB-410-building-intelligent-applications.md",
          "guide_lf_sha256": "05498fa2cd7076265bb0f75d7dd290edaa66b310a166a40de2fa5c64c08b01a1",
          "objective_path": "data/objective-snapshots/ab-410-official-objectives.txt",
          "objective_raw_sha256": "390c1040388541915573525f59b9f2f28753f65d0a3a50e9221dd7ab11c68142",
          "accepted_status_raw_sha256": "0d55874709f1d1417de6928afa0e28c836b5c52353602f4889921d34712d2634",
          "objective_count": 48,
          "group_count": 7,
          "line_count": 572,
          "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AB-410.diff",
          "diff_raw_sha256": "9e95ee0e7dc7490e0a1b6d2c8b1ca8bcbde702c849a241a9e13f41dec4c1af58",
          "initial_flags": 21,
          "source_gate_state": "blocked per coordinator; evidence gap retained"
        },
        {
          "exam_code": "AZ-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "captured_final_guide_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-120-planning-administering-azure-sap-workloads.md",
          "guide_lf_sha256": "dd4ff9be605b1bc246858e62bfd0bfb8fb558fc05a1ac3a8658dd9c9dcd3e080",
          "objective_path": "data/objective-snapshots/az-120-official-objectives.txt",
          "objective_raw_sha256": "9ef2824a901a8ba33075de4315d56f6bd0c7e9b5887028f27c16e6645e6eb3ff",
          "accepted_status_raw_sha256": "a945b84d8f7456c964d0fd657074971b70690e6f607db7ece4f7278b640a1ebf",
          "objective_count": 78,
          "group_count": 10,
          "line_count": 937,
          "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-120.diff",
          "diff_raw_sha256": "86fa5771868e1bf88400b5f1623150d0531031e4756a639069e424efb1ff137b",
          "initial_flags": 18,
          "source_gate_state": "blocked per coordinator; evidence gap retained"
        },
        {
          "exam_code": "AZ-802",
          "guide_path": "guides/AZ-802-administering-windows-server.md",
          "captured_final_guide_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-802-administering-windows-server.md",
          "guide_lf_sha256": "ed185a3491f3ca3c444a6399a8ec2cf74989bb17c1a4f4c6c003fef202d86de5",
          "objective_path": "data/objective-snapshots/az-802-official-objectives.txt",
          "objective_raw_sha256": "ec584efe0ea08ae5ad6bbcef992c1b4a4e6b18826193ece06a76114757c8f65d",
          "accepted_status_raw_sha256": "22263a5f15aee693bf4f4727115d1a9aba20f3aa645ac6e0656f6181d3899564",
          "objective_count": 115,
          "group_count": 18,
          "line_count": 1138,
          "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-802.diff",
          "diff_raw_sha256": "91d0e7fb0ce009948fcc4c182cc26ac8c703a064b5a2d6b744a2e13d45c01b93",
          "initial_flags": 1,
          "source_gate_state": "blocked per coordinator; evidence gap retained"
        },
        {
          "exam_code": "MO-110",
          "guide_path": "guides/MO-110-microsoft-word-microsoft-365-apps.md",
          "captured_final_guide_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-110-microsoft-word-microsoft-365-apps.md",
          "guide_lf_sha256": "a0779947d9e76d94e076f7bb9faac3db40955abb5f826fc8c35b442c9b34e6d3",
          "objective_path": "data/objective-snapshots/mo-110-official-objectives.txt",
          "objective_raw_sha256": "c5016d0c2a76187324de57865fcad9858aa02d49353a61ffc479e64430ee233a",
          "accepted_status_raw_sha256": "6e8a29ea37892c43a7addf1cd7d6f3b0c6cc21cf453b20e6a2b33fab01fce989",
          "objective_count": 70,
          "group_count": 18,
          "line_count": 193,
          "diff_path": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-110.diff",
          "diff_raw_sha256": "cf90dd0be230fde2ef96a0ca149608ed915c068d94b75f31dadf76c00e872c2e",
          "initial_flags": 9,
          "source_gate_state": "passed provisionally per coordinator; separate from semantic review"
        }
      ],
      "initial_flag_dispositions": [
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-1.4",
          "wording": "Recommend environment types",
          "initial_reason": "Distinguishes environment purposes; Teams recommendation lacks newly published deprecation.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "Environment purpose and governance choices are retained; the Teams recommendation now specifies the creation cutoff, suspension/decommission phases and capacity/licensing review before an upgrade or move.",
          "repair_id": "ab410-teams-deprecation",
          "evidence_spans": [
            {
              "heading": "Recommend an environment and governance boundary",
              "start_line": 86,
              "end_line": 86,
              "span_lf_sha256": "71baffdc4ad4fdb46137cad39c6319d6477868a4337dd6dc7caba901c1af33b8"
            },
            {
              "heading": "Recommend an environment and governance boundary",
              "start_line": 88,
              "end_line": 93,
              "span_lf_sha256": "7418c3fa24a8017e141af336dad5355cd55463f7fc059ee353d681d3901db10f"
            },
            {
              "heading": "Recommend an environment and governance boundary",
              "start_line": 95,
              "end_line": 95,
              "span_lf_sha256": "d2b90610e4cb8b0624c75b7004e73523273b90c899097e09056b30828231e36f"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-2.1",
          "wording": "Create and edit tables in the data workspace",
          "initial_reason": "Explains entity meaning but not creating/editing in data workspace or unsupported relationships.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The worked build creates a blank request table in the data workspace, adds typed columns and an existing customer table, relates records, saves and reopens the schema, and checks three rows plus metadata/data-access boundaries.",
          "repair_id": "ab410-data-workspace",
          "evidence_spans": [
            {
              "heading": "Build a Dataverse model from business meaning",
              "start_line": 111,
              "end_line": 111,
              "span_lf_sha256": "6ff70fa7adccfa1f3d67496bd9e3aed8dc97518c518cb05c909c24da5220f4d5"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 126,
              "end_line": 126,
              "span_lf_sha256": "b4d46d8c8462b8db816e8dc485520d9bfbb7471a1d2ac9d3f8ca6300d8c24095"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 128,
              "end_line": 128,
              "span_lf_sha256": "cdf15e6e8cbd391b35412f76537bcbd665e5e4b8bfefe153cfc2859ef2553b98"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 130,
              "end_line": 130,
              "span_lf_sha256": "dc5cc2c5936e5cb444df7aafe203776e8e9b11b1f8de9c82105f654791435045"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-2.2",
          "wording": "Create and modify standard tables",
          "initial_reason": "Recommends standard versus custom without standard-table customization route.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The existing standard-versus-custom decision is now paired with creating and reopening a standard-type request table and with explicit distinction from customizing an existing standard table; existing Account reuse and managed restrictions remain visible.",
          "repair_id": "ab410-data-workspace",
          "evidence_spans": [
            {
              "heading": "Build a Dataverse model from business meaning",
              "start_line": 111,
              "end_line": 111,
              "span_lf_sha256": "6ff70fa7adccfa1f3d67496bd9e3aed8dc97518c518cb05c909c24da5220f4d5"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 126,
              "end_line": 126,
              "span_lf_sha256": "b4d46d8c8462b8db816e8dc485520d9bfbb7471a1d2ac9d3f8ca6300d8c24095"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 128,
              "end_line": 128,
              "span_lf_sha256": "cdf15e6e8cbd391b35412f76537bcbd665e5e4b8bfefe153cfc2859ef2553b98"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 130,
              "end_line": 130,
              "span_lf_sha256": "dc5cc2c5936e5cb444df7aafe203776e8e9b11b1f8de9c82105f654791435045"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-2.3",
          "wording": "Configure table properties",
          "initial_reason": "Names properties without a worked saved property change.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The request build deliberately chooses ownership, adds named typed columns, saves the schema and changes its description after reopening rather than duplicating the entity.",
          "repair_id": "ab410-data-workspace",
          "evidence_spans": [
            {
              "heading": "Build a Dataverse model from business meaning",
              "start_line": 111,
              "end_line": 111,
              "span_lf_sha256": "6ff70fa7adccfa1f3d67496bd9e3aed8dc97518c518cb05c909c24da5220f4d5"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 126,
              "end_line": 126,
              "span_lf_sha256": "b4d46d8c8462b8db816e8dc485520d9bfbb7471a1d2ac9d3f8ca6300d8c24095"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 128,
              "end_line": 128,
              "span_lf_sha256": "cdf15e6e8cbd391b35412f76537bcbd665e5e4b8bfefe153cfc2859ef2553b98"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 130,
              "end_line": 130,
              "span_lf_sha256": "dc5cc2c5936e5cb444df7aafe203776e8e9b11b1f8de9c82105f654791435045"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-2.4",
          "wording": "Create and modify columns",
          "initial_reason": "Explains type/key selection but needs actual typed-column construction.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The request build selects short text, choice and date/time columns for concrete data meanings, saves three rows and verifies types, properties and access rather than merely listing column categories.",
          "repair_id": "ab410-data-workspace",
          "evidence_spans": [
            {
              "heading": "Build a Dataverse model from business meaning",
              "start_line": 111,
              "end_line": 111,
              "span_lf_sha256": "6ff70fa7adccfa1f3d67496bd9e3aed8dc97518c518cb05c909c24da5220f4d5"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 126,
              "end_line": 126,
              "span_lf_sha256": "b4d46d8c8462b8db816e8dc485520d9bfbb7471a1d2ac9d3f8ca6300d8c24095"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 128,
              "end_line": 128,
              "span_lf_sha256": "cdf15e6e8cbd391b35412f76537bcbd665e5e4b8bfefe153cfc2859ef2553b98"
            },
            {
              "heading": "Worked build — request data before app screens",
              "start_line": 130,
              "end_line": 130,
              "span_lf_sha256": "dc5cc2c5936e5cb444df7aafe203776e8e9b11b1f8de9c82105f654791435045"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-2.8",
          "wording": "Configure public views",
          "initial_reason": "Names public view queries without constructing filter, columns and sort.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The triage build creates an Open requests public view with an explicit open-state filter, customer/state/received columns and oldest-first sort, then saves/publishes and checks records under restricted personas.",
          "repair_id": "ab410-model-driven-build",
          "evidence_spans": [
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 176,
              "end_line": 176,
              "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 178,
              "end_line": 178,
              "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 180,
              "end_line": 180,
              "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-2.9",
          "wording": "Configure main forms",
          "initial_reason": "Names form organization without editing/save/publish workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The worked main form places concrete customer/state/time fields together, saves/publishes the component and tests persona presentation independently from underlying access.",
          "repair_id": "ab410-model-driven-build",
          "evidence_spans": [
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 176,
              "end_line": 176,
              "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 178,
              "end_line": 178,
              "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 180,
              "end_line": 180,
              "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-3.1",
          "wording": "Create and configure forms for model-driven apps",
          "initial_reason": "Distinguishes form types and role UX without building/publishing a form.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "Form-type guidance is now followed by an actual main-form edit, selected fields, publication and released-app persona checks.",
          "repair_id": "ab410-model-driven-build",
          "evidence_spans": [
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 176,
              "end_line": 176,
              "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 178,
              "end_line": 178,
              "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 180,
              "end_line": 180,
              "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-3.2",
          "wording": "Create and configure views for model-driven apps",
          "initial_reason": "Describes view/chart relationship without edited filter/sort example.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "A public open-state view is configured with specific columns and chronological order, included in the app and verified against synthetic records and effective access.",
          "repair_id": "ab410-model-driven-build",
          "evidence_spans": [
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 176,
              "end_line": 176,
              "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 178,
              "end_line": 178,
              "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 180,
              "end_line": 180,
              "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-3.4",
          "wording": "Compose a model-driven app",
          "initial_reason": "Describes composition but lacks ordered table-page/navigation/asset/publish workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The build assembles table pages, selected forms/views, task-based navigation and a dashboard, then saves/publishes and reopens the released app.",
          "repair_id": "ab410-model-driven-build",
          "evidence_spans": [
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 176,
              "end_line": 176,
              "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 178,
              "end_line": 178,
              "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 180,
              "end_line": 180,
              "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-3.7",
          "wording": "Create and configure model-driven app charts and dashboards",
          "initial_reason": "Chart/dashboard nouns do not construct series/category/aggregation or dashboard components.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The chart construction chooses customer category, record-count aggregation and column type, publishes it, adds chart/list to a dashboard and diagnoses missing assets or incorrect counts against view/security semantics.",
          "repair_id": "ab410-model-driven-build",
          "evidence_spans": [
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 176,
              "end_line": 176,
              "span_lf_sha256": "97b96bf804b024a96245a6fcced73f787fd5a256e7d0160ae46b5fe7285e56b9"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 178,
              "end_line": 178,
              "span_lf_sha256": "31028b89742071db9b0bf01f7a04a1684bcb19f824b73da9626070625aff288b"
            },
            {
              "heading": "Worked build — a triage app and its evidence",
              "start_line": 180,
              "end_line": 180,
              "span_lf_sha256": "9c1f0d67472bbb7c856704a572941145f407ae444c1f036b91e5781664f68a92"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-4.1",
          "wording": "Create a canvas app using data",
          "initial_reason": "Create-from-data sentence lacks concrete browse/edit/save path.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The app build binds a Dataverse source, gallery Items, form DataSource/Item and fields, then creates/edits/reopens a row. Form OnSuccess/OnFailure separates persisted success from retained input after denial.",
          "repair_id": "ab410-canvas-build",
          "evidence_spans": [
            {
              "heading": "Worked build — data, selection and a verified save",
              "start_line": 194,
              "end_line": 194,
              "span_lf_sha256": "3fa5f855161ee5958eddf49711e0d0f07da1195c2db86c64580a6d7e796324c9"
            },
            {
              "heading": "Worked build — data, selection and a verified save",
              "start_line": 196,
              "end_line": 196,
              "span_lf_sha256": "830d15013552f9b3202389719808983600ef0043b021d87e00b904c77f6a0089"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-4.4",
          "wording": "Create reuseable components, including named formulas, user-defined functions, and component libraries",
          "initial_reason": "Distinguishes formulas/UDFs/components/libraries without reusable I/O definition example.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "A concrete dependency-driven named formula and typed UDF demonstrate reuse; a component has explicit status inputs/error/accessibility contract and library publication/adoption boundary, with invalid-input checks.",
          "repair_id": "ab410-reuse-build",
          "evidence_spans": [
            {
              "heading": "Worked choice — one calculation and one reusable experience",
              "start_line": 221,
              "end_line": 221,
              "span_lf_sha256": "73cad2abfcdf66eec2c4359163ff3e7ff289bf8c0c050f0a9966979a996e76fb"
            },
            {
              "heading": "Worked choice — one calculation and one reusable experience",
              "start_line": 223,
              "end_line": 223,
              "span_lf_sha256": "ed59f5142805a27bb0293c5e33bf7ec5f42ab0bad66669b6b73f3cb7625e51bf"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-5.4",
          "wording": "Configure cloud flow actions",
          "initial_reason": "Action/test categories lack concrete input-action-output mapping.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The batch maps row IDs and categories from authorized retrieval to actions, while the prompt example specifies Run a prompt inputs, returned Text, human review and an outcome condition. Failure/run-after and ledger evidence are explicit.",
          "repair_id": "ab410-flow-build + ab410-prompt-build",
          "evidence_spans": [
            {
              "heading": "Worked flow — classify a small request batch",
              "start_line": 273,
              "end_line": 273,
              "span_lf_sha256": "43d1f313b6ff5ce7d07a16cc9177b546d328e6de81e6afc4821f16a12c052105"
            },
            {
              "heading": "Worked flow — classify a small request batch",
              "start_line": 275,
              "end_line": 275,
              "span_lf_sha256": "dc37dc80e39623995e953c622689cd5be8ba78233a0f564fecdc38d2e4a05a1b"
            },
            {
              "heading": "Worked build — one prompt, two callers",
              "start_line": 317,
              "end_line": 317,
              "span_lf_sha256": "8095e6cb0da31264972663d3e06630cb40720cae18d3ea5ec8ed972e28070efc"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-5.5",
          "wording": "Implement flow control with conditions and loops",
          "initial_reason": "Conditions/loops distinguished but no worked bounded branch/loop failure path.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "A for-each request batch retrieves current rows, branches open versus skipped, preserves ordering until justified and handles failure/timeout separately. Empty, closed, denied and duplicate cases have distinct expected ledger effects.",
          "repair_id": "ab410-flow-build",
          "evidence_spans": [
            {
              "heading": "Worked flow — classify a small request batch",
              "start_line": 273,
              "end_line": 273,
              "span_lf_sha256": "43d1f313b6ff5ce7d07a16cc9177b546d328e6de81e6afc4821f16a12c052105"
            },
            {
              "heading": "Worked flow — classify a small request batch",
              "start_line": 275,
              "end_line": 275,
              "span_lf_sha256": "dc37dc80e39623995e953c622689cd5be8ba78233a0f564fecdc38d2e4a05a1b"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-6.1",
          "wording": "Build prompts from templates or from blank",
          "initial_reason": "Robust contract but no blank/template build-and-save test workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "Prompt creation from blank/template now defines a real Text input and category/justification/unknown contract, supplies representative/adversarial samples, revises against a rubric and saves before integration.",
          "repair_id": "ab410-prompt-build",
          "evidence_spans": [
            {
              "heading": "Worked build — one prompt, two callers",
              "start_line": 313,
              "end_line": 313,
              "span_lf_sha256": "76f3677b3305365205077f152599395de763a7578ab9422e448553cb20e8567a"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-6.2",
          "wording": "Consume a prompt in apps",
          "initial_reason": "Progress/validation described without app input-output binding example.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "App consumption explicitly adds the saved prompt as data, calls Predict with the input value, retains the returned record and binds its text for review while inspecting actual JSON/text shape and handling invocation error.",
          "repair_id": "ab410-prompt-build",
          "evidence_spans": [
            {
              "heading": "Worked build — one prompt, two callers",
              "start_line": 315,
              "end_line": 315,
              "span_lf_sha256": "7dea12fa29c60acb4cbd8c67423c02c063abf237901226fa26662d06db460cca"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-6.3",
          "wording": "Consume a prompt in cloud flows",
          "initial_reason": "Controlled generation/JSON described without flow binding/consumption sequence.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "Flow consumption selects a saved prompt, maps the prior validated Text input, routes returned Text to review and branches on the explicit approval outcome before using accepted text; denial/timeout/category cases remain unexecuted checks.",
          "repair_id": "ab410-prompt-build",
          "evidence_spans": [
            {
              "heading": "Worked build — one prompt, two callers",
              "start_line": 317,
              "end_line": 317,
              "span_lf_sha256": "8095e6cb0da31264972663d3e06630cb40720cae18d3ea5ec8ed972e28070efc"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-6.7",
          "wording": "Consume an AI model in apps",
          "initial_reason": "Model choice/confidence gate lacks app input-output construction.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "A concrete OCR component loads a receipt image and exposes FullText versus Selected.Text for review beside the original, preventing an extracted amount/date from becoming authoritative without business validation.",
          "repair_id": "ab410-model-build",
          "evidence_spans": [
            {
              "heading": "Worked build — consume an OCR model through both surfaces",
              "start_line": 329,
              "end_line": 329,
              "span_lf_sha256": "5dc0e196395cb888d4c183d277acf1f9698153661f0d12b181c8da12d12cd6e8"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-6.8",
          "wording": "Consume an AI model in cloud flows",
          "initial_reason": "Model selection lacks flow invocation mapping and low-confidence branch.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The OCR flow maps file content into Recognize text Image input, chooses full-document or pages/lines output deliberately and routes unreadable/empty/business-invalid values to review without inventing unavailable confidence fields.",
          "repair_id": "ab410-model-build",
          "evidence_spans": [
            {
              "heading": "Worked build — consume an OCR model through both surfaces",
              "start_line": 331,
              "end_line": 331,
              "span_lf_sha256": "7376241252f2e04635ba22ecdd0ad97777212c2bced2002d728918bcf2d3e6ef"
            }
          ]
        },
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-7.2",
          "wording": "Configure business process flows",
          "initial_reason": "BPF only defined; no staged required steps, validation, activation or instance-security example.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The BPF build creates Intake/Review/Close stages, customer/category/disposition data steps, required-step semantics, validation/save/activation and instance privileges; missing category, read-only observer and required-Boolean behavior are distinguished from API authorization.",
          "repair_id": "ab410-bpf-build",
          "evidence_spans": [
            {
              "heading": "Worked build — a guided triage process",
              "start_line": 363,
              "end_line": 363,
              "span_lf_sha256": "dc04b37b9193962e19162e273bbfc1604cfb84c38eea405572681a112ba38448"
            },
            {
              "heading": "Worked build — a guided triage process",
              "start_line": 365,
              "end_line": 365,
              "span_lf_sha256": "0b42bde7a4f15469276ba442b8df1ff6afc5a7fe30e12b7d3488175071ee3cce"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-2.2",
          "wording": "Design and implement governance and compliance by using Azure Policy",
          "initial_reason": "Lists Policy controls without scope/audit/remediation/exception workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The worked policy scopes an assignment, parameters and audit/enforcement pilot to a test resource group, inspects compliant/noncompliant resources and denied creation separately, and covers exemptions plus identity/remediation requirements.",
          "repair_id": "az120-policy-build",
          "evidence_spans": [
            {
              "heading": "Worked control — enforce a boundary without an estate-wide surprise",
              "start_line": 183,
              "end_line": 183,
              "span_lf_sha256": "98364b60e8c1215fa27fb9faec40b26ce903eb63a77a983acd4d0fd60a04f8c5"
            },
            {
              "heading": "Worked control — enforce a boundary without an estate-wide surprise",
              "start_line": 185,
              "end_line": 185,
              "span_lf_sha256": "f520a54c0d3752b6e3153a702b16cca0fb0ea87ffae1ddbc3ad0d7f4452cc080"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-3.2",
          "wording": "Implement networking for SAP RISE",
          "initial_reason": "Bilateral permissions named without worked peering/route/DNS handoff.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The RISE handoff exchanges exact VNet IDs and bilateral permissions/approvals, implements return routes/ports, then resolves the actual runtime SAP name; peering state is not substituted for a working authorized transaction.",
          "repair_id": "az120-rise-build",
          "evidence_spans": [
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 225,
              "end_line": 225,
              "span_lf_sha256": "7448ad39a28eba30ab4f56bc922ea32ee6c414f80dbb33fc818f2f6303097248"
            },
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 227,
              "end_line": 227,
              "span_lf_sha256": "3c76de11eb0f0b3f29b3d47361c52799f36982dd7276173c6340fc4312a2508e"
            },
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 229,
              "end_line": 229,
              "span_lf_sha256": "5f34739d5c5e40cacdca6d7f8115da2989e078c302e6205ea488eb73794e8e8d"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-3.3",
          "wording": "Design and implement Azure compute, network, and storage services with SAP RISE",
          "initial_reason": "Service categories lack customer-side implementation transaction.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "Customer-owned service implementation is traced from approved SAP interface and connector to runtime/driver/identity, customer storage destination and readback/denied-path checks, while RISE infrastructure remains SAP-owned.",
          "repair_id": "az120-rise-build",
          "evidence_spans": [
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 225,
              "end_line": 225,
              "span_lf_sha256": "7448ad39a28eba30ab4f56bc922ea32ee6c414f80dbb33fc818f2f6303097248"
            },
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 227,
              "end_line": 227,
              "span_lf_sha256": "3c76de11eb0f0b3f29b3d47361c52799f36982dd7276173c6340fc4312a2508e"
            },
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 229,
              "end_line": 229,
              "span_lf_sha256": "5f34739d5c5e40cacdca6d7f8115da2989e078c302e6205ea488eb73794e8e8d"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-3.4",
          "wording": "Design and implement integration of data management services such as data archiving",
          "initial_reason": "Archiving named without endpoint/auth/network/write-read setup.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "A bounded integration read archives approved SAP data to customer storage, re-reads it and checks counts/retention/access, explicitly distinguishing copying from SAP archive deletion, authorization and full recoverability.",
          "repair_id": "az120-rise-build",
          "evidence_spans": [
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 225,
              "end_line": 225,
              "span_lf_sha256": "7448ad39a28eba30ab4f56bc922ea32ee6c414f80dbb33fc818f2f6303097248"
            },
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 227,
              "end_line": 227,
              "span_lf_sha256": "3c76de11eb0f0b3f29b3d47361c52799f36982dd7276173c6340fc4312a2508e"
            },
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 229,
              "end_line": 229,
              "span_lf_sha256": "5f34739d5c5e40cacdca6d7f8115da2989e078c302e6205ea488eb73794e8e8d"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-3.5",
          "wording": "Design and implement integration of identity and security services with SAP RISE",
          "initial_reason": "Federation/security mentioned without SSO/role/security-signal handoff.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The handoff selects SSO by actual SAP client, exchanges metadata/certificates with the responsible owner, maps identity, tests permitted/denied SAP operations and validates customer application-security signals; AMS/ACSS integration with RISE is explicitly excluded.",
          "repair_id": "az120-rise-build",
          "evidence_spans": [
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 225,
              "end_line": 225,
              "span_lf_sha256": "7448ad39a28eba30ab4f56bc922ea32ee6c414f80dbb33fc818f2f6303097248"
            },
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 227,
              "end_line": 227,
              "span_lf_sha256": "3c76de11eb0f0b3f29b3d47361c52799f36982dd7276173c6340fc4312a2508e"
            },
            {
              "heading": "Worked handoff — customer service to a RISE interface",
              "start_line": 229,
              "end_line": 229,
              "span_lf_sha256": "5f34739d5c5e40cacdca6d7f8115da2989e078c302e6205ea488eb73794e8e8d"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-4.5",
          "wording": "Automate a deployment of Azure virtual machines by using IaC, including Bicep and Azure Resource Manager (ARM) templates",
          "initial_reason": "IaC comparison lacks parameter-resource/validate/what-if/deploy sequence.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "A concrete SID deployment record freezes support/sizing/network/identity/quota inputs, supplies typed ARM/Bicep parameters and resource dependencies, protects secrets, reviews validation/what-if and checks actual resources separately from guest/SAP initialization.",
          "repair_id": "az120-deployment-build",
          "evidence_spans": [
            {
              "heading": "Worked deployment record — the same SID through three approaches",
              "start_line": 361,
              "end_line": 361,
              "span_lf_sha256": "9de4a3486f7746549445da87e6ea8d7557ab1f48280a2de97af93d058f2597a6"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-4.6",
          "wording": "Automate a deployment by using the SAP Deployment Automation Framework",
          "initial_reason": "Framework tiers lack ordered state/region/workload/system/configuration workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The ordered SDAF workflow separates pinned parameters/state and regional control/media from workload-zone, system infrastructure and OS/HANA/SAP configuration, with reviewed plans, retained outputs and independent acceptance/recovery.",
          "repair_id": "az120-deployment-build",
          "evidence_spans": [
            {
              "heading": "Worked deployment record — the same SID through three approaches",
              "start_line": 363,
              "end_line": 363,
              "span_lf_sha256": "446d96fc4f7dfed92986a54bf22f33394d9010fcece71175a30d36c255f0c89a"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-4.7",
          "wording": "Automate a deployment by using Azure Center for SAP solutions",
          "initial_reason": "Guided option lacks permission/topology/installation-validation sequence.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The ACSS workflow prepares provider/identity/RBAC, creates the SID and topology/network/sizing/storage plan, separates infrastructure from SAP installation and checks VIS against real instances; no deployment success is claimed.",
          "repair_id": "az120-deployment-build",
          "evidence_spans": [
            {
              "heading": "Worked deployment record — the same SID through three approaches",
              "start_line": 365,
              "end_line": 365,
              "span_lf_sha256": "a38127aeb972ea80c194079bb5794302ca65eb777fdd20138056955c52f49075"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-5.3",
          "wording": "Design and configure proximity placement groups",
          "initial_reason": "PPG is only related-item option, no attachment/alignment check for explicit objective.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The PPG change creates/attaches placement at the proper resource level, plans stop/deallocation for an existing deployment, checks allocation/alignment and actual latency, and distinguishes single-zone colocation from capacity guarantee or multi-zone resilience.",
          "repair_id": "az120-placement-endpoint-build",
          "evidence_spans": [
            {
              "heading": "Worked network changes — placement and private storage resolution",
              "start_line": 278,
              "end_line": 278,
              "span_lf_sha256": "ee2b9651419c579330766a6f2ee272f9961912cb5e4c1e2fdf5db8778c9b69cf"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-5.7",
          "wording": "Design and implement service endpoints and private endpoints for Azure Storage",
          "initial_reason": "Endpoint comparison lacks firewall/subnet/private-DNS construction and denied-path test.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The endpoint workflow implements subnet/service firewall access or an approved private subresource with private DNS, then verifies normal-name resolution, routes, authorized data operation and denial from unintended paths instead of treating creation as proof of privacy.",
          "repair_id": "az120-placement-endpoint-build",
          "evidence_spans": [
            {
              "heading": "Worked network changes — placement and private storage resolution",
              "start_line": 280,
              "end_line": 280,
              "span_lf_sha256": "92680642b828c9e05cbca782325b60ef8c07611074f8e79ae97687b0274bdbe0"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-6.6",
          "wording": "Configure Write Accelerator",
          "initial_reason": "Correct WA scope but lacks eligible disk/change/validation workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The Write Accelerator change identifies eligible log disks and limits, requires workload shutdown for a standalone disk and VM shutdown for a stripe, uses supported caching, changes all stripe members and verifies mount/write/latency with recovery and reversal.",
          "repair_id": "az120-storage-build",
          "evidence_spans": [
            {
              "heading": "Worked storage assembly — preserve volume role and access",
              "start_line": 305,
              "end_line": 305,
              "span_lf_sha256": "a4fe31cacf17c460bc556e9db620f5c8aaccbe8bf060d6aadc300bf56793e4a0"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-6.8",
          "wording": "Design and implement volumes by using Azure NetApp Files",
          "initial_reason": "ANF parameter list lacks subnet/pool/volume/export/mount/validation sequence.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The ANF build prepares account/manual-QoS pool/delegated subnet and configures HANA volume-group SID/memory/role/placement/network/keys/export/quota/throughput, followed by intended/denied host mount and persistence checks.",
          "repair_id": "az120-storage-build",
          "evidence_spans": [
            {
              "heading": "Worked storage assembly — preserve volume role and access",
              "start_line": 307,
              "end_line": 307,
              "span_lf_sha256": "1e9a1b5e5ae67d262128fc6b55f3fd41d7e8c80f9cff6692ddbeda9dba45419f"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-6.9",
          "wording": "Design and implement volumes by using Azure Files",
          "initial_reason": "Azure Files named without protocol/network/share/mount/persistence workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The specific SLES shared-files workflow creates a supported account/share/protocol/redundancy/network/private-DNS combination, configures SAP directories/UID/GID/mount persistence and tests each node plus denied paths, without claiming HANA data/log support.",
          "repair_id": "az120-storage-build",
          "evidence_spans": [
            {
              "heading": "Worked storage assembly — preserve volume role and access",
              "start_line": 309,
              "end_line": 309,
              "span_lf_sha256": "557fb82ae80451a836bc15e7d026c6b4f90a35dfc55db4fb3b341078a314b33d"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-7.3",
          "wording": "Design and implement load balancing for high availability",
          "initial_reason": "LB named without frontend/backend/probe/rule/NSG construction.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The selected listener construction configures Standard LB frontend/backends/probe/rule and actual NSG/firewall paths with topology-specific cluster/floating-IP settings, then tests current-owner probe and SAP connection through the listener across failover.",
          "repair_id": "az120-sql-lb-replication-build",
          "evidence_spans": [
            {
              "heading": "Worked HA change plan — listener, replicas and storage ownership",
              "start_line": 400,
              "end_line": 400,
              "span_lf_sha256": "7aa146ea1e9bd00a813d6da3813e4c09664e7af35d8f2583d1b31d35e3e30097"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-7.5",
          "wording": "Configure clustering for SQL",
          "initial_reason": "AG versus FCI choice lacks SQL cluster/listener/sync/failover workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The SQL sequence prepares supported identities/nodes/quorum/endpoints/recovery material, enables Always On, creates/seeds/joins the AG and selects commit/failover/listener modes; tests use synchronized replicas and listener-name transactions rather than a node-local connection.",
          "repair_id": "az120-sql-lb-replication-build",
          "evidence_spans": [
            {
              "heading": "Worked HA change plan — listener, replicas and storage ownership",
              "start_line": 398,
              "end_line": 398,
              "span_lf_sha256": "ed2187798335f549881ad62843aeb2b95e558558b595f3687a948e92a159fa0f"
            },
            {
              "heading": "Worked HA change plan — listener, replicas and storage ownership",
              "start_line": 400,
              "end_line": 400,
              "span_lf_sha256": "7aa146ea1e9bd00a813d6da3813e4c09664e7af35d8f2583d1b31d35e3e30097"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-7.8",
          "wording": "Design and configure storage-level replication for SAP workloads",
          "initial_reason": "Storage choices named without source/destination/cluster replication workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The concrete Windows ASCS/SCS DataKeeper example attaches corresponding volumes, installs/configures both ends, creates a synchronous mirror and exposes/verifies a WSFC disk/owner. Product support, single-writer/failover/resync and distinction from SQL AG or backup remain bounded.",
          "repair_id": "az120-sql-lb-replication-build",
          "evidence_spans": [
            {
              "heading": "Worked HA change plan — listener, replicas and storage ownership",
              "start_line": 402,
              "end_line": 402,
              "span_lf_sha256": "006c9cd1f0ee0b407bf069b0f24730e9437afaaa2aefe2f584b3129d15cc0c6a"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-8.7",
          "wording": "Perform backup and restore",
          "initial_reason": "Policy and calculations lack ordered alternate-target restore/validation.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The alternate-location restore selects usable time/chain, host/instance/database name and same-region/vault readiness, verifies permissions/keys/capacity/collisions, checks restored consistency/business transaction and measures RPO/RTO. Active-HSR and disputed stop/resume paths remain excluded.",
          "repair_id": "az120-restore-build",
          "evidence_spans": [
            {
              "heading": "Worked restore plan — recover a copy before overwriting anything",
              "start_line": 470,
              "end_line": 470,
              "span_lf_sha256": "f7e0b77aeb27682400c582613e74a919523384fa35a792606bfe34463981495d"
            },
            {
              "heading": "Worked restore plan — recover a copy before overwriting anything",
              "start_line": 472,
              "end_line": 472,
              "span_lf_sha256": "f7f8a71b0f9d1d093c5077c1230f4b580db86559c3eca227142ba501b48929b6"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-10.9",
          "wording": "Implement the SAP Landscape Management (LaMa) connector for Azure",
          "initial_reason": "Identity/scope described without connector provider/test-operation/removal workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The LaMa procedure establishes supported identity/resource-group rights, configures adapter tenant/subscription/endpoint/identity fields, tests discovered scope, bounds optional disk changes and plans a reversible SAP/VM/mount transaction without claiming execution.",
          "repair_id": "az120-lama-build",
          "evidence_spans": [
            {
              "heading": "Worked connector setup — scoped discovery before lifecycle action",
              "start_line": 547,
              "end_line": 547,
              "span_lf_sha256": "dd2b2d18bafafd31809d4576ba092d5c4cf2fb81dcd1e3f249184420adc59834"
            },
            {
              "heading": "Worked connector setup — scoped discovery before lifecycle action",
              "start_line": 549,
              "end_line": 549,
              "span_lf_sha256": "8f26a1faf876e35a19a91ef0a1fbdb84a28b046ec83117cd1f93b9290472556c"
            }
          ]
        },
        {
          "exam_code": "AZ-802",
          "objective_id": "AZ-802-16.3",
          "wording": "Monitor servers and configure alerts by using Windows Admin Center",
          "initial_reason": "Lists WAC monitoring tools but lacks alert threshold/action/verification workflow.",
          "historical_disposition": "resolved operational-teaching omission; current automatic-onboarding UI remains provisional",
          "current_reason": "The worked path observes actual WAC counters/events, follows the described portal alert link, defines scope/signal/threshold/window/action and proves alert plus delivery. It explicitly rejects stale MMA onboarding, uses AMA/DCR and a portal fallback, and leaves the exact current automatic WAC UI contract unconfirmed.",
          "repair_id": "az802-wac-alert-workflow",
          "evidence_spans": [
            {
              "heading": "Use Windows Admin Center, System Insights, and event logs",
              "start_line": 726,
              "end_line": 726,
              "span_lf_sha256": "b3d089312a4875a794b664070bcf9c1d60baf7004a4056b3ead3ace02f2517ff"
            },
            {
              "heading": "Worked monitoring path — from WAC observation to a delivered alert",
              "start_line": 734,
              "end_line": 734,
              "span_lf_sha256": "4f08774e66cb576655c3c870469aa756a6727bff7c47763cdc99225479c0031f"
            },
            {
              "heading": "Worked monitoring path — from WAC observation to a delivered alert",
              "start_line": 736,
              "end_line": 736,
              "span_lf_sha256": "f16722f2ce6ebf582504a45614000230ddf501e7194ad418b5b47522d12cdf54"
            }
          ]
        },
        {
          "exam_code": "MO-110",
          "objective_id": "MO-110-2.1",
          "wording": "Set up document pages",
          "initial_reason": "Page layout named without concrete margin/size/page setup.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The Windows production exercise sets custom margins and required size/orientation in the intended sections and inspects actual layout before creating delivery artifacts.",
          "repair_id": "mo110-document-production",
          "evidence_spans": [
            {
              "heading": "Worked production — prepare two distinct deliverables",
              "start_line": 56,
              "end_line": 56,
              "span_lf_sha256": "cf3008efb7025f0a664a3c2b37bc27065eee2f93d430eaa36ada61155596029e"
            }
          ]
        },
        {
          "exam_code": "MO-110",
          "objective_id": "MO-110-2.3",
          "wording": "Insert and modify headers and footers",
          "initial_reason": "Section scope explained but no inserting/modifying header/page-number example.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The exercise inserts/edits a header, enters title/document information, checks section linkage and exits editing; it retains existing explanations of independent section header/footer behavior.",
          "repair_id": "mo110-document-production",
          "evidence_spans": [
            {
              "heading": "Worked production — prepare two distinct deliverables",
              "start_line": 56,
              "end_line": 56,
              "span_lf_sha256": "cf3008efb7025f0a664a3c2b37bc27065eee2f93d430eaa36ada61155596029e"
            }
          ]
        },
        {
          "exam_code": "MO-110",
          "objective_id": "MO-110-2.4",
          "wording": "Configure page background elements",
          "initial_reason": "Background choices named without configuring one and checking output.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The production exercise creates a page border through Design/Page Borders and checks preview/printable margins, distinguishing visible appearance from reliable delivered output.",
          "repair_id": "mo110-document-production",
          "evidence_spans": [
            {
              "heading": "Worked production — prepare two distinct deliverables",
              "start_line": 56,
              "end_line": 56,
              "span_lf_sha256": "cf3008efb7025f0a664a3c2b37bc27065eee2f93d430eaa36ada61155596029e"
            }
          ]
        },
        {
          "exam_code": "MO-110",
          "objective_id": "MO-110-3.1",
          "wording": "Save and export documents in alternative file formats",
          "initial_reason": "Save As/export named without selecting format/separate-output workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The production workflow preserves an editable DOCX and creates a separate PDF, opens that output independently and compares headings, pagination, table breaks and images instead of assuming export preserves layout.",
          "repair_id": "mo110-document-production",
          "evidence_spans": [
            {
              "heading": "Worked production — prepare two distinct deliverables",
              "start_line": 58,
              "end_line": 58,
              "span_lf_sha256": "3635e708205fb5acc3cba338a52f4cdf09bb75d9c80a35e4094394fb26bd0ecd"
            }
          ]
        },
        {
          "exam_code": "MO-110",
          "objective_id": "MO-110-3.2",
          "wording": "Modify built-in document properties",
          "initial_reason": "Properties/removal named without modifying a built-in property.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The exercise edits the built-in Title under File/Info, saves/closes/reopens to verify it and distinguishes editable metadata from filename and automatically maintained statistics.",
          "repair_id": "mo110-document-production",
          "evidence_spans": [
            {
              "heading": "Worked production — prepare two distinct deliverables",
              "start_line": 58,
              "end_line": 58,
              "span_lf_sha256": "3635e708205fb5acc3cba338a52f4cdf09bb75d9c80a35e4094394fb26bd0ecd"
            }
          ]
        },
        {
          "exam_code": "MO-110",
          "objective_id": "MO-110-3.3",
          "wording": "Modify print settings",
          "initial_reason": "Print settings named without page-range/markup/copies/preview choices.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The exercise chooses printer, page range, copies and markup, previews selected pages and contrasts a requested pages-1-and-3 clean output with all-pages/comment output; print selection and PDF export remain distinct.",
          "repair_id": "mo110-document-production",
          "evidence_spans": [
            {
              "heading": "Worked production — prepare two distinct deliverables",
              "start_line": 60,
              "end_line": 60,
              "span_lf_sha256": "b78e073e9c14b8fd1f2f71673c4c8649eaa97042a96131ebc4886eb01d8789f8"
            }
          ]
        },
        {
          "exam_code": "MO-110",
          "objective_id": "MO-110-3.4",
          "wording": "Share documents electronically",
          "initial_reason": "Sharing inspection lacks saved-file/recipient/permission workflow.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The cloud collaboration workflow saves an authorized test copy, names the recipient and view/edit permission, tests the recipient and denied edit, and distinguishes a shared-file link from a detached attachment with platform/build limits.",
          "repair_id": "mo110-document-production",
          "evidence_spans": [
            {
              "heading": "Worked production — prepare two distinct deliverables",
              "start_line": 64,
              "end_line": 64,
              "span_lf_sha256": "e59ff533152d600a66558eda53925c8f2d4bc5dc84607bf0a084d142ecf1946e"
            }
          ]
        },
        {
          "exam_code": "MO-110",
          "objective_id": "MO-110-4.2",
          "wording": "Locate and correct accessibility issues",
          "initial_reason": "Inspect accessibility instruction lacks locate/fix/recheck or concrete correction.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The accessibility workflow opens the checker, navigates a specific finding to its object, applies a meaningful correction such as purposeful alternative text, rechecks and independently inspects reading order/contrast instead of treating a clean checker as proof.",
          "repair_id": "mo110-document-production",
          "evidence_spans": [
            {
              "heading": "Worked production — prepare two distinct deliverables",
              "start_line": 62,
              "end_line": 62,
              "span_lf_sha256": "583e0dcf4663c9acc552f55f862d27728325dc82461f2bfaca8616b6f122e86a"
            }
          ]
        },
        {
          "exam_code": "MO-110",
          "objective_id": "MO-110-8.3",
          "wording": "Create tables by specifying rows and columns",
          "initial_reason": "Dimensions named without concrete insertion and resulting structure.",
          "historical_disposition": "resolved; substantive worked treatment",
          "current_reason": "The table exercise selects explicit row/column dimensions, enters a header plus three records, verifies twelve native cells, sorts with a real header and checks that quantity remains attached to its item; it preserves a copy before structural changes.",
          "repair_id": "mo110-table-construction",
          "evidence_spans": [
            {
              "heading": "Worked build — a table with a predictable shape",
              "start_line": 88,
              "end_line": 88,
              "span_lf_sha256": "822c61c89858c8ee3c9c687fac87385d5b649aefc5e0fad7400a8678e9cdaad1"
            }
          ]
        }
      ],
      "retained_initial_provisional_dispositions": [
        {
          "exam_code": "AB-410",
          "objective_id": "AB-410-6.4",
          "wording": "Add knowledge to a prompt",
          "disposition": "retained evidence blocker; useful provisional treatment preserved",
          "reason": "Grounding/retrieval limits taught; SAP support internally inconsistent in first-party docs. Final reread confirms the passage keeps the specific support/applicability gap visible and does not convert proposed tests into an executed or universal recipe.",
          "evidence_spans": [
            {
              "heading": "Build a prompt as a governed input-output contract",
              "start_line": 295,
              "end_line": 309,
              "span_lf_sha256": "a45c905defa65c29e37dc25b66023a396f110929289fcc8a7384a031fa866b1d"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-8.6",
          "wording": "Configure and validate snapshots and backups for SAP workloads",
          "disposition": "retained evidence blocker; useful provisional treatment preserved",
          "reason": "Native logical HSR and FAQ node recipe lack explicit applicability; disputed transition unexecuted. Final reread confirms the passage keeps the specific support/applicability gap visible and does not convert proposed tests into an executed or universal recipe.",
          "evidence_spans": [
            {
              "heading": "HSR backup: identify the protection model first",
              "start_line": 462,
              "end_line": 466,
              "span_lf_sha256": "a152e68bac587dd262e72254798a12fa988be9a80f94c32004e036bf9d0e4344"
            }
          ]
        },
        {
          "exam_code": "AZ-120",
          "objective_id": "AZ-120-10.6",
          "wording": "Manage backups by using Azure Backup",
          "disposition": "retained evidence blocker; useful provisional treatment preserved",
          "reason": "Managing native HSR remains bounded by FAQ applicability conflict. Final reread confirms the passage keeps the specific support/applicability gap visible and does not convert proposed tests into an executed or universal recipe.",
          "evidence_spans": [
            {
              "heading": "Backup and restore",
              "start_line": 447,
              "end_line": 466,
              "span_lf_sha256": "4872c3e9cc9c2a4790dd93c180e77f3ce7a5b7e3b539836cd9d7c6825ea4a57b"
            }
          ]
        },
        {
          "exam_code": "AZ-802",
          "objective_id": "AZ-802-7.2",
          "wording": "Manage VMs remotely by using PowerShell, PowerShell Direct, and SSH Direct for Linux guests",
          "disposition": "retained evidence blocker; useful provisional treatment preserved",
          "reason": "PowerShell/network paths distinguished; SSH Direct lacks current support contract despite provisional substrate evidence. Final reread confirms the passage keeps the specific support/applicability gap visible and does not convert proposed tests into an executed or universal recipe.",
          "evidence_spans": [
            {
              "heading": "Configure Hyper-V guests and management paths",
              "start_line": 304,
              "end_line": 311,
              "span_lf_sha256": "c0b80c5a5811d589b9bc40ca6311b999894c7e670c554a12a1d8f0462a85fd2d"
            }
          ]
        }
      ],
      "additional_retained_limits": [
        {
          "exam_code": "AZ-802",
          "objective_id": "AZ-802-16.3",
          "classification": "Bounded WAC interface/support limitation; initial lack-of-workflow flag is addressed.",
          "reason": "Old WAC article teaches MMA/retired services. Current guide explicitly rejects that onboarding, provides AMA/DCR and portal alerting, and requires current extension/UI verification."
        },
        {
          "exam_code": "AB-410",
          "classification": "Assessment announcement versus inspected access",
          "reason": "Current public pages announce Navigator assessment requiring sign-in. Neither launch nor questions/count/performance were inspected."
        },
        {
          "exam_code": "AZ-802",
          "classification": "Conflicting official Practice Assessment publication",
          "reason": "Study guide announces Navigator access; credential page still says unavailable. Both observations remain explicit, with no signed-in access or question claim."
        },
        {
          "exam_code": "AZ-802",
          "classification": "Official Lab 0 feasibility restriction",
          "reason": "Both recommendation and resource route warn setup is under development and must not be used to provision; a separately supplied verified environment or reading/tabletop is required."
        }
      ],
      "initial_span_errata": [
        {
          "objective_id": "AB-410-1.3",
          "initial_span": {
            "heading": "Start with outcome, process, data, and risk",
            "start_line": 68,
            "end_line": 76,
            "span_lf_sha256": "410be224a2f4e1703d8b8b74a759a23b2eaa1a81b2641ac4bccfe65ce105dd67"
          },
          "issue": "Independent reviewer, relayed by coordinator, identified that the initial 68–76 selection excluded the actual extensibility row at line 78. Extended explicitly to 68–78; prior final release preserved. This corrects evidence selection, not guide prose.",
          "current_evidence_spans": [
            {
              "heading": "Start with outcome, process, data, and risk",
              "start_line": 68,
              "end_line": 78,
              "span_lf_sha256": "e4834807a6ec19d702afbf30e99a68be500c60f96c7e8e5fc81f646783032fb9"
            }
          ]
        },
        {
          "objective_id": "AZ-120-5.9",
          "initial_span": {
            "heading": "Design networking from flows",
            "start_line": 251,
            "end_line": 251,
            "span_lf_sha256": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b"
          },
          "issue": "Initial range selected a blank line despite a substantive semantic reason. Original matrix is preserved; final mapping explicitly selects the actual complete teaching paragraph. This is an evidence-binding correction, not an added guide omission.",
          "current_evidence_spans": [
            {
              "heading": "Design networking from flows",
              "start_line": 264,
              "end_line": 264,
              "span_lf_sha256": "fb6137e3b7d9d557cd344b7e6fed42a7150bcd342db5dbd6ddceb32fc77fbede"
            }
          ]
        },
        {
          "objective_id": "AZ-120-9.6",
          "initial_span": {
            "heading": "Optimize performance and cost",
            "start_line": 484,
            "end_line": 484,
            "span_lf_sha256": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b"
          },
          "issue": "Initial range selected a blank line despite a substantive semantic reason. Original matrix is preserved; final mapping explicitly selects the actual complete teaching paragraph. This is an evidence-binding correction, not an added guide omission.",
          "current_evidence_spans": [
            {
              "heading": "Optimize performance and cost",
              "start_line": 535,
              "end_line": 535,
              "span_lf_sha256": "bba1dbe8859fb1d87ca9d6a2ad4050eb07447efd1e898dbe918ca7f234ec2695"
            }
          ]
        },
        {
          "objective_id": "AZ-802-9.1",
          "initial_span": {
            "heading": "Design name resolution from authority outward",
            "start_line": 406,
            "end_line": 406,
            "span_lf_sha256": "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b"
          },
          "issue": "Initial range selected a blank line despite a substantive semantic reason. Original matrix is preserved; final mapping explicitly selects the actual complete teaching paragraph. This is an evidence-binding correction, not an added guide omission.",
          "current_evidence_spans": [
            {
              "heading": "Design name resolution from authority outward",
              "start_line": 407,
              "end_line": 407,
              "span_lf_sha256": "d52873c63f231f7a9a65c84f5262cb9beeea8c640e0376eecbafb1bd6310bdfa"
            }
          ]
        }
      ],
      "mo110_detailed_evidence": {
        "url": "https://arch-center.azureedge.net/Learning/Credentials/MO-110_OD_MOS365_Word.pdf",
        "pdf_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-mo110-skills.pdf",
        "pdf_raw_sha256": "ab1ecc06ab88436e02d86dfdc926aebecc95a54b30eb3a74ac9f13a53947155d",
        "pdf_pages_read": [
          1,
          2,
          3
        ],
        "extracted_text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-source-mo110-skills.txt",
        "extracted_text_raw_sha256": "c666a8f69332a0ff23ec999c2f596e02b8799352d439f58b98fdb8c3cb73c849",
        "extracted_text_lf_sha256": "c666a8f69332a0ff23ec999c2f596e02b8799352d439f58b98fdb8c3cb73c849",
        "extraction_method": "pypdf PdfReader page.extract_text(), all three pages joined with LF; complete output retained. Individual task whitespace normalized only for wording hashes.",
        "detailed_task_count": 70,
        "detailed_group_count": 18,
        "normalized_task_list_sha256": "70f4489bcf4b803536d1247509cb8f2a0f6761734b9f4cb97c962a7301285407",
        "durability_note": "Coordinator should retain these supplemental bytes/text in a dated objective artifact or review ledger; do not replace or misdescribe the coarse accepted baseline."
      },
      "mo110_coarse_baseline_boundary": "The accepted raw objective snapshot is the unchanged six-domain adapter. Detailed 70-task coverage is bound separately to PDF bytes and extracted text. No false detailed-wording-in-coarse assertion.",
      "coordinator_followups_reread": [
        {
          "exam_code": "AB-410",
          "old_text": "**Upcoming blueprint change:** None announced on the official study guide as of September 28, 2026.<br>",
          "replacement_markdown": "**Upcoming blueprint change:** None announced on the official study guide as of October 28, 2026.<br>",
          "reason": "Current collector has no upcoming announcement; retain historical review prose separately."
        },
        {
          "exam_code": "AZ-120",
          "old_text": "**Upcoming blueprint change:** None announced on the official study guide as of September 28, 2026.<br>",
          "replacement_markdown": "**Upcoming blueprint change:** None announced on the official study guide as of October 28, 2026.<br>",
          "reason": "Current collector has no upcoming announcement; retain historical review prose separately."
        },
        {
          "exam_code": "AZ-120",
          "old_text": "**Certification lifecycle:** Active; no retirement or replacement is announced on the [official credential page](https://learn.microsoft.com/en-us/credentials/certifications/azure-for-sap-workloads-specialty/) as of September 28, 2026.<br>",
          "replacement_markdown": "**Certification lifecycle:** Active; no retirement or replacement is announced on the [official credential page](https://learn.microsoft.com/en-us/credentials/certifications/azure-for-sap-workloads-specialty/) as of October 28, 2026.<br>",
          "reason": "Current official credential body checked by exam researcher."
        },
        {
          "exam_code": "MO-110",
          "old_text": "**Change watch:** No MO-110 retirement or replacement is listed on the credential page or the [exam retirement list](https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams), checked September 28, 2026. The current [credential-expiration policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) specifies five years for MOS; check your own earned credential's dates.<br>",
          "replacement_markdown": "**Change watch:** No MO-110 retirement or replacement is listed on the credential page or the [exam retirement list](https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams), checked October 28, 2026. The current [credential-expiration policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) specifies five years for MOS; check your own earned credential's dates.<br>",
          "reason": "Current credential and retirement-list check by exam researcher."
        },
        {
          "exam_code": "AZ-802",
          "old_text": "| [Microsoft AZ-800 training/course](https://learn.microsoft.com/en-us/training/courses/az-800t00) | Self-directed modules free; instructor-led access varies | 4 instructor-led days; selectively plan 15–30 hr | Reuse AD DS, Group Policy, hybrid server management, Hyper-V/Azure VM, DNS/DHCP, and file-service foundations |",
          "replacement_markdown": "| [Historical AZ-800 course URL](https://learn.microsoft.com/en-us/training/courses/az-800t00) | October 28 check redirects to the general training browser; the specific course outline is unavailable at this URL | Earlier listing: 4 days; not a current verified runtime | Use the current documentation above for AD DS, Group Policy, hybrid server management, VM, network and file-service foundations; this redirect does not establish an available course or its coverage |",
          "reason": "Initial source-health detected a material destination change; coordinator independently reopened both redirects. Preserve historical listing identity without presenting a general browser as a specific current course."
        },
        {
          "exam_code": "AZ-802",
          "old_text": "| [Microsoft AZ-801 training/course](https://learn.microsoft.com/en-us/training/courses/az-801t00) | Self-directed modules free; instructor-led access varies | 4 instructor-led days; selectively plan 8–18 hr | Reuse host/AD security and monitoring/troubleshooting; much HA/DR/migration scope is outside AZ-802 |",
          "replacement_markdown": "| [Historical AZ-801 course URL](https://learn.microsoft.com/en-us/training/courses/az-801t00) | October 28 check redirects to the general training browser; the specific course outline is unavailable at this URL | Earlier listing: 4 days; not a current verified runtime | Use the current documentation above for security, monitoring and troubleshooting; this redirect does not establish an available course or its coverage |",
          "reason": "Initial source-health detected a material destination change; coordinator independently reopened both redirects. Preserve historical listing identity without presenting a general browser as a specific current course."
        },
        {
          "exam_code": "AZ-120",
          "old_text": "and its images will be removed **October 14, 2026**.",
          "replacement_markdown": "and its images were scheduled for removal **October 14, 2026**; image removal was not independently observed in this review.",
          "reason": "Researcher final reread: deadline is past; preserve announced schedule without claiming observed removal."
        }
      ],
      "followup_disposition": "Current header dates, historical unavailable AZ-800/AZ-801 course rows and past scheduled Sentinel image-removal wording were reread in newest captures. No observed image removal, current old-course runtime or live assessment access inferred.",
      "source_and_review_gate_disclosure": "Coordinator source gate remains blocked for AB-410/AZ-120/AZ-802 and provisionally passed for MO-110. This semantic matrix does not accept baseline changes, replace source reviews or qualify as fresh-context/human review.",
      "whole_guide_checks": {
        "front_matter_and_identity": "Read all current front matter, banner, credential identity, baseline and lifecycle paragraphs; LastUpdated and skills-effective dates remain distinct.",
        "objective_teaching": "All 311 rows reassessed using actual explanation/choice/workflow paragraphs. No keyword or heading-only coverage inference; no equal seven-element checklist forced per bullet.",
        "examples_labs_and_answers": "Read all original and added examples, complete labs, every knowledge-check question/answer and readiness list. Required access, independent expected outputs, safety/recovery and unexecuted limits remain visible.",
        "resources": "Read complete learning sections, timing/access/scope caveats and new source-to-evidence routes. Places to learn remains the final major section; providers do not define blueprint scope.",
        "evidence_accuracy": "Three historical blank-line span errors are explicit and corrected only in final matrix. All initial reasons and original artifacts retained; exact new guide/objective/span/PDF hashes recorded.",
        "no_runtime_claim": "No tenant, cloud, SAP, Office, Power Fx runtime, SDK, assessment, commercial course, paid lesson or video execution was performed or claimed. Proposed checks describe future learner evidence."
      },
      "new_material_findings": [],
      "exact_additional_proposals": [],
      "verification": {
        "guide_capture_matches_current_shared_text": true,
        "guide_hashes_match_newest_handoff_manifest": true,
        "objective_raw_hashes_match_accepted_files": true,
        "diff_raw_hashes_recomputed": true,
        "all_311_wording_hashes_and_selected_span_hashes_checked": true,
        "all_311_initial_and_current_reasons_read": true,
        "every_span_contains_substantive_text": true,
        "fallback_or_truncated_spans_used": false,
        "repository_or_live_product_tests_run_by_this_researcher": false
      },
      "shared_mutations": "None. Only exclusive exam-a final mapping/review and its scratch builder were written.",
      "independent_review_dispositions": [
        {
          "finding": "AB-410 1.3 evidence span excluded actual extensibility row 78",
          "reported_by": "Coordinator relaying independent A reviewer",
          "disposition": "Corrected evidence range to 68–78; same guide prose/hash; prior matrix/review release retained.",
          "previous_matrix_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-final-mapping-release-01.json",
          "previous_matrix_raw_sha256": "ff63b5eea825ccdc1d36f3416580e986a7828c246ce35369af8fb17b9b451029"
        },
        {
          "objective_id": "AB-410-6.5",
          "finding": "The selected prompt-settings span omitted the per-call context paragraph named in its reason.",
          "reported_by": "Coordinator relaying independent A reviewer",
          "disposition": "Extended 299–303 to 299–305, including the complete per-call/model-settings paragraph. Evidence-selection repair only; guide prose/hash and initial reason remain unchanged.",
          "current_evidence_spans": [
            {
              "heading": "Build a prompt as a governed input-output contract",
              "start_line": 299,
              "end_line": 305,
              "span_lf_sha256": "59f67c5469a1dedcef34cf67eaab75c9fde7cb88cbf9463de3e5a408d79b354f"
            }
          ],
          "previous_matrix_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-final-mapping-release-02.json",
          "previous_matrix_raw_sha256": "8af772fbd77c5ed695724f5bdb62c4a9a14c43cd3ee5b2349006cba713e8a22a",
          "previous_review_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-final-semantic-review-release-02.json",
          "previous_review_raw_sha256": "a0594db52704cf3d02a5d77f09a4de42a05a3d1c604b8335c551c4f842703d70"
        },
        {
          "objective_id": "AZ-120-5.6",
          "finding": "The selected security span omitted the NSG/Firewall/NVA paragraph named in its reason.",
          "reported_by": "Coordinator relaying independent A reviewer",
          "disposition": "Extended 267–270 to 266–270, including the complete flow filtering, inspection and UDR paragraph. Evidence-selection repair only; guide prose/hash and initial reason remain unchanged.",
          "current_evidence_spans": [
            {
              "heading": "Design networking from flows",
              "start_line": 266,
              "end_line": 270,
              "span_lf_sha256": "37cf185a3e1a2001cb98209eb1c1fa2e8dc6dd6b8358b290b4710759e3e65a00"
            }
          ],
          "previous_matrix_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-final-mapping-release-02.json",
          "previous_matrix_raw_sha256": "8af772fbd77c5ed695724f5bdb62c4a9a14c43cd3ee5b2349006cba713e8a22a",
          "previous_review_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-final-semantic-review-release-02.json",
          "previous_review_raw_sha256": "a0594db52704cf3d02a5d77f09a4de42a05a3d1c604b8335c551c4f842703d70"
        },
        {
          "objective_id": "AZ-120-9.2",
          "finding": "The selected monitoring span did not bind the existing optimization, remeasurement and rollback sequence.",
          "reported_by": "Coordinator relaying independent A reviewer",
          "disposition": "Retained 498–508 and added 524–531, including all six ordered steps and the rollback item at line 531; refined current reason to state the optimization teaching. Evidence-selection repair only; guide prose/hash and initial reason remain unchanged.",
          "current_evidence_spans": [
            {
              "heading": "Observe by layer and business service",
              "start_line": 498,
              "end_line": 508,
              "span_lf_sha256": "a9c4269d321f86cd0f171323fe882dbc94a9e62f2a9f6af91c996aea543abe5c"
            },
            {
              "heading": "Optimize performance and cost",
              "start_line": 524,
              "end_line": 531,
              "span_lf_sha256": "34336e9b3559dae8c02a8bc8f836a2f3fc0f73ee2db371fe1c8ca674316a12b8"
            }
          ],
          "previous_matrix_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-final-mapping-release-02.json",
          "previous_matrix_raw_sha256": "8af772fbd77c5ed695724f5bdb62c4a9a14c43cd3ee5b2349006cba713e8a22a",
          "previous_review_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-a-final-semantic-review-release-02.json",
          "previous_review_raw_sha256": "a0594db52704cf3d02a5d77f09a4de42a05a3d1c604b8335c551c4f842703d70"
        }
      ]
    },
    "subset_b": {
      "date": "2026-10-28",
      "role": "Same-context original exam researcher; read-only actual integrated-guide semantic reread and rebind",
      "independence": "Not fresh-context independent review, not human review, not a full independent AI audit",
      "base_commit": "92a2cb594f7d1c20882fed664371699e95e27e81",
      "scope": [
        "MO-111",
        "MO-210",
        "MO-211",
        "MO-310"
      ],
      "read_scope": "Complete four captured guides including original/new teaching, examples, integrated scenarios where present, labs, every answer/readiness/resource passage; complete four diffs and manifest. After coordinator recapture, reread MO-210 D2-input/E2-output clarification, restored direct PDF source paragraphs in MO-211/MO-310, and MO-111 optional-only style-set paragraph/lab1. Current exact hashes bind the recaptured files; no intervening teaching change ignored. Subsequently read the complete current MO-210 diff and new built-in-rule teaching, then reread the explicit B3 input edit with threshold100 unchanged. Rechecked all233 wording identities, specific reasons and current spans/offsets; other three guide hashes unchanged from the preserved released matrix.",
      "mapping_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-final-mapping.json",
      "mapping_raw_sha256": "50f0da503715a15d638b6337df333fc4a37c0b94c3528941693415cbfb289e9a",
      "summary": {
        "detailed_tasks_reassessed": 233,
        "initial_partial_flags_reassessed": 61,
        "initial_partial_teaching_repairs_semantically_closed": 60,
        "initial_partial_bounded_with_current_source_gap": 1,
        "current_substantive_tasks": 232,
        "current_bounded_provisional_tasks": 1,
        "additional_independent_teaching_repairs": 1,
        "current_unresolved_new_material_content_defects": 0
      },
      "binding_checks": [
        {
          "exam_code": "MO-111",
          "current_guide_matches_capture_and_manifest": true,
          "accepted_raw_objective_matches_initial_and_manifest": true,
          "diff_matches_manifest": true,
          "all_initial_task_wording_hashes_preserved": true,
          "span_count": 64
        },
        {
          "exam_code": "MO-210",
          "current_guide_matches_capture_and_manifest": true,
          "accepted_raw_objective_matches_initial_and_manifest": true,
          "diff_matches_manifest": true,
          "all_initial_task_wording_hashes_preserved": true,
          "span_count": 102
        },
        {
          "exam_code": "MO-211",
          "current_guide_matches_capture_and_manifest": true,
          "accepted_raw_objective_matches_initial_and_manifest": true,
          "diff_matches_manifest": true,
          "all_initial_task_wording_hashes_preserved": true,
          "span_count": 86
        },
        {
          "exam_code": "MO-310",
          "current_guide_matches_capture_and_manifest": true,
          "accepted_raw_objective_matches_initial_and_manifest": true,
          "diff_matches_manifest": true,
          "all_initial_task_wording_hashes_preserved": true,
          "span_count": 97
        }
      ],
      "per_exam": [
        {
          "exam_code": "MO-111",
          "guide_lf_sha256": "620e73320268547b78abd111bcad367e6464abf70ae6e32e81b84ae2699f8e5d",
          "objective_raw_sha256": "0db958488191b514b8598df0288463d19a4cc9b1f7fa81b3855850e6945c8fbc",
          "detailed_pdf_raw_sha256": "d2786433aad5c9f4264d046d660520c6d64c3225a2434cfd1e55539bebf117db",
          "detailed_task_text_raw_sha256": "184b008cf2873376de19540b47e8de3beed1c85e5bd78c5fccc4e4275d2f1f7f",
          "objective_count": 47,
          "group_count": 14,
          "semantic_result": "bounded-useful-teaching-source-gate-block-retained",
          "source_gate_recommendation": "blocked-current-style-set-save-UI-evidence",
          "initial_partial_count": 18
        },
        {
          "exam_code": "MO-210",
          "guide_lf_sha256": "41624e65a8518323e4d278298c998c6990ded7dca7b4167d8afb094cbdb018dd",
          "objective_raw_sha256": "71db2aebfc9e02978f17b80207c9b0bd180775ad9c8486050965a27a5fadc0d7",
          "detailed_pdf_raw_sha256": "c18b5396df8158e1e14ee0d032332b86c01bc3b96b1166fbf49c6db0133f0e43",
          "detailed_task_text_raw_sha256": "f4fa5c61e6bfd90158fc3fead9477f6b7a7873e21118af5bbbf13810209af768",
          "objective_count": 65,
          "group_count": 17,
          "semantic_result": "pass",
          "source_gate_recommendation": "pass-pending-coordinator-source-health-and-independent-review",
          "initial_partial_count": 22
        },
        {
          "exam_code": "MO-211",
          "guide_lf_sha256": "a51c3cdf378969e3915e30b1a43e353f97f44bdfe99b0d9ac5625acf2050183c",
          "objective_raw_sha256": "174e46cb264079c29287f88c0b16eafdeac46dfb7f746bb6323aeec315944e34",
          "detailed_pdf_raw_sha256": "f6cc84c4249cc1379a9f80cdb818bf6d2481474955ddfd818507de89f4eb124f",
          "detailed_task_text_raw_sha256": "6f6c947df4e3c8c2345105cb54df4613bf9199204d0f434a4de7cd12ad85419d",
          "objective_count": 48,
          "group_count": 14,
          "semantic_result": "pass",
          "source_gate_recommendation": "pass-pending-coordinator-source-health-and-independent-review",
          "initial_partial_count": 12
        },
        {
          "exam_code": "MO-310",
          "guide_lf_sha256": "b15e4a4b3253ea93537548f69ea6abf9068eba4f402c77f41313a8ad06987bfd",
          "objective_raw_sha256": "9ce732345e113b5587ccd794bdfa12dfbb2e95feda7c178566a8132c2f015570",
          "detailed_pdf_raw_sha256": "29e1689505e742e8fedea780b0379bbc7327ab6e9d34ee6440b4d523d1b252fb",
          "detailed_task_text_raw_sha256": "48dd078a860f6815643cc6d4051c628b9eb5aa039ab81f8191d4d63dc01f9e19",
          "objective_count": 73,
          "group_count": 20,
          "semantic_result": "pass",
          "source_gate_recommendation": "pass-pending-coordinator-source-health-and-independent-review",
          "initial_partial_count": 9
        }
      ],
      "findings": [
        {
          "id": "mo111-current-style-set-save-evidence",
          "exam_code": "MO-111",
          "task_id": "MO-111-8.4",
          "severity": "medium",
          "status": "open-source-evidence-gap-accurately-bounded",
          "location": [
            {
              "heading": "Worked reusable design pack",
              "start_line": 92,
              "end_line": 92,
              "span_lf_sha256": "79938a026d8eff918b185a4a0768bcbf66b9ddd6c5fcbd26902fdf52f3a0b0dc"
            },
            {
              "heading": "Hands-on labs",
              "start_line": 148,
              "end_line": 148,
              "span_lf_sha256": "73db790c831c08fc28e2fea302a887bd3933ce4d6f32af0b6930f7693a42b8a9"
            }
          ],
          "evidence": "The current paragraph and lab1 now make the historical Windows style-set save investigation expressly optional: missing-command/build/artifact evidence is a legitimate unresolved outcome and successful creation is not required. Current first-party style/theme documents still do not confirm the exact present gallery route. Useful bounded learning remains, source gate remains blocked, and no execution closes it.",
          "recommendation": "Retain review-required/current source block. Seek current first-party Windows documentation or authorized build-specific save/new-document/reopen/apply artifact evidence; do not count proposed checks as observed results.",
          "wording_change_required": false
        },
        {
          "id": "mo210-if-input-output-placement",
          "exam_code": "MO-210",
          "task_id": "MO-210-13.3",
          "severity": "low",
          "status": "resolved-after-coordinator-repair-and-reread",
          "evidence": "Exact follow-up separated D2 input from E2 IF result on a separate test sheet, leaves SalesData calculated formulas intact; changed actual paragraph reread after root recapture.",
          "proposal_path": ".maintenance/2026-10-28-remaining-refresh/group-05/exam-b-final-followup-proposals.json",
          "wording_change_required": false
        },
        {
          "id": "mo211-mo310-detailed-pdf-direct-links",
          "exam_codes": [
            "MO-211",
            "MO-310"
          ],
          "severity": "low",
          "status": "resolved-after-independent-review-coordinator-repair-and-reread",
          "evidence": "Descriptive Detailed objective source paragraphs now restore exact registered/reviewed official PDF links before platform notes, and distinguish detailed tasks from credential-page domains; actual additions reread.",
          "wording_change_required": false
        },
        {
          "id": "mo111-optional-style-set-lab-boundary",
          "exam_code": "MO-111",
          "task_id": "MO-111-8.4",
          "severity": "medium",
          "status": "resolved-presentation-and-lab-requirement-defect-source-gap-remains",
          "evidence": "Independent review prompted optional-only investigation framing and revised lab1; current paragraph no longer requires unconfirmed save success and permits build/missing-command/artifact-gap evidence. These changed passages reread; no claim of current supported operation.",
          "wording_change_required": false
        },
        {
          "id": "G05-B-004",
          "exam_code": "MO-210",
          "task_id": "MO-210-8.2",
          "related_task_id": "MO-210-8.3",
          "severity": "medium",
          "status": "resolved-after-independent-finding-coordinator-teaching-repair-and-author-reread",
          "initial_history": "Initially adequate and prior author semantic-pass classification retained as historical; independent review correctly identified missing apply-level teaching. This is additional to the original61 partial flags.",
          "evidence": "Current Windows built-in Greater Than workflow creates/changes a rule against known values, inspects Manage Rules and removes only that rule with manual formatting retained. Author follow-up specifies B3 value100→101 while threshold remains100, preserving the expected three highlighted cells.",
          "evidence_spans": [
            {
              "heading": "Worked built-in conditional rule",
              "start_line": 75,
              "end_line": 75,
              "span_lf_sha256": "3047a1ef45a67bd3751c02556bd1d3bce054bea65102739e213039df593a49c1"
            }
          ],
          "source": {
            "id": "excel-built-in-conditional-rule-20261028",
            "title": "Use conditional formatting to highlight information in Excel",
            "url": "https://support.microsoft.com/en-us/excel/use-conditional-formatting-to-highlight-information-in-excel",
            "publisher": "Microsoft Support",
            "authority_class": 2,
            "source_type": "official-reference",
            "access_model": "public",
            "last_checked": "2026-10-28",
            "supported_exams": [
              "MO-210"
            ],
            "notes": "October28 independent-review repair: selected Windows built-in comparison and rule-manager sections read. Synthetic threshold checks remain unexecuted."
          },
          "repair_record": ".maintenance/2026-10-28-remaining-refresh/group-05/independent-teaching-applied.json",
          "wording_change_required": false
        }
      ],
      "proposed_changes": [],
      "preservation": "Original initial mapping, proposals, source captures and preliminary research remain unchanged; coarse accepted snapshots were not overwritten by detailed tasks.",
      "limits": [
        "No Word/Excel/PowerPoint desktop/web operation, VBA compiler, workbook formula runtime, live lab, screen reader, paid lesson, exam assessment or video playback executed.",
        "This is a semantic reread of actual integrated content, not a claim that reachability or byte hashes verify product behavior.",
        "No whole-library collector or source-health run was duplicated.",
        "Final mapping contains233 detailed PDF tasks; accepted coarse snapshots contain4/5/4/5 broad domains and are hashed independently.",
        "Current source-validation/source-health reconciliation and separate fresh-context review remain coordinator responsibilities."
      ],
      "post_independent_teaching_rebind": {
        "prior_released_mapping_path": ".maintenance/2026-10-28-remaining-refresh/group-05/pre-independent-teaching/exam-b-final-mapping.json",
        "prior_released_mapping_raw_sha256": "4d58e87c1a1b48c72c0935387cb22578ec3e1d9f94334a5be75753d37e3f355a",
        "prior_released_semantic_review_path": ".maintenance/2026-10-28-remaining-refresh/group-05/pre-independent-teaching/exam-b-final-semantic-review.json",
        "prior_released_semantic_review_raw_sha256": "2069cbbf051a0b7fb82638a76029640d23f15dd3209c01f37577b91e0673bebf",
        "independent_repair_ids": [
          "G05-B-004"
        ],
        "all_233_wording_hashes_rechecked": true,
        "all_current_span_hashes_rechecked": true,
        "all_61_initial_dispositions_preserved": true,
        "live_capture_manifest_bindings_rechecked": true,
        "source_health": "Coordinator owns the separate source-health merge; not rerun by this researcher."
      }
    }
  },
  "technical_research": {
    "research_date": "2026-10-28",
    "role": "technical researcher",
    "status": "preliminary; coordinator must verify all eight input hashes after freeze",
    "scope": "Eight guides; selected technical ranges only. This is not a full-guide/semantic audit or independent review of edits.",
    "instructions_read": [
      "AGENTS.md",
      "CONTRIBUTING.md",
      "docs/CONTENT-POLICY.md",
      "docs/SOURCE-QUALITY.md",
      "docs/GUIDE-QUALITY-STANDARD.md"
    ],
    "input_guides": [
      {
        "exam_code": "AB-410",
        "guide_path": "guides/AB-410-building-intelligent-applications.md",
        "input_lf_sha256": "6a3af28d56aace7d2c64f396d9376de1d83c44b38d503b3a7a593d03425e1e0e",
        "read_scope_line_ranges_inclusive": [
          [
            39,
            49
          ],
          [
            84,
            107
          ],
          [
            124,
            146
          ],
          [
            251,
            295
          ]
        ],
        "full_guide_read": false,
        "review_kind": "selected technical passages only; additional heading/keyword inventory is not full semantic review"
      },
      {
        "exam_code": "AZ-120",
        "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
        "input_lf_sha256": "2ff79da9817625ce10e5daf341982f5606ed3a13d6ab48a6f77600019def9b4a",
        "read_scope_line_ranges_inclusive": [
          [
            258,
            281
          ],
          [
            360,
            378
          ],
          [
            401,
            422
          ],
          [
            446,
            466
          ]
        ],
        "full_guide_read": false,
        "review_kind": "selected technical passages only; additional heading/keyword inventory is not full semantic review"
      },
      {
        "exam_code": "AZ-802",
        "guide_path": "guides/AZ-802-administering-windows-server.md",
        "input_lf_sha256": "d28dc0f282e9fec60cc0fbc0c03908dc38a7a78c8107f2aab42623b5737f2464",
        "read_scope_line_ranges_inclusive": [
          [
            20,
            29
          ],
          [
            229,
            283
          ],
          [
            300,
            335
          ],
          [
            640,
            705
          ],
          [
            709,
            733
          ]
        ],
        "full_guide_read": false,
        "review_kind": "selected technical passages only; additional heading/keyword inventory is not full semantic review"
      },
      {
        "exam_code": "MO-110",
        "guide_path": "guides/MO-110-microsoft-word-microsoft-365-apps.md",
        "input_lf_sha256": "e8b97fec80ccc4f0e0b492e24bcd9269bd3e4a65ca0e7d75c0562ec14065fbfd",
        "read_scope_line_ranges_inclusive": [
          [
            23,
            94
          ]
        ],
        "full_guide_read": false,
        "review_kind": "selected technical passages only; additional heading/keyword inventory is not full semantic review"
      },
      {
        "exam_code": "MO-111",
        "guide_path": "guides/MO-111-microsoft-word-expert-microsoft-365-apps.md",
        "input_lf_sha256": "5bb107960c4abed991e8ceb7f462fb9231c6bcb7d56f33e787bbbe873e88b7ca",
        "read_scope_line_ranges_inclusive": [
          [
            23,
            84
          ]
        ],
        "full_guide_read": false,
        "review_kind": "selected technical passages only; additional heading/keyword inventory is not full semantic review"
      },
      {
        "exam_code": "MO-210",
        "guide_path": "guides/MO-210-microsoft-excel-microsoft-365-apps.md",
        "input_lf_sha256": "af6574c07de8553a0bae64f215a15507a8ea58b3ee04450a57bf5b2557c6156f",
        "read_scope_line_ranges_inclusive": [
          [
            23,
            83
          ]
        ],
        "full_guide_read": false,
        "review_kind": "selected technical passages only; additional heading/keyword inventory is not full semantic review"
      },
      {
        "exam_code": "MO-211",
        "guide_path": "guides/MO-211-microsoft-excel-expert.md",
        "input_lf_sha256": "7a1301b8c12ef8b58de1852d7a4dec28c5bb5ea8f5aea5468d0cc5ed20da057e",
        "read_scope_line_ranges_inclusive": [
          [
            21,
            94
          ],
          [
            96,
            122
          ]
        ],
        "full_guide_read": false,
        "review_kind": "selected technical passages only; additional heading/keyword inventory is not full semantic review"
      },
      {
        "exam_code": "MO-310",
        "guide_path": "guides/MO-310-microsoft-powerpoint-microsoft-365-apps.md",
        "input_lf_sha256": "48458a4732bf6c055fcc269d15847e88e7fa23ec2afac9d2736c5b0d48cf5d8d",
        "read_scope_line_ranges_inclusive": [
          [
            21,
            95
          ]
        ],
        "full_guide_read": false,
        "review_kind": "selected technical passages only; additional heading/keyword inventory is not full semantic review"
      }
    ],
    "source_readings": [
      {
        "key": "prompt-knowledge",
        "opened_url": "https://learn.microsoft.com/en-us/ai-builder/use-your-own-prompt-data",
        "final_url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/use-your-own-prompt-data",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-prompt-knowledge.html",
        "raw_sha256": "75e41d3fe9bd597d7b8a0056afa2000c2d382ce4ad03a4013473d284746cda5e",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-prompt-knowledge.txt",
        "text_sha256": "3fb9046891f4f72633f1e0b6833eb905d3bc0e052c8562927b233658d68fb259",
        "chars": 4242,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "AB-410"
        ],
        "read_scope": "Add knowledge/filter; Use connectors; Limitations; raw HTML corresponding body sections checked (no platform tabs).",
        "observations": "SAP remains in connector instructions and absent from the allowed-data-sources limitations. Flow-only connector context, two relationship levels and bounded retrieval remain explicit. Original AI Builder URL redirects into Copilot Studio.",
        "confidence": "Confirmed documentation discrepancy; support outcome unconfirmed",
        "limits": "No connector, tenant, prompt or permission test. Do not remove SAP evidence gap.",
        "source_catalog_matches": [
          "ab410-prompt-knowledge"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "power-platform-deprecations",
        "opened_url": "https://learn.microsoft.com/en-us/power-platform/important-changes-coming",
        "final_url": "https://learn.microsoft.com/en-us/power-platform/important-changes-coming",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-power-platform-deprecations.html",
        "raw_sha256": "5aebcd2b2a57db1fecc1bebd3aa484f97227785d52f0a86bc5ffed69aef9b4a5",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-power-platform-deprecations.txt",
        "text_sha256": "b539d9ca0c5d3d7b4ad26cbe8360bed5645df663ed0df859d723cb09d08dd8d6",
        "chars": 104474,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "AB-410"
        ],
        "read_scope": "Complete Dataverse for Teams deprecation section, including phased timeline, unaffected assets, admin/maker actions and FAQ; raw HTML heading/sibling section inspected. Other ledger sections not comprehensively read.",
        "observations": "Dataverse for Teams creation ends November 15, 2026; existing unupgraded environments suspend September 15, 2027 and decommission October 30, 2027. New work should use full Dataverse; review capacity/licenses before an upgrade. Teams assets outside that environment are unaffected.",
        "confidence": "Confirmed",
        "limits": "Lifecycle notice is product evidence, not an exam-objective change. Upgrade not executed.",
        "source_catalog_matches": [
          "power-platform-important-changes"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "ai-builder-credits",
        "opened_url": "https://learn.microsoft.com/en-us/ai-builder/endofaibcredits",
        "final_url": "https://learn.microsoft.com/en-us/ai-builder/endofaibcredits",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-ai-builder-credits.html",
        "raw_sha256": "2299101259ec316dcef17fecd9a118d726cf9affb379144e0fe2875321932430",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-ai-builder-credits.txt",
        "text_sha256": "d473e9354d60081e7ea632947c6878df489b3eef886e9ee6158600b0bc9c552c",
        "chars": 7589,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "AB-410"
        ],
        "read_scope": "Detailed calendar and FAQ on existing entitlements, currency order and exhaustion.",
        "observations": "The November 1, 2026 credit transition is still upcoming on this research date. Existing contracts retain credits through term end; feature retirement must not be inferred. Existing guide explains contract/context distinction adequately.",
        "confidence": "Confirmed",
        "limits": "No license purchase, tenant consumption or billing test.",
        "source_catalog_matches": [
          "ab410-credits"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "agent-overview",
        "opened_url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/agents-experience/overview",
        "final_url": "https://learn.microsoft.com/en-us/microsoft-copilot-studio/agents-experience/overview",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-agent-overview.html",
        "raw_sha256": "7fc667cf8ea4bb5b40106c5b5dc3ae6b74bebe2411af0cec6b6b24707349f9b7",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-agent-overview.txt",
        "text_sha256": "2c3a002b39f1bc94d496ae6ec21df23315c3b5ea55a951029c75a0c8b71503d7",
        "chars": 9062,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "AB-410"
        ],
        "read_scope": "Introduction; What is the GitHub Copilot harness; Build tab comparison introduction; compatibility. Selected raw extracted paragraphs inspected. Feature matrix not fully audited.",
        "observations": "GitHub Copilot harness coexists with standard harness, is a separate authoring/runtime choice, and agents cannot transfer between them. Some natural-language authoring features remain preview. Standard agents remain supported. Existing guide correctly uses this as changing terminology/context.",
        "confidence": "Confirmed for read passages",
        "limits": "Not GitHub Copilot service or a replacement statement for every standard agent; no agent run or credits measured.",
        "source_catalog_matches": [
          "copilot-studio-agent-build-overview"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "hana-faq",
        "opened_url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-faq-backup-azure-vm",
        "final_url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-faq-backup-azure-vm",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-hana-faq.html",
        "raw_sha256": "4f3882b5fc56b139ea4e5f80c5b153ec86f641d5d38125e196e22d5191af4297",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-hana-faq.txt",
        "text_sha256": "4880b1766ce630ef86fd9a239261ed9865b499c8a2e6389c17a262845e3ef3fb",
        "chars": 21524,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "AZ-120"
        ],
        "read_scope": "Backup FAQ subsection on secondary-node Stop protection/resume; surrounding raw body and absence of scenario/platform tab qualifiers inspected.",
        "observations": "FAQ still recommends node-level protection changes around promotion for the connection-lockout scenario. It does not clearly delimit applicability to the native logical HSR protection model. Existing guide warning remains justified.",
        "confidence": "Confirmed wording; applicability unresolved",
        "limits": "No HANA deployment, protected-item or restore test. Retain narrower scenario uncertainty rather than asserting every HSR backup is broken.",
        "source_catalog_matches": [
          "az120-backup-faq"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "hana-hsr",
        "opened_url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-with-hana-system-replication-backup",
        "final_url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-with-hana-system-replication-backup",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-hana-hsr.html",
        "raw_sha256": "ec29d4ec46ab0bde32e6b13621de4a3c29719ff82e924065f7a1ecb40206e851",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-hana-hsr.txt",
        "text_sha256": "93088a75f7e4b70d48017ac8de808ddc316fd40bebda8529d8cc7a9318835efe",
        "chars": 21290,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "AZ-120"
        ],
        "read_scope": "Prerequisites; preregistration/hdbuserstore; logical HSR ID; snapshot HSR behavior; standalone-to-HSR scenarios. Selected raw body paragraphs inspected.",
        "observations": "Native HSR guidance groups both nodes with the same HSR ID/vault and requires matching user-store keys on possible primaries. It describes primary-following backup behavior. Snapshot support is distinct and preview-qualified. Existing explanation should be retained.",
        "confidence": "Confirmed",
        "limits": "No protected item, backup chain or failover observed; cannot resolve FAQ applicability.",
        "source_catalog_matches": [
          "az-120-hana-hsr-backup"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "mana-linux",
        "opened_url": "https://learn.microsoft.com/en-us/azure/virtual-network/accelerated-networking-mana-linux",
        "final_url": "https://learn.microsoft.com/en-us/azure/virtual-network/accelerated-networking-mana-linux",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-mana-linux.html",
        "raw_sha256": "ff9357faca3cf2adf5dd6dce75766768536c4c3bf501f0d7a77345ceb707a512",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-mana-linux.txt",
        "text_sha256": "6df2649c49c79741dbf76be8c0934c24b2535093ecae5ec79223a2228c9fefb8",
        "chars": 4329,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "AZ-120"
        ],
        "read_scope": "Linux support and status verification steps.",
        "observations": "MANA requires guest software plus host hardware. Accelerated Networking enabled is insufficient alone; inspect PCI device, driver binding and packet counters. Existing guide already teaches the operational distinction.",
        "confidence": "Confirmed",
        "limits": "No guest driver, VM SKU or SAP/distribution support certification tested.",
        "source_catalog_matches": [
          "az120-mana-linux"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "gpu-p",
        "opened_url": "https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/gpu-partitioning",
        "final_url": "https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/gpu-partitioning",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-gpu-p.html",
        "raw_sha256": "b3f2d872c4f88df0f97e20cef2a4f25c4a16bcc80988b8e7f9e9f450304ecda4",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-gpu-p.txt",
        "text_sha256": "1a6c97e84eb15d7f0e64dd0603b2a17def251378d82862e753714f44eb946a16",
        "chars": 7867,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "AZ-802"
        ],
        "read_scope": "Overview; requirements; limitations, including multiple partitions and migration transport.",
        "observations": "Current guidance allows multiple GPU partitions per VM, requires supported CPU/IOMMU/driver/guest and homogeneous configuration, distinguishes planned standalone migration from Datacenter clustered unplanned downtime, and uses TCP/IP compression. Guide already preserves these limits.",
        "confidence": "Confirmed",
        "limits": "No physical GPU, partition allocation, failover or live migration tested. Hardware list not copied into guide.",
        "source_catalog_matches": [
          "az-802-doc-gpu-partitioning"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "hvsocket",
        "opened_url": "https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/make-integration-service",
        "final_url": "https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/make-integration-service",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-hvsocket.html",
        "raw_sha256": "bbcab17e49336d2b92c66046e1746f4b4198d85177d7e7127e075fbb4cb70586",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-hvsocket.txt",
        "text_sha256": "0ded73b1daee2b3859ba8b6e889e706ce8592bd7131f9f7bac2c81ac0bcc4f58",
        "chars": 9018,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "AZ-802"
        ],
        "read_scope": "Supported host/guest; Linux kernel configuration; Hyper-V/VSOCK addressing and service GUID bridge.",
        "observations": "Current Microsoft article documents network-independent Hyper-V sockets and Linux VSOCK prerequisites. It does not supply a current end-to-end hvc/OpenSSH support recipe or distribution compatibility matrix. Existing provisional SSH Direct model remains appropriately qualified.",
        "confidence": "Confirmed substrate; end-to-end support unconfirmed",
        "limits": "Focused Microsoft Learn search returned blueprint mentions, not a dedicated support contract. Not an exhaustive upstream re-investigation; preserve prior broader evidence.",
        "source_catalog_matches": [
          "az-ssh-direct-hyper-v-sockets"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "word-track-changes",
        "opened_url": "https://support.microsoft.com/en-us/word/training/track-changes-in-word",
        "final_url": "https://support.microsoft.com/en-us/word/training/track-changes-in-word",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-word-track-changes.html",
        "raw_sha256": "b8b7d55008663b60e4a7081bbdb914ae30c4c1ee436f6e17384ecf8814603032",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-word-track-changes.txt",
        "text_sha256": "d63012e0f893d97d945004427cba0e58545b9dd20449175e5057f6f36b09bd51",
        "chars": 18135,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "MO-110"
        ],
        "read_scope": "Windows tab recording/off/locking/review sections; raw parent section id tabpanel_1_windows verified; no cross-platform generalization.",
        "observations": "Turning tracking off retains existing changes. Windows Lock Tracking is password-controlled and distinct from accepting/rejecting revisions. Existing guide instruction matches the Windows tab.",
        "confidence": "Confirmed",
        "limits": "No Word application, password or revision operation executed. Platform tab must be retained when quoting UI paths.",
        "source_catalog_matches": [
          "word-track-changes"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "word-macros",
        "opened_url": "https://support.microsoft.com/en-us/word/create-or-run-a-macro",
        "final_url": "https://support.microsoft.com/en-us/word/create-or-run-a-macro",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-word-macros.html",
        "raw_sha256": "2189a529f8392ce22030ee484e6e0f8181792b6e3ce6ca769d4f500a4e9b1143",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-word-macros.txt",
        "text_sha256": "918734998a1290c22b25ed9ef71b685161a566e2873bea54997c66416bb33134",
        "chars": 4992,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "MO-111"
        ],
        "read_scope": "Windows macro record/run/storage/Organizer and Web limitation; raw platform tab text examined.",
        "observations": "Keyboard selection is recordable; mouse text selection is not. Storage in document/template is separate from execution. Web displays saved results but does not run the desktop macro workflow. Existing guide teaching is adequate.",
        "confidence": "Confirmed",
        "limits": "No VBA executed; no macro trust settings changed.",
        "source_catalog_matches": [
          "word-create-macro"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "excel-arrays",
        "opened_url": "https://support.microsoft.com/en-us/excel/dynamic-array-formulas-and-spilled-array-behavior",
        "final_url": "https://support.microsoft.com/en-us/excel/dynamic-array-formulas-and-spilled-array-behavior",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-excel-arrays.html",
        "raw_sha256": "d8597952bd43d5b983e4b81f203b02a0bab70e1265bc2d5ee530564e670ddc87",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-excel-arrays.txt",
        "text_sha256": "8407b32d6c1e921c6263085639f36df978d4f53317679e3822c5fb9025c20b61",
        "chars": 4173,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "MO-210",
          "MO-211"
        ],
        "read_scope": "Spill behavior and Key points, including table placement, anchor edit, blocked output and cross-workbook limit.",
        "observations": "Spill formulas belong outside tables; only the anchor is edited. Linked arrays require both workbooks open; refreshing after source closure produces REF errors. Existing introductory/expert distinctions remain sound.",
        "confidence": "Confirmed",
        "limits": "No Excel engine execution; applies-to list alone does not prove every named function on every legacy edition.",
        "source_catalog_matches": [
          "excel-dynamic-arrays"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "excel-stale",
        "opened_url": "https://support.microsoft.com/en-US/Excel/stale-value-formatting",
        "final_url": "https://support.microsoft.com/en-us/excel/stale-value-formatting",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-excel-stale.html",
        "raw_sha256": "1effa4f88beef9b1cc894363e2cbe21960ac8876265c68749d92d5c5eca6d32e",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-excel-stale.txt",
        "text_sha256": "84b4fa7890fa660071fdc40d7745336b8beae55d11fabed3c73df3a30a32c7b7",
        "chars": 1930,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "MO-211"
        ],
        "read_scope": "Whole short article body including limitations.",
        "observations": "Hiding stale formatting does not recalculate. External-source values and dependents of Data Table cells have warning gaps. Current support page lists Microsoft 365 Windows and Mac, so historical Windows Beta blog wording must not define universal present availability. Existing guide already uses current support evidence.",
        "confidence": "Confirmed",
        "limits": "No build/channel/application verification. Do not promise stale markers for every external dependency.",
        "source_catalog_matches": [
          "excel-stale-values"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "excel-pivot",
        "opened_url": "https://support.microsoft.com/en-us/excel/calculate-values-in-a-pivottable",
        "final_url": "https://support.microsoft.com/en-us/excel/calculate-values-in-a-pivottable",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-excel-pivot.html",
        "raw_sha256": "b966a22349ddb0d59bb79caecfc996c6a7f616bb9b2fa418f2d33b99d0b2083d",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-excel-pivot.txt",
        "text_sha256": "762932cd1028a4e9323749af403c931ae3bafa016ae3f1e88e00af2a97f85e28",
        "chars": 23008,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "MO-211"
        ],
        "read_scope": "Raw About calculations tab: OLAP/non-OLAP; summary defaults; formulas operate on totals. Windows-or-Mac tab and Web restrictions inspected selectively.",
        "observations": "Classic non-OLAP calculated fields use aggregate source-field sums, differing from row products summed afterward. Numeric Sum versus text Count defaults and OLAP restrictions remain documented. Existing 140 versus 300 example teaches the distinction correctly.",
        "confidence": "Confirmed",
        "limits": "No Pivot engine execution; Data Model measures and calculated items are separate mechanisms.",
        "source_catalog_matches": [
          "excel-pivot-calculations"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "powerpoint-compress",
        "opened_url": "https://support.microsoft.com/en-us/powerpoint/compress-your-media-files",
        "final_url": "https://support.microsoft.com/en-us/powerpoint/compress-your-media-files",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-powerpoint-compress.html",
        "raw_sha256": "5730c83a320af38265a1643c7720a992e2e92bde6f98567bf705975d726ad053",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-powerpoint-compress.txt",
        "text_sha256": "d2847640779d72d2a4ea2fcc0553ba68eb49848a377330886ac00e64fb9dc3a7",
        "chars": 2228,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "MO-310"
        ],
        "read_scope": "Intro platform limitation and Newer versions tab; Office 2016 tab distinguished in raw HTML.",
        "observations": "Compression is Windows-only in this reference, with embedded subtitles and alternate audio tracks lost. Existing guide preserves the original and calls for playback/accessibility rechecks.",
        "confidence": "Confirmed",
        "limits": "No PowerPoint export, media compression or assistive technology run.",
        "source_catalog_matches": [
          "powerpoint-compress-media"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "powerpoint-outline",
        "opened_url": "https://support.microsoft.com/en-US/PowerPoint/training/create-a-powerpoint-presentation-from-an-outline",
        "final_url": "https://support.microsoft.com/en-us/powerpoint/training/create-a-powerpoint-presentation-from-an-outline",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-powerpoint-outline.html",
        "raw_sha256": "e058261ca353233a52e814ad2fa7bf7fc167b456f80e3449c751b4591bfdaf74",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-powerpoint-outline.txt",
        "text_sha256": "cd6eb419414f412ae6c4b8d4140710238c1dd42afefd9bde05b6e6c358dae6d5",
        "chars": 3722,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "MO-310"
        ],
        "read_scope": "Raw Newer Windows versions, Newer Mac versions and Web sections, kept separate.",
        "observations": "Windows accepts DOCX/RTF/TXT; Mac Word outlines require RTF and text files use indentation; web import is unsupported. Heading 1/2 and Normal-style distinctions match current guide.",
        "confidence": "Confirmed",
        "limits": "No import executed. Source contains an rft typo in one prose label; do not copy typo as file format.",
        "source_catalog_matches": [
          "powerpoint-outline"
        ],
        "candidate_matches": [],
        "body_reviewed": true
      },
      {
        "key": "powerpoint-smartart",
        "opened_url": "https://techcommunity.microsoft.com/blog/microsoft365insiderblog/smartart-is-becoming-more-accessible-in-powerpoint/4507653",
        "final_url": "https://techcommunity.microsoft.com/blog/microsoft365insiderblog/smartart-is-becoming-more-accessible-in-powerpoint/4507653",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-powerpoint-smartart.html",
        "raw_sha256": "a15a853f8e44fc82d55911f35865e1dc629304d406de17efea4e876927cc46a0",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-powerpoint-smartart.txt",
        "text_sha256": "5f940ede61e7e4fcbc02ef0ce8f74dd0e059cb02d8efe3ec5b2e328c57daa064",
        "chars": 50,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "MO-310"
        ],
        "read_scope": "Attempted web open returned zero lines; raw HTTP 200 text body only 50 characters, no article.",
        "observations": "Article body unavailable through these methods. No new claim about SmartArt feature/build is supported by this attempt. Preserve prior evidence and existing rollout caveat; do not infer a version contradiction from search or release-history numbering alone.",
        "confidence": "Not revalidated",
        "limits": "Raw access interstitial is not product evidence. The cited 2607/build pairing should be rechecked when body is accessible, without silently rewriting an attributed historical claim.",
        "source_catalog_matches": [
          "powerpoint-smartart-accessibility-blog"
        ],
        "candidate_matches": [],
        "body_reviewed": false
      },
      {
        "key": "office-current-release",
        "opened_url": "https://learn.microsoft.com/en-us/officeupdates/current-channel",
        "final_url": "https://learn.microsoft.com/en-us/officeupdates/current-channel",
        "status": 200,
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-office-current-release.html",
        "raw_sha256": "cb0995d58e22518068ccc67ec90c279a0ade2adcfe8a50dcbb3bf3380e395def",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/technical-source-office-current-release.txt",
        "text_sha256": "49676324227844fe4f7534d6b7218d5db0e14b7c51bc9a9c3125894880ac6aa2",
        "chars": 91953,
        "checked_at": "2026-10-28",
        "affected_exams": [
          "MO-110",
          "MO-111",
          "MO-210",
          "MO-211",
          "MO-310"
        ],
        "read_scope": "Intro rollout note and releases from October 21 through September 22, 2026; selected earlier 2608/2607 release headings.",
        "observations": "Current Channel October 21 build 20527.20088 fixes an audio-insertion issue in PowerPoint; October 13 fixes an Excel coauthoring crash. Rollouts vary, supporting the guides target-build caveats rather than an exam-workstation build promise. No extra guide prose needed.",
        "confidence": "Confirmed for release notes",
        "limits": "No other channel, installed build, live Office behavior or full annual release audit. Research-only new URL; no guide citation proposed.",
        "source_catalog_matches": [],
        "candidate_matches": [],
        "body_reviewed": true
      }
    ],
    "proposed_changes": [
      {
        "exam_code": "AB-410",
        "guide_path": "guides/AB-410-building-intelligent-applications.md",
        "old_text": "- Use Dataverse for Teams only when its Teams-coupled scope and reduced administration/security customization fit.",
        "replacement_markdown": "- For new Teams-integrated solutions, choose a suitable full Dataverse environment and add the app to Teams. **VERIFY CURRENT — checked October 28, 2026:** the [Power Platform deprecation ledger](https://learn.microsoft.com/en-us/power-platform/important-changes-coming) ends new Dataverse for Teams environment creation on **November 15, 2026**. Existing environments that are not upgraded are suspended **September 15, 2027** and decommissioned **October 30, 2027**. Inventory any existing environment and plan its upgrade or solution move, including capacity and user licensing, before the relevant cutoff.",
        "reason": "Environment recommendation needs the newly documented product deprecation boundary. Relates to environment/governance selection; does not change the credential blueprint. Exact current ledger section and raw HTML inspected.",
        "sources": [
          "https://learn.microsoft.com/en-us/power-platform/important-changes-coming"
        ],
        "confidence": "Confirmed"
      }
    ],
    "new_sources": [],
    "source_catalog_refreshappendnotes": [
      {
        "source_id": "ab410-prompt-knowledge",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: SAP remains in connector instructions and absent from the allowed-data-sources limitations. Flow-only connector context, two relationship levels and bounded retrieval remain explicit. Original AI Builder URL redirects into Copilot Studio. Scope: Add knowledge/filter; Use connectors; Limitations; raw HTML corresponding body sections checked (no platform tabs). Limits: No connector, tenant, prompt or permission test. Do not remove SAP evidence gap.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "power-platform-important-changes",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: Dataverse for Teams creation ends November 15, 2026; existing unupgraded environments suspend September 15, 2027 and decommission October 30, 2027. New work should use full Dataverse; review capacity/licenses before an upgrade. Teams assets outside that environment are unaffected. Scope: Complete Dataverse for Teams deprecation section, including phased timeline, unaffected assets, admin/maker actions and FAQ; raw HTML heading/sibling section inspected. Other ledger sections not comprehensively read. Limits: Lifecycle notice is product evidence, not an exam-objective change. Upgrade not executed.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "ab410-credits",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: The November 1, 2026 credit transition is still upcoming on this research date. Existing contracts retain credits through term end; feature retirement must not be inferred. Existing guide explains contract/context distinction adequately. Scope: Detailed calendar and FAQ on existing entitlements, currency order and exhaustion. Limits: No license purchase, tenant consumption or billing test.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "copilot-studio-agent-build-overview",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: GitHub Copilot harness coexists with standard harness, is a separate authoring/runtime choice, and agents cannot transfer between them. Some natural-language authoring features remain preview. Standard agents remain supported. Existing guide correctly uses this as changing terminology/context. Scope: Introduction; What is the GitHub Copilot harness; Build tab comparison introduction; compatibility. Selected raw extracted paragraphs inspected. Feature matrix not fully audited. Limits: Not GitHub Copilot service or a replacement statement for every standard agent; no agent run or credits measured.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "az120-backup-faq",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: FAQ still recommends node-level protection changes around promotion for the connection-lockout scenario. It does not clearly delimit applicability to the native logical HSR protection model. Existing guide warning remains justified. Scope: Backup FAQ subsection on secondary-node Stop protection/resume; surrounding raw body and absence of scenario/platform tab qualifiers inspected. Limits: No HANA deployment, protected-item or restore test. Retain narrower scenario uncertainty rather than asserting every HSR backup is broken.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "az-120-hana-hsr-backup",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: Native HSR guidance groups both nodes with the same HSR ID/vault and requires matching user-store keys on possible primaries. It describes primary-following backup behavior. Snapshot support is distinct and preview-qualified. Existing explanation should be retained. Scope: Prerequisites; preregistration/hdbuserstore; logical HSR ID; snapshot HSR behavior; standalone-to-HSR scenarios. Selected raw body paragraphs inspected. Limits: No protected item, backup chain or failover observed; cannot resolve FAQ applicability.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "az120-mana-linux",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: MANA requires guest software plus host hardware. Accelerated Networking enabled is insufficient alone; inspect PCI device, driver binding and packet counters. Existing guide already teaches the operational distinction. Scope: Linux support and status verification steps. Limits: No guest driver, VM SKU or SAP/distribution support certification tested.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "az-802-doc-gpu-partitioning",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: Current guidance allows multiple GPU partitions per VM, requires supported CPU/IOMMU/driver/guest and homogeneous configuration, distinguishes planned standalone migration from Datacenter clustered unplanned downtime, and uses TCP/IP compression. Guide already preserves these limits. Scope: Overview; requirements; limitations, including multiple partitions and migration transport. Limits: No physical GPU, partition allocation, failover or live migration tested. Hardware list not copied into guide.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "az-ssh-direct-hyper-v-sockets",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: Current Microsoft article documents network-independent Hyper-V sockets and Linux VSOCK prerequisites. It does not supply a current end-to-end hvc/OpenSSH support recipe or distribution compatibility matrix. Existing provisional SSH Direct model remains appropriately qualified. Scope: Supported host/guest; Linux kernel configuration; Hyper-V/VSOCK addressing and service GUID bridge. Limits: Focused Microsoft Learn search returned blueprint mentions, not a dedicated support contract. Not an exhaustive upstream re-investigation; preserve prior broader evidence.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "word-track-changes",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: Turning tracking off retains existing changes. Windows Lock Tracking is password-controlled and distinct from accepting/rejecting revisions. Existing guide instruction matches the Windows tab. Scope: Windows tab recording/off/locking/review sections; raw parent section id tabpanel_1_windows verified; no cross-platform generalization. Limits: No Word application, password or revision operation executed. Platform tab must be retained when quoting UI paths.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "word-create-macro",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: Keyboard selection is recordable; mouse text selection is not. Storage in document/template is separate from execution. Web displays saved results but does not run the desktop macro workflow. Existing guide teaching is adequate. Scope: Windows macro record/run/storage/Organizer and Web limitation; raw platform tab text examined. Limits: No VBA executed; no macro trust settings changed.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "excel-dynamic-arrays",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: Spill formulas belong outside tables; only the anchor is edited. Linked arrays require both workbooks open; refreshing after source closure produces REF errors. Existing introductory/expert distinctions remain sound. Scope: Spill behavior and Key points, including table placement, anchor edit, blocked output and cross-workbook limit. Limits: No Excel engine execution; applies-to list alone does not prove every named function on every legacy edition.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "excel-stale-values",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: Hiding stale formatting does not recalculate. External-source values and dependents of Data Table cells have warning gaps. Current support page lists Microsoft 365 Windows and Mac, so historical Windows Beta blog wording must not define universal present availability. Existing guide already uses current support evidence. Scope: Whole short article body including limitations. Limits: No build/channel/application verification. Do not promise stale markers for every external dependency.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "excel-pivot-calculations",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: Classic non-OLAP calculated fields use aggregate source-field sums, differing from row products summed afterward. Numeric Sum versus text Count defaults and OLAP restrictions remain documented. Existing 140 versus 300 example teaches the distinction correctly. Scope: Raw About calculations tab: OLAP/non-OLAP; summary defaults; formulas operate on totals. Windows-or-Mac tab and Web restrictions inspected selectively. Limits: No Pivot engine execution; Data Model measures and calculated items are separate mechanisms.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "powerpoint-compress-media",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: Compression is Windows-only in this reference, with embedded subtitles and alternate audio tracks lost. Existing guide preserves the original and calls for playback/accessibility rechecks. Scope: Intro platform limitation and Newer versions tab; Office 2016 tab distinguished in raw HTML. Limits: No PowerPoint export, media compression or assistive technology run.",
        "do_not_replace_existing_notes": true
      },
      {
        "source_id": "powerpoint-outline",
        "checked_at": "2026-10-28",
        "append_note": "October 28 group-05 selected technical review: Windows accepts DOCX/RTF/TXT; Mac Word outlines require RTF and text files use indentation; web import is unsupported. Heading 1/2 and Normal-style distinctions match current guide. Scope: Raw Newer Windows versions, Newer Mac versions and Web sections, kept separate. Limits: No import executed. Source contains an rft typo in one prose label; do not copy typo as file format.",
        "do_not_replace_existing_notes": true
      }
    ],
    "catalog_support_suggestion": [
      {
        "source_id": "excel-dynamic-arrays",
        "add_supported_exams": [
          "MO-211"
        ],
        "reason": "Same current spill and cross-workbook documentation supports MO-211 technical passage; add only if coordinator adds this exact guide citation."
      }
    ],
    "retained_blockers": [
      {
        "exam_code": "AB-410",
        "blocker": "SAP prompt-knowledge support",
        "status": "retained",
        "sources": [
          "https://learn.microsoft.com/en-us/ai-builder/use-your-own-prompt-data"
        ],
        "observation": "Current instructions still include SAP while limitations omit it. Raw same-page body has no platform/context tab resolving this mismatch.",
        "next_step": "Obtain scoped Microsoft support clarification or documented supported connector result in an authorized disposable environment; preserve flow-only context."
      },
      {
        "exam_code": "AZ-120",
        "blocker": "Native logical HSR backup versus FAQ node-level Stop protection recipe",
        "status": "retained",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/backup/sap-hana-faq-backup-azure-vm",
          "https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-with-hana-system-replication-backup"
        ],
        "observation": "Both current page bodies retain their distinct procedures; raw content has no applicable platform/tab qualifier that resolves the models. Guide already separates them.",
        "next_step": "Confirm exact protected-item model and procedure applicability with Microsoft before any node-level protection changes."
      },
      {
        "exam_code": "AZ-802",
        "blocker": "SSH Direct end-to-end supported procedure/compatibility",
        "status": "retained",
        "sources": [
          "https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/make-integration-service"
        ],
        "observation": "Current Microsoft socket page confirms substrate only. Focused Learn search found blueprint mentions but no new dedicated end-to-end supported recipe; previous broader evidence must remain.",
        "next_step": "Recheck exact host/guest/kernel/systemd/OpenSSH boundary and authenticated operation in a disposable authorized lab, preserving version/failure/rollback evidence."
      },
      {
        "exam_code": "MO-310",
        "blocker": "SmartArt announcement body not accessible on this pass",
        "status": "research-access-limitation; no new technical contradiction asserted",
        "sources": [
          "https://techcommunity.microsoft.com/blog/microsoft365insiderblog/smartart-is-becoming-more-accessible-in-powerpoint/4507653"
        ],
        "observation": "HTTP 200 is an unreadable interstitial, not confirmation of announcement content or build boundary.",
        "next_step": "Keep prior dated evidence; re-open article when available and inspect actual body before altering attributed version wording."
      }
    ],
    "no_change_recommendations": [
      {
        "exam_code": "AZ-120",
        "recommendation": "Retain selected technical teaching; no material correction supported by the read current sources. Exam and learning-resource researchers own their separate scopes."
      },
      {
        "exam_code": "AZ-802",
        "recommendation": "Retain selected technical teaching; no material correction supported by the read current sources. Exam and learning-resource researchers own their separate scopes."
      },
      {
        "exam_code": "MO-110",
        "recommendation": "Retain selected technical teaching; no material correction supported by the read current sources. Exam and learning-resource researchers own their separate scopes."
      },
      {
        "exam_code": "MO-111",
        "recommendation": "Retain selected technical teaching; no material correction supported by the read current sources. Exam and learning-resource researchers own their separate scopes."
      },
      {
        "exam_code": "MO-210",
        "recommendation": "Retain selected technical teaching; no material correction supported by the read current sources. Exam and learning-resource researchers own their separate scopes."
      },
      {
        "exam_code": "MO-211",
        "recommendation": "Retain selected technical teaching; no material correction supported by the read current sources. Exam and learning-resource researchers own their separate scopes."
      },
      {
        "exam_code": "MO-310",
        "recommendation": "Retain selected technical teaching; no material correction supported by the read current sources. Exam and learning-resource researchers own their separate scopes."
      }
    ],
    "execution_limits": [
      "No shared guides, catalogs, snapshots or ledgers edited.",
      "No cloud, Power Platform, SAP, Hyper-V, Office automation, macro, screen reader, paid lesson or lab execution.",
      "Raw pages were captured and hashed; only named scopes were read. An HTTP success is not technical validation.",
      "No credential effective-date or objective change inferred from product-page Last Updated.",
      "Coordinator retains ownership of all shared edits, review and validation."
    ]
  },
  "learning_research": {
    "report_date": "2026-10-28",
    "scope": "FINALgroup5 preliminary learning research, eight exact guides; shared-file edits remain coordinator-owned",
    "input_hashes": [
      {
        "exam_code": "AB-410",
        "guide_path": "guides/AB-410-building-intelligent-applications.md",
        "sha256_lf": "6a3af28d56aace7d2c64f396d9376de1d83c44b38d503b3a7a593d03425e1e0e"
      },
      {
        "exam_code": "AZ-120",
        "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
        "sha256_lf": "2ff79da9817625ce10e5daf341982f5606ed3a13d6ab48a6f77600019def9b4a"
      },
      {
        "exam_code": "AZ-802",
        "guide_path": "guides/AZ-802-administering-windows-server.md",
        "sha256_lf": "d28dc0f282e9fec60cc0fbc0c03908dc38a7a78c8107f2aab42623b5737f2464"
      },
      {
        "exam_code": "MO-110",
        "guide_path": "guides/MO-110-microsoft-word-microsoft-365-apps.md",
        "sha256_lf": "e8b97fec80ccc4f0e0b492e24bcd9269bd3e4a65ca0e7d75c0562ec14065fbfd"
      },
      {
        "exam_code": "MO-111",
        "guide_path": "guides/MO-111-microsoft-word-expert-microsoft-365-apps.md",
        "sha256_lf": "5bb107960c4abed991e8ceb7f462fb9231c6bcb7d56f33e787bbbe873e88b7ca"
      },
      {
        "exam_code": "MO-210",
        "guide_path": "guides/MO-210-microsoft-excel-microsoft-365-apps.md",
        "sha256_lf": "af6574c07de8553a0bae64f215a15507a8ea58b3ee04450a57bf5b2557c6156f"
      },
      {
        "exam_code": "MO-211",
        "guide_path": "guides/MO-211-microsoft-excel-expert.md",
        "sha256_lf": "7a1301b8c12ef8b58de1852d7a4dec28c5bb5ea8f5aea5468d0cc5ed20da057e"
      },
      {
        "exam_code": "MO-310",
        "guide_path": "guides/MO-310-microsoft-powerpoint-microsoft-365-apps.md",
        "sha256_lf": "48458a4732bf6c055fcc269d15847e88e7fa23ec2afac9d2736c5b0d48cf5d8d"
      }
    ],
    "input_warning": "Hashes captured before coordinator final group-05 freeze; coordinator must compare after group-04 CI. Patches require exact unique old-text match.",
    "instructions_read": [
      "AGENTS.md",
      "CONTRIBUTING.md",
      "docs/CONTENT-POLICY.md",
      "docs/SOURCE-QUALITY.md",
      "docs/GUIDE-QUALITY-STANDARD.md",
      "docs/SOURCE-INTAKE.md",
      "schemas/source-catalog.schema.json"
    ],
    "reading_scope": "All eight complete Places to learn sections read. Earlier AZ-802 lab-recommendation paragraph inspected for warning propagation. This is not a complete full-guide technical review.",
    "opened_sources": [
      {
        "key": "ab410-ai-design",
        "opened_url": "https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/",
        "final_url": "https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/",
        "status": 200,
        "title": "Design AI-Powered Business Solutions with Microsoft Power Platform - Training | Microsoft Learn",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ab410-ai-design.txt",
        "text_sha256": "c57536d21c109ef84804355aecba1a4c6e7fc3c1b6f62ec27de66254492323ae",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ab410-ai-design.html",
        "raw_sha256": "0f07b45f8e057c161f5a29e5e5ab19232687cce9c8e67e76cd201e2a944e550a",
        "chars": 1679,
        "affected_exams": [
          "AB-410"
        ],
        "read_scope": "module overview, learning objectives, prerequisites and seven-unit outline",
        "observations": "Seven-unit design module assumes canvas-app, cloud-flow and Dataverse familiarity; unit runtime absent in overview.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": null,
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "ab410-ai-path",
        "opened_url": "https://learn.microsoft.com/en-us/training/paths/design-model-solutions-power-platform/",
        "final_url": "https://learn.microsoft.com/en-us/training/paths/design-model-solutions-power-platform/",
        "status": 200,
        "title": "Get Started with AI-First Solutions in Microsoft Power Platform - Training | Microsoft Learn",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ab410-ai-path.txt",
        "text_sha256": "e90db3b0b114cfc5e8ba2826d1d3673c268ce63d2d5ae1f776522f8822b4b3e3",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ab410-ai-path.html",
        "raw_sha256": "2cda1cf740604c68d50a073e6751db959cb6bccb5781fe1565f250fbdf121068",
        "chars": 1914,
        "affected_exams": [
          "AB-410"
        ],
        "read_scope": "complete three-module path outline",
        "observations": "Current path outlines design, prompting and Plans. No reliable whole-path runtime displayed; older catalog timing is historical.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": "ab-410-path-ai-first",
        "candidate_match_ids": [],
        "recommended_use": "context only; do not add new guide claim",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "ab410-component-unit",
        "opened_url": "https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/3-recommend-power-platform-components",
        "final_url": "https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/3-recommend-power-platform-components",
        "status": 200,
        "title": "Recommend Power Platform Components for Business Solutions - Training | Microsoft Learn",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ab410-component-unit.txt",
        "text_sha256": "430365d18f1d75b2608cf606d14c3df35d56b065ebe4d343351c30f47504ca78",
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ab410-component-unit.html",
        "raw_sha256": "b8508bfb869e28c21332d5fb4cac418786f4fb19952d445d4f048aec08c4689e",
        "chars": 8215,
        "affected_exams": [
          "AB-410"
        ],
        "read_scope": "complete instructional unit body, four-dimension framework and worked scenarios",
        "observations": "Published seven-minute unit supplies a users/data/process/language decision framework. Examples are teaching scenarios, not proof of licensing, extraction accuracy or production readiness.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": null,
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "ab410-pattern-unit",
        "opened_url": "https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/4-map-business-processes-ai-first-patterns",
        "final_url": "https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/4-map-business-processes-ai-first-patterns",
        "status": 200,
        "title": "Map Business Processes to AI-First Solution Patterns - Training | Microsoft Learn",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ab410-pattern-unit.txt",
        "text_sha256": "9ea1741be45535ff77f2329c2004e5d2b27d1b1a55cdd79caad1f52cbee9c2a6",
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ab410-pattern-unit.html",
        "raw_sha256": "bdde08b33dd84d20c2fd325cda5d0a3bb279819f1938f96d9e1b0b147de34cd5",
        "chars": 5584,
        "affected_exams": [
          "AB-410"
        ],
        "read_scope": "complete instructional unit body; not used as new guide evidence",
        "observations": "Patterns are teaching examples. Text says four task-specific agents but lists three; 80/20 resolution example is illustrative and license statements need current product evidence. Do not promote unsupported details.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": null,
        "candidate_match_ids": [],
        "recommended_use": "context only; do not add new guide claim",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "sap-automation",
        "opened_url": "https://learn.microsoft.com/en-us/azure/sap/automation/tutorial",
        "final_url": "https://learn.microsoft.com/en-us/azure/sap/automation/tutorial",
        "status": 200,
        "title": "Deploy SAP Deployment Automation Framework | Microsoft Learn",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-sap-automation.txt",
        "text_sha256": "1effec626bd64c585158abcd3314d78ebc24e2c6d374b5e24802668aae4f6177",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-sap-automation.html",
        "raw_sha256": "54773f8c6936206fb271bfeecbdd3bb20dc85ba9a0ad7a6091bb6d1ee3157949",
        "chars": 51384,
        "affected_exams": [
          "AZ-120"
        ],
        "read_scope": "intro, prerequisites, environment hierarchy, setup/deployment phase headings, complete cleanup section; intervening command bodies not exhaustively audited",
        "observations": "Updated 2026-04-13. Tutorial requires Azure permissions/quota and SAP software entitlement. Cleanup reverses system/zone/control-plane order. Sample naming varies; no deployment validation or HSR-support conclusion.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": "az-120-deployment-automation-framework",
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "Updated 2026-04-13"
      },
      {
        "key": "sap-course",
        "opened_url": "https://learn.microsoft.com/en-us/training/courses/az-120t00/",
        "final_url": "https://learn.microsoft.com/en-us/training/courses/az-120t00",
        "status": 200,
        "title": "Course AZ-120T00-A: Planning and Deploying SAP on Azure - Training | Microsoft Learn",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-sap-course.txt",
        "text_sha256": "3874b558e8084689c18ee05182986a81a194e43a296cdb0f438f89677e4fc2a6",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-sap-course.html",
        "raw_sha256": "ac1837579df7aa6cca577ce1eb77696a184b1de05de8842c1f872296cb5efc4d",
        "chars": 2167,
        "affected_exams": [
          "AZ-120"
        ],
        "read_scope": "complete visible short overview/metadata, not loading self-paced syllabus",
        "observations": "Three instructor-led days and three languages remain visible. No usable self-paced runtime or full module list loaded.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": "az-120-microsoft-learn-course",
        "candidate_match_ids": [],
        "recommended_use": "context only; do not add new guide claim",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "az802-lab-index",
        "opened_url": "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/",
        "final_url": "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/",
        "status": 200,
        "title": "AZ-802 lab instructions |\n        \n        AZ-802 lab exercises",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-az802-lab-index.txt",
        "text_sha256": "16fbe2000e7cb714bf4d9bc7ca8f0d474ee4138f40664df56fb16fe3a3b31816",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-az802-lab-index.html",
        "raw_sha256": "ec99aa604478ee69e17bb78bd65f2e65e828dabd6e1fdec716a956ec19196d56",
        "chars": 3000,
        "affected_exams": [
          "AZ-802"
        ],
        "read_scope": "complete public lab index and listed durations",
        "observations": "Setup plus eight labs; monitoring publishes 40 minutes. Index summary is less specific than child Lab 0 warning; training authority is tier 3.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": "az-802-official-labs",
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "az802-setup",
        "opened_url": "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_00_Set_up_the_AZ-802_lab_environment.html",
        "final_url": "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_00_Set_up_the_AZ-802_lab_environment.html",
        "status": 200,
        "title": "Lab 0: Set up the Windows Server lab environment | \n        AZ-802 lab exercises",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-az802-setup.txt",
        "text_sha256": "c5375ec4104b91d0d7ac990b20dae5b08920969cc95eab7b88feaa2bd5b42467",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-az802-setup.html",
        "raw_sha256": "1a4f79eb807ccfb37815c12b16fdc8dbebf82ebe8415eabe7268338e3b888f4d",
        "chars": 15644,
        "affected_exams": [
          "AZ-802"
        ],
        "read_scope": "complete setup instructions read; no linked setup code inspected or executed",
        "observations": "Under-development warning prohibits using these instructions to provision yet. Baseline is Windows Server 2022; Azure/local alternatives and reset/deletion effects are described. Does not validate Windows Server 2025 tasks.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": null,
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "az802-monitoring",
        "opened_url": "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_08_Monitoring_and_troubleshooting_Windows_Server.html",
        "final_url": "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_08_Monitoring_and_troubleshooting_Windows_Server.html",
        "status": 200,
        "title": "Lab: Monitoring and troubleshooting Windows Server |\n        \n        AZ-802 lab exercises",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-az802-monitoring.txt",
        "text_sha256": "71a4c0a969e2bc351e13197371ee0067168e52c961e1291c57b5791e8f1872e9",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-az802-monitoring.html",
        "raw_sha256": "0bdbd7478b988abf9e12d8654ab639c9b5b2ff0f51d755a83a42798995daef52",
        "chars": 10094,
        "affected_exams": [
          "AZ-802"
        ],
        "read_scope": "complete lab instructions, all three exercises",
        "observations": "Publishes 40 minutes after setup; baseline counters, load comparison and collector-initiated event subscription. Lab-only TrustedHosts workaround and stress utility do not become production recommendations.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": null,
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "word-toc",
        "opened_url": "https://support.microsoft.com/en-us/word/update-a-table-of-contents",
        "final_url": "https://support.microsoft.com/en-us/word/update-a-table-of-contents",
        "status": 200,
        "title": "Update a table of contents | Microsoft Support",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-word-toc.txt",
        "text_sha256": "5b7e111bef16aca4aaea1abfb1e1333fac10ac36308d34e134aad00b3799b7df",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-word-toc.html",
        "raw_sha256": "ef7b795d001a9593465a8ce3ec06eed6185372fb693ea89be37c4f674d8bf11a",
        "chars": 647,
        "affected_exams": [
          "MO-110"
        ],
        "read_scope": "complete short instructional body and Applies To",
        "observations": "Distinct page-number versus entire-table updates; manual TOCs cannot update automatically. Windows/Mac listed; no browser parity inferred.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": "word-update-toc",
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "word-merge-data",
        "opened_url": "https://support.microsoft.com/en-us/word/prepare-your-excel-data-source-for-a-word-mail-merge",
        "final_url": "https://support.microsoft.com/en-us/word/prepare-your-excel-data-source-for-a-word-mail-merge",
        "status": 200,
        "title": "Prepare your Excel data source for a Word mail merge | Microsoft Support",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-word-merge-data.txt",
        "text_sha256": "10f3e1d61d39aae7b335c0f57770ecdf74a603a6bd02d66ee0ef5b112b5872bf",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-word-merge-data.html",
        "raw_sha256": "a2d260e2f897f751e53261c4ae5cd55896e8e9e6a11e9a5504f1b8b6cc5eb369",
        "chars": 5494,
        "affected_exams": [
          "MO-111"
        ],
        "read_scope": "complete Windows and macOS instructional bodies",
        "observations": "Type postal identifiers before import; preserve original data. Reformatting already-damaged identifiers is not recovery. Windows and Mac import instructions differ.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": "word-merge-data",
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "word-merge-preview",
        "opened_url": "https://support.microsoft.com/en-us/word/mail-merge-preview-results",
        "final_url": "https://support.microsoft.com/en-us/word/mail-merge-preview-results",
        "status": 200,
        "title": "Mail merge: Preview Results | Microsoft Support",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-word-merge-preview.txt",
        "text_sha256": "6e7b7bedc4590ac30de8a30a8276bd5f8894fd55178d752017268f00b6bd4d94",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-word-merge-preview.html",
        "raw_sha256": "a030e85012b3a9ffbcf867ff0ac30092739f229dcded858faa263b61836d523b",
        "chars": 634,
        "affected_exams": [
          "MO-111"
        ],
        "read_scope": "complete short instructional body",
        "observations": "Per-record preview, Find Recipient and recipient exclusion/filter guidance. No actual merge was performed.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": "word-merge-preview",
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "word-merge-platform",
        "opened_url": "https://support.microsoft.com/en-us/word/use-mail-merge-for-bulk-email-letters-labels-and-envelopes",
        "final_url": "https://support.microsoft.com/en-us/word/use-mail-merge-for-bulk-email-letters-labels-and-envelopes",
        "status": 200,
        "title": "Use mail merge for bulk email, letters, labels, and envelopes | Microsoft Support",
        "text_path": ".maintenance/2026-10-28-remaining-refresh/group-05/learning-source-word-merge-platform.txt",
        "text_sha256": "754bd7620f5787c0f4a9321aff19cd0592ccff10211aac1795da511174d982fc",
        "raw_path": ".maintenance/2026-10-28-remaining-refresh/group-05/learning-source-word-merge-platform.html",
        "raw_sha256": "e8f1825fbdd9d7e2429aed898a0def70495b4387d83d3d2cb6b1e4b849c9c8cb",
        "chars": 3978,
        "affected_exams": [
          "MO-111"
        ],
        "read_scope": "complete substantive Windows/macOS/web text; linked procedures/video not opened",
        "observations": "Word web preserves merge settings but cannot edit them or perform merge; desktop required. Local synthetic letters avoid sending real mail.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": null,
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "excel-total",
        "opened_url": "https://support.microsoft.com/en-us/excel/get-started/total-the-data-in-an-excel-table",
        "final_url": "https://support.microsoft.com/en-us/excel/get-started/total-the-data-in-an-excel-table",
        "status": 200,
        "title": "Total the data in an Excel table | Microsoft Support",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-excel-total.txt",
        "text_sha256": "78a1a2cdbe6872427721edec576b7c0269b39150dedd344bde95094b8c649d39",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-excel-total.html",
        "raw_sha256": "57019615992a89765427f97a1284c3a2fa085638e0683d12e037e6539ac88335",
        "chars": 4734,
        "affected_exams": [
          "MO-210"
        ],
        "read_scope": "complete Windows/Mac/web instructional bodies",
        "observations": "Total Row defaults use SUBTOTAL and there are separate platform steps. Formula-copy caveat read. Video and linked references unreviewed.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": "excel-table-totals",
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "excel-zeros",
        "opened_url": "https://support.microsoft.com/en-us/excel/keeping-leading-zeros-and-large-numbers",
        "final_url": "https://support.microsoft.com/en-us/excel/keeping-leading-zeros-and-large-numbers",
        "status": 200,
        "title": "Keeping leading zeros and large numbers | Microsoft Support",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-excel-zeros.txt",
        "text_sha256": "30793387401cf7868a0bdb0cbf9a888a5144ebce7af9c713b30bd9e3808e1edd",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-excel-zeros.html",
        "raw_sha256": "cc3d3690d5db81333404342b39f80277caf6b02b2daeec92313375f0da527564",
        "chars": 5435,
        "affected_exams": [
          "MO-210"
        ],
        "read_scope": "complete substantive instructional body",
        "observations": "Text typing/import and display formats are distinct. Automatic conversion feature has version applicability. Formatting does not restore previously lost input.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": "excel-leading-zeroes",
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "excel-pivotchart",
        "opened_url": "https://support.microsoft.com/en-us/excel/get-started/create-a-pivotchart",
        "final_url": "https://support.microsoft.com/en-us/excel/get-started/create-a-pivotchart",
        "status": 200,
        "title": "Create a PivotChart | Microsoft Support",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-excel-pivotchart.txt",
        "text_sha256": "c48aa2e5613dc8e14255b189d22806fc4572cf9e2653131b8e5de65c067993cb",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-excel-pivotchart.html",
        "raw_sha256": "1f0667a0b50b72b53b0e2e3487e6bd86807dbedda02ed476ebcaf6de32f577a7",
        "chars": 2597,
        "affected_exams": [
          "MO-211"
        ],
        "read_scope": "complete Windows/Mac/web instructional bodies",
        "observations": "Mac/web create a PivotTable first. Mac lists column, line, pie and radar and excludes treemap/statistical/combo charts. Chart behavior and instructions not executed.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": null,
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "ppt-layout",
        "opened_url": "https://support.microsoft.com/en-us/powerpoint/what-is-a-slide-layout",
        "final_url": "https://support.microsoft.com/en-us/powerpoint/what-is-a-slide-layout",
        "status": 200,
        "title": "What is a slide layout? | Microsoft Support",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ppt-layout.txt",
        "text_sha256": "15199af84bf2733a2319fa3915001b08f1b1279c314e7495d50c27e45b0189e3",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ppt-layout.html",
        "raw_sha256": "96ef531013d9268fb4d488e8ba9bc2ba074452ce54319764322a30410e562f8e",
        "chars": 2235,
        "affected_exams": [
          "MO-310"
        ],
        "read_scope": "complete substantive article body",
        "observations": "Applying a layout differs from defining one; Slide Master customization is unavailable in PowerPoint web. Windows/Mac desktop scope listed.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": null,
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "key": "ppt-placeholder",
        "opened_url": "https://support.microsoft.com/en-us/powerpoint/add-edit-or-remove-a-placeholder-on-a-slide-layout",
        "final_url": "https://support.microsoft.com/en-us/powerpoint/add-edit-or-remove-a-placeholder-on-a-slide-layout",
        "status": 200,
        "title": "Add, edit, or remove a placeholder on a slide layout | Microsoft Support",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ppt-placeholder.txt",
        "text_sha256": "dc55796f4d5e5c16b883d741486d8d39335f36130735b49a4c86df36c02b6733",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-ppt-placeholder.html",
        "raw_sha256": "fa480f849395e69f4919ffe1526aa872ae625d496b6748d964280750e2d4a340",
        "chars": 10301,
        "affected_exams": [
          "MO-310"
        ],
        "read_scope": "complete Windows/macOS instructional bodies",
        "observations": "Placeholder editing in layout/master view, application in Normal view and reapplying changed layouts. No video, file, theme export or UI procedure executed.",
        "confidence": "high for inspected public text; no execution confidence claimed",
        "limitations": "No live Office/server/cloud/SAP execution; paid lessons, assessments and embedded videos unreviewed.",
        "source_match_id": null,
        "candidate_match_ids": [],
        "recommended_use": "accept/update bounded learning route",
        "date_observation": "No reliable publication/update date displayed in the inspected public scope."
      }
    ],
    "failed_or_excluded_sources": [
      {
        "key": "gcf-mail-merge",
        "opened_url": "https://edu.gcfglobal.org/en/word/mail-merge/1/",
        "final_url": "https://www.learnfree.org/en/word/mail-merge/1/",
        "status": 404,
        "title": "404 | LearnFree",
        "text_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-gcf-mail-merge.txt",
        "text_sha256": "893f19a5b87bf5c699a5e8c108f4939e7a6986edd42a9d0f9b93cc9f55957c0a",
        "raw_path": "C:/src/certification-study-library/.maintenance/2026-10-28-remaining-refresh/group-05/learning-source-gcf-mail-merge.html",
        "raw_sha256": "93fbd06c86b50a4a2d59dc1db553060be7794ef61ac70398e5afec6bcc098d82",
        "chars": 59,
        "affected_exams": [
          "MO-111"
        ],
        "read_scope": "404 body only",
        "observations": "Old GCF tutorial redirects to learnfree.org and returns 404. Search-result mirrors are not current publisher evidence.",
        "confidence": "high for failure; no tutorial-body review",
        "recommended_use": "exclude from proposed additions"
      }
    ],
    "proposed_changes": [
      {
        "exam_code": "AB-410",
        "guide_path": "guides/AB-410-building-intelligent-applications.md",
        "old_text": "This is a selective starting set, not a complete list and not a prescription to consume everything. Pick the explanation, demonstration, hands-on practice, and assessment style that works for you. Reconcile every exam-labeled resource with the May 15, 2026 official blueprint before investing time or money.",
        "replacement_markdown": "This is a selective starting set, not a complete list and not a prescription to consume everything. Pick the explanation, demonstration, hands-on practice, and assessment style that works for you. Reconcile every exam-labeled resource with the May 15, 2026 official blueprint before investing time or money.\n\n### Focused source-to-evidence route\n\n**Requirements before tooling — public reading; about 45–75 minutes.** Read the [AI-powered solution-design module overview](https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/) and its [requirements-to-components unit](https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/3-recommend-power-platform-components) (published unit estimate: 7 minutes). For a synthetic repair-request process, produce a one-page matrix of users, data, human decisions, automation and proposed components; justify one step that should remain deterministic. The planning range adds an original worksheet and revision to the short reading, not tenant deployment. Prior canvas-app, flow and Dataverse familiarity is assumed. The module is selective design training, not proof of licensing, rollout or complete blueprint coverage; implementation needs current product documentation. Public text was reviewed October 28, 2026; no account, tenant or paid lesson was used.",
        "reason": "Add a bounded learning route with exact resources, access, timing basis and an original inspectable learner output.",
        "sources": [
          "https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/",
          "https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/3-recommend-power-platform-components"
        ]
      },
      {
        "exam_code": "AZ-120",
        "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
        "old_text": "This is **not a complete list**, and it is not a recommendation to consume everything. Pick the combination that fits how you learn and use the official April 17, 2026 objective list as the coverage checklist. Time estimates are planning ranges, not vendor promises; pause-and-practice time is included where useful. Verify subscription access, course freshness and exact duration before purchase.",
        "replacement_markdown": "This is **not a complete list**, and it is not a recommendation to consume everything. Pick the combination that fits how you learn and use the official April 17, 2026 objective list as the coverage checklist. Time estimates are planning ranges, not vendor promises; pause-and-practice time is included where useful. Verify subscription access, course freshness and exact duration before purchase.\n\n### Focused source-to-evidence route\n\n**Deployment design without provisioning — public tutorial; about 90–150 minutes.** Read the prerequisites, environment overview, deployment phases and cleanup sections of [Deploy SAP Deployment Automation Framework](https://learn.microsoft.com/en-us/azure/sap/automation/tutorial) (article updated April 13, 2026). Draw the control-plane, workload-zone and system dependencies, then write a prerequisite/cost gate and a reverse-order cleanup checklist. This is an editorial estimate for selected reading and two original artifacts, not a published deployment duration. **VERIFY CURRENT:** actual deployment requires an Azure subscription, suitable permissions/quota and SAP software-download entitlement, and incurs resource costs. Check the pinned release and reconcile sample names before running commands. This reading does not validate HSR backup/failback or SAP support matrices; the guide’s open findings remain. No Azure or SAP environment was deployed.",
        "reason": "Add a bounded learning route with exact resources, access, timing basis and an original inspectable learner output.",
        "sources": [
          "https://learn.microsoft.com/en-us/azure/sap/automation/tutorial"
        ]
      },
      {
        "exam_code": "AZ-802",
        "guide_path": "guides/AZ-802-administering-windows-server.md",
        "old_text": "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 your experience, access, learning style, and weakest objectives. A strong plan is usually the official blueprint and documentation, one primary structured resource, hands-on practice, and a legitimate assessment used diagnostically—not every course from every vendor.",
        "replacement_markdown": "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 your experience, access, learning style, and weakest objectives. A strong plan is usually the official blueprint and documentation, one primary structured resource, hands-on practice, and a legitimate assessment used diagnostically—not every course from every vendor.\n\n### Focused source-to-evidence route\n\n**Monitoring evidence — public instructions; about 60–90 minutes for reading and a tabletop.** Read the [monitoring and troubleshooting lab](https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_08_Monitoring_and_troubleshooting_Windows_Server.html), which publishes 40 minutes for an already prepared environment. Draft a baseline/load/recovery table naming counters, collection intervals, expected evidence and an event-forwarding check. The longer range allows reading and original analysis; it excludes environment creation. **VERIFY CURRENT:** the [Lab 0 setup page](https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_00_Set_up_the_AZ-802_lab_environment.html) currently warns that it is under development and must not be used to provision. Use instructions as reading, or execute only in a separately supplied, verified disposable course environment. Record actual observations separately; no scripts or servers were run in this review. This lab does not resolve the SSH Direct support gap.",
        "reason": "Add a bounded learning route with exact resources, access, timing basis and an original inspectable learner output.",
        "sources": [
          "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_08_Monitoring_and_troubleshooting_Windows_Server.html",
          "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_00_Set_up_the_AZ-802_lab_environment.html"
        ]
      },
      {
        "exam_code": "MO-110",
        "guide_path": "guides/MO-110-microsoft-word-microsoft-365-apps.md",
        "old_text": "This is a selective learning path, not a complete list of Word resources.",
        "replacement_markdown": "This is a selective learning path, not a requirement to consume every resource or a complete list of Word resources.\n\n### Focused source-to-evidence route\n\n**A report that survives revision — public task reference; about 45–75 minutes.** Use [Update a table of contents](https://support.microsoft.com/en-us/word/update-a-table-of-contents) after building your own three-page report with heading styles and an automatic contents table. Rename a heading and insert a page; compare updating page numbers with updating the entire table. Save the revised `.docx` and a short before/after checklist, then reopen the file. The estimate covers the short article, original document creation and two revisions; it is not publisher runtime. The article lists Microsoft 365 Word on Windows and Mac; use the matching desktop environment and record its build. Web workflow and exam-environment equivalence were not evaluated. No article publication/update date is displayed. Text was inspected October 28, 2026; Word was not executed.",
        "reason": "Add a bounded learning route with exact resources, access, timing basis and an original inspectable learner output.",
        "sources": [
          "https://support.microsoft.com/en-us/word/update-a-table-of-contents"
        ]
      },
      {
        "exam_code": "MO-111",
        "guide_path": "guides/MO-111-microsoft-word-expert-microsoft-365-apps.md",
        "old_text": "This is a selective learning path, not a complete list of Word Expert resources.",
        "replacement_markdown": "This is a selective learning path, not a requirement to consume every resource or a complete list of Word Expert resources.\n\n### Focused source-to-evidence route\n\n**A merge pack with edge cases — public task references; about 60–90 minutes.** Read [prepare the Excel source](https://support.microsoft.com/en-us/word/prepare-your-excel-data-source-for-a-word-mail-merge), [preview recipients](https://support.microsoft.com/en-us/word/mail-merge-preview-results) and the [mail-merge platform boundary](https://support.microsoft.com/en-us/word/use-mail-merge-for-bulk-email-letters-labels-and-envelopes). Create six synthetic recipients including a leading-zero postal code and a blank optional value. Deliver the source `.xlsx`, main `.docx`, a preview checklist and locally merged letters; do not send mail. Estimate basis: three short references plus original files and recipient-by-recipient inspection. Windows and Mac instructions differ; choose the matching desktop steps. Word for the web preserves existing merge settings but cannot perform or edit the merge. No visible article dates were established. Public text was reviewed October 28, 2026; no merge or paid lesson was executed.",
        "reason": "Add a bounded learning route with exact resources, access, timing basis and an original inspectable learner output.",
        "sources": [
          "https://support.microsoft.com/en-us/word/prepare-your-excel-data-source-for-a-word-mail-merge",
          "https://support.microsoft.com/en-us/word/mail-merge-preview-results",
          "https://support.microsoft.com/en-us/word/use-mail-merge-for-bulk-email-letters-labels-and-envelopes"
        ]
      },
      {
        "exam_code": "MO-210",
        "guide_path": "guides/MO-210-microsoft-excel-microsoft-365-apps.md",
        "old_text": "This is a selective learning path, not a complete list of Excel resources.",
        "replacement_markdown": "This is a selective learning path, not a requirement to consume every resource or a complete list of Excel resources.\n\n### Focused source-to-evidence route\n\n**Identifiers and trustworthy totals — public task references; about 60–90 minutes.** Read [preserving leading zeros and long identifiers](https://support.microsoft.com/en-us/excel/keeping-leading-zeros-and-large-numbers) and [Excel table totals](https://support.microsoft.com/en-us/excel/get-started/total-the-data-in-an-excel-table). Build an original small sales workbook with text identifiers, a table, a Total Row and a chart. Filter one region and document why its visible total differs from the unfiltered total. Save the `.xlsx` with a raw-input sheet and a reconciliation note; formatting cannot reconstruct source digits already lost. The estimate covers reading, constructing data and two checks, not provider runtime. The totals page has Windows/Mac/web steps; the conversion page has narrower version applicability. **VERIFY CURRENT:** use the applicable desktop instructions for full preparation and record build/platform. No visible article dates were established; Excel was not executed.",
        "reason": "Add a bounded learning route with exact resources, access, timing basis and an original inspectable learner output.",
        "sources": [
          "https://support.microsoft.com/en-us/excel/keeping-leading-zeros-and-large-numbers",
          "https://support.microsoft.com/en-us/excel/get-started/total-the-data-in-an-excel-table"
        ]
      },
      {
        "exam_code": "MO-211",
        "guide_path": "guides/MO-211-microsoft-excel-expert.md",
        "old_text": "This is a selective learning path, not a complete list of Excel Expert resources. All time estimates below are author suggestions.",
        "replacement_markdown": "This is a selective learning path, not a requirement to consume every resource or a complete list of Excel Expert resources. All time estimates below are author suggestions.\n\n### Focused source-to-evidence route\n\n**A Pivot report with a reconciliation trail — public task reference; about 60–90 minutes.** Use [Create a PivotChart](https://support.microsoft.com/en-us/excel/get-started/create-a-pivotchart) with your own monthly expense table. Produce a PivotTable, linked chart and category filter; reconcile the displayed values with a manually checked source subtotal. Change one source value, refresh, and retain the saved `.xlsx` plus a change log. This estimate adds original workbook creation and verification to a short article, not a vendor course duration. **VERIFY CURRENT:** Microsoft documents separate Windows, Mac and web routes; Mac and web begin from a PivotTable, and Mac chart-type limits apply. Follow your platform tab rather than copying Windows clicks. This focused chart route does not replace advanced-formula or macro practice. No visible article date was established; text was inspected October 28, 2026 without Excel execution.",
        "reason": "Add a bounded learning route with exact resources, access, timing basis and an original inspectable learner output.",
        "sources": [
          "https://support.microsoft.com/en-us/excel/get-started/create-a-pivotchart"
        ]
      },
      {
        "exam_code": "MO-310",
        "guide_path": "guides/MO-310-microsoft-powerpoint-microsoft-365-apps.md",
        "old_text": "This is a selective learning path, not a complete list of PowerPoint resources. Times are author suggestions, not provider runtimes or an exam-readiness guarantee.",
        "replacement_markdown": "This is a selective learning path, not a requirement to consume every resource or a complete list of PowerPoint resources. Times are author suggestions, not provider runtimes or an exam-readiness guarantee.\n\n### Focused source-to-evidence route\n\n**A reusable layout, not repeated manual formatting — public references; about 60–90 minutes.** Read [slide-layout concepts](https://support.microsoft.com/en-us/powerpoint/what-is-a-slide-layout) and [editing layout placeholders](https://support.microsoft.com/en-us/powerpoint/add-edit-or-remove-a-placeholder-on-a-slide-layout). In your own five-slide deck, duplicate a layout, add a picture placeholder and change its prompt text; apply it to two slides, revise it, then reapply it. Deliver the `.pptx` and a checklist distinguishing layout changes from individual-slide edits. Estimate basis: two articles, an original deck and a revision pass. **VERIFY CURRENT:** use the matching Windows or Mac desktop steps; PowerPoint for the web cannot edit layout definitions in Slide Master view. These references do not establish SmartArt preview availability or media support. No visible article dates were established; no PowerPoint operation or embedded video was executed.",
        "reason": "Add a bounded learning route with exact resources, access, timing basis and an original inspectable learner output.",
        "sources": [
          "https://support.microsoft.com/en-us/powerpoint/what-is-a-slide-layout",
          "https://support.microsoft.com/en-us/powerpoint/add-edit-or-remove-a-placeholder-on-a-slide-layout"
        ]
      },
      {
        "exam_code": "AZ-802",
        "guide_path": "guides/AZ-802-administering-windows-server.md",
        "old_text": "The public [MicrosoftLearning AZ-802 lab repository](https://github.com/MicrosoftLearning/AZ-802-Windows-Server-Administrator-Associate) and [rendered lab instructions](https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/) provide official-course exercises under the repository's stated MIT license. Check current prerequisites, tenant/subscription cost, and lab revision before use.",
        "replacement_markdown": "The public [MicrosoftLearning AZ-802 lab repository](https://github.com/MicrosoftLearning/AZ-802-Windows-Server-Administrator-Associate) and [rendered lab instructions](https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/) provide official-course exercises under the repository's stated MIT license. Check current prerequisites, tenant/subscription cost, and lab revision before use. **VERIFY CURRENT — October 28, 2026:** the [Lab 0 setup instructions](https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_00_Set_up_the_AZ-802_lab_environment.html) are marked under development and say not to provision with them yet. Read the exercises or use a separately supplied, verified disposable course environment; public instructions are not proof that setup scripts are ready.",
        "reason": "Carry the current setup warning to the earlier official-lab recommendation.",
        "sources": [
          "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_00_Set_up_the_AZ-802_lab_environment.html"
        ]
      },
      {
        "exam_code": "AZ-802",
        "guide_path": "guides/AZ-802-administering-windows-server.md",
        "old_text": "| [MicrosoftLearning AZ-802 labs](https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/) | Free public instructions; infrastructure may cost | Estimate 18–30 hr including setup, evidence, troubleshooting, and cleanup | Guided implementation aligned to the new course |",
        "replacement_markdown": "| [MicrosoftLearning AZ-802 labs](https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/) | Free public instructions; infrastructure may cost | About 18–30 hr for selected exercises, evidence and troubleshooting in an already supplied environment; editorial budget | Public exercises; Lab 0 is under development and says not to provision with it yet; see the focused route above |",
        "reason": "Remove unconditional setup/implementation recommendation while preserving useful public lab material.",
        "sources": [
          "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/",
          "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_00_Set_up_the_AZ-802_lab_environment.html"
        ]
      },
      {
        "exam_code": "MO-211",
        "guide_path": "guides/MO-211-microsoft-excel-expert.md",
        "old_text": "| [Excel help and learning](https://support.microsoft.com/en-us/excel) | Public directory; linked lessons not comprehensively audited | Target gaps as needed |",
        "replacement_markdown": "| [Excel help and learning](https://support.microsoft.com/en-us/excel) | Public directory; linked lessons not comprehensively audited | About 30–60 min to locate one weak-topic route; estimate for directory browsing and planning, with task practice budgeted separately |",
        "reason": "Give the directory a transparent planning estimate instead of an unbounded time cell.",
        "sources": []
      }
    ],
    "new_source_catalog_objects": [
      {
        "id": "ab410-ai-solution-design-module",
        "title": "Design AI-Powered Business Solutions with Microsoft Power Platform",
        "url": "https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-410"
        ],
        "notes": "October 28, 2026 group-05 learning review: Seven-unit design module assumes canvas-app, cloud-flow and Dataverse familiarity; unit runtime absent in overview. Read scope: module overview, learning objectives, prerequisites and seven-unit outline. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "ab410-recommend-components-unit",
        "title": "Recommend Power Platform Components for Business Solutions",
        "url": "https://learn.microsoft.com/en-us/training/modules/design-ai-powered-solutions-power-platform/3-recommend-power-platform-components",
        "publisher": "Microsoft",
        "authority_class": 3,
        "source_type": "official-training",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AB-410"
        ],
        "notes": "October 28, 2026 group-05 learning review: Published seven-minute unit supplies a users/data/process/language decision framework. Examples are teaching scenarios, not proof of licensing, extraction accuracy or production readiness. Read scope: complete instructional unit body, four-dimension framework and worked scenarios. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "az802-lab00-setup",
        "title": "Lab 0: Set up the Windows Server lab environment",
        "url": "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_00_Set_up_the_AZ-802_lab_environment.html",
        "publisher": "MicrosoftLearning",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-802"
        ],
        "notes": "October 28, 2026 group-05 learning review: Under-development warning prohibits using these instructions to provision yet. Baseline is Windows Server 2022; Azure/local alternatives and reset/deletion effects are described. Does not validate Windows Server 2025 tasks. Read scope: complete setup instructions read; no linked setup code inspected or executed. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "az802-lab08-monitoring",
        "title": "Lab: Monitoring and troubleshooting Windows Server",
        "url": "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_08_Monitoring_and_troubleshooting_Windows_Server.html",
        "publisher": "MicrosoftLearning",
        "authority_class": 3,
        "source_type": "hands-on-lab",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "AZ-802"
        ],
        "notes": "October 28, 2026 group-05 learning review: Publishes 40 minutes after setup; baseline counters, load comparison and collector-initiated event subscription. Lab-only TrustedHosts workaround and stress utility do not become production recommendations. Read scope: complete lab instructions, all three exercises. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "word-mail-merge-platform-boundary",
        "title": "Use mail merge for bulk email, letters, labels, and envelopes",
        "url": "https://support.microsoft.com/en-us/word/use-mail-merge-for-bulk-email-letters-labels-and-envelopes",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "MO-111"
        ],
        "notes": "October 28, 2026 group-05 learning review: Word web preserves merge settings but cannot edit them or perform merge; desktop required. Local synthetic letters avoid sending real mail. Read scope: complete substantive Windows/macOS/web text; linked procedures/video not opened. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "excel-create-pivotchart",
        "title": "Create a PivotChart",
        "url": "https://support.microsoft.com/en-us/excel/get-started/create-a-pivotchart",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "MO-211"
        ],
        "notes": "October 28, 2026 group-05 learning review: Mac/web create a PivotTable first. Mac lists column, line, pie and radar and excludes treemap/statistical/combo charts. Chart behavior and instructions not executed. Read scope: complete Windows/Mac/web instructional bodies. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "powerpoint-slide-layout",
        "title": "What is a slide layout?",
        "url": "https://support.microsoft.com/en-us/powerpoint/what-is-a-slide-layout",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "MO-310"
        ],
        "notes": "October 28, 2026 group-05 learning review: Applying a layout differs from defining one; Slide Master customization is unavailable in PowerPoint web. Windows/Mac desktop scope listed. Read scope: complete substantive article body. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "powerpoint-layout-placeholders",
        "title": "Add, edit, or remove a placeholder on a slide layout",
        "url": "https://support.microsoft.com/en-us/powerpoint/add-edit-or-remove-a-placeholder-on-a-slide-layout",
        "publisher": "Microsoft",
        "authority_class": 2,
        "source_type": "product-documentation",
        "access_model": "public",
        "last_checked": "2026-10-28",
        "supported_exams": [
          "MO-310"
        ],
        "notes": "October 28, 2026 group-05 learning review: Placeholder editing in layout/master view, application in Normal view and reapplying changed layouts. No video, file, theme export or UI procedure executed. Read scope: complete Windows/macOS instructional bodies. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      }
    ],
    "source_updates": [
      {
        "id": "ab-410-path-ai-first",
        "url": "https://learn.microsoft.com/en-us/training/paths/design-model-solutions-power-platform/",
        "update_mode": "partial-append-notes",
        "preserve_existing_notes": true,
        "preserve_existing_supported_exams": true,
        "set_fields": {
          "last_checked": "2026-10-28",
          "authority_class": 3
        },
        "append_notes": "October 28, 2026 group-05 learning review: Current path outlines design, prompting and Plans. No reliable whole-path runtime displayed; older catalog timing is historical. Read scope: complete three-module path outline. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "az-120-deployment-automation-framework",
        "url": "https://learn.microsoft.com/en-us/azure/sap/automation/tutorial",
        "update_mode": "partial-append-notes",
        "preserve_existing_notes": true,
        "preserve_existing_supported_exams": true,
        "set_fields": {
          "last_checked": "2026-10-28",
          "authority_class": 2
        },
        "append_notes": "October 28, 2026 group-05 learning review: Updated 2026-04-13. Tutorial requires Azure permissions/quota and SAP software entitlement. Cleanup reverses system/zone/control-plane order. Sample naming varies; no deployment validation or HSR-support conclusion. Read scope: intro, prerequisites, environment hierarchy, setup/deployment phase headings, complete cleanup section; intervening command bodies not exhaustively audited. No product execution, paid content or embedded video reviewed. Updated 2026-04-13"
      },
      {
        "id": "az-120-microsoft-learn-course",
        "url": "https://learn.microsoft.com/en-us/training/courses/az-120t00/",
        "update_mode": "partial-append-notes",
        "preserve_existing_notes": true,
        "preserve_existing_supported_exams": true,
        "set_fields": {
          "last_checked": "2026-10-28",
          "authority_class": 3
        },
        "append_notes": "October 28, 2026 group-05 learning review: Three instructor-led days and three languages remain visible. No usable self-paced runtime or full module list loaded. Read scope: complete visible short overview/metadata, not loading self-paced syllabus. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "az-802-official-labs",
        "url": "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/",
        "update_mode": "partial-append-notes",
        "preserve_existing_notes": true,
        "preserve_existing_supported_exams": true,
        "set_fields": {
          "last_checked": "2026-10-28",
          "authority_class": 3
        },
        "append_notes": "October 28, 2026 group-05 learning review: Setup plus eight labs; monitoring publishes 40 minutes. Index summary is less specific than child Lab 0 warning; training authority is tier 3. Read scope: complete public lab index and listed durations. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "word-update-toc",
        "url": "https://support.microsoft.com/en-us/word/update-a-table-of-contents",
        "update_mode": "partial-append-notes",
        "preserve_existing_notes": true,
        "preserve_existing_supported_exams": true,
        "set_fields": {
          "last_checked": "2026-10-28",
          "authority_class": 2
        },
        "append_notes": "October 28, 2026 group-05 learning review: Distinct page-number versus entire-table updates; manual TOCs cannot update automatically. Windows/Mac listed; no browser parity inferred. Read scope: complete short instructional body and Applies To. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "word-merge-data",
        "url": "https://support.microsoft.com/en-us/word/prepare-your-excel-data-source-for-a-word-mail-merge",
        "update_mode": "partial-append-notes",
        "preserve_existing_notes": true,
        "preserve_existing_supported_exams": true,
        "set_fields": {
          "last_checked": "2026-10-28",
          "authority_class": 2
        },
        "append_notes": "October 28, 2026 group-05 learning review: Type postal identifiers before import; preserve original data. Reformatting already-damaged identifiers is not recovery. Windows and Mac import instructions differ. Read scope: complete Windows and macOS instructional bodies. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "word-merge-preview",
        "url": "https://support.microsoft.com/en-us/word/mail-merge-preview-results",
        "update_mode": "partial-append-notes",
        "preserve_existing_notes": true,
        "preserve_existing_supported_exams": true,
        "set_fields": {
          "last_checked": "2026-10-28",
          "authority_class": 2
        },
        "append_notes": "October 28, 2026 group-05 learning review: Per-record preview, Find Recipient and recipient exclusion/filter guidance. No actual merge was performed. Read scope: complete short instructional body. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "excel-table-totals",
        "url": "https://support.microsoft.com/en-us/excel/get-started/total-the-data-in-an-excel-table",
        "update_mode": "partial-append-notes",
        "preserve_existing_notes": true,
        "preserve_existing_supported_exams": true,
        "set_fields": {
          "last_checked": "2026-10-28",
          "authority_class": 2
        },
        "append_notes": "October 28, 2026 group-05 learning review: Total Row defaults use SUBTOTAL and there are separate platform steps. Formula-copy caveat read. Video and linked references unreviewed. Read scope: complete Windows/Mac/web instructional bodies. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      },
      {
        "id": "excel-leading-zeroes",
        "url": "https://support.microsoft.com/en-us/excel/keeping-leading-zeros-and-large-numbers",
        "update_mode": "partial-append-notes",
        "preserve_existing_notes": true,
        "preserve_existing_supported_exams": true,
        "set_fields": {
          "last_checked": "2026-10-28",
          "authority_class": 2
        },
        "append_notes": "October 28, 2026 group-05 learning review: Text typing/import and display formats are distinct. Automatic conversion feature has version applicability. Formatting does not restore previously lost input. Read scope: complete substantive instructional body. No product execution, paid content or embedded video reviewed. No reliable publication/update date displayed in the inspected public scope."
      }
    ],
    "unresolved_questions": [
      {
        "exam_code": "AZ-802",
        "question": "When will Lab 0 be ready for provisioning?",
        "recommendation": "Keep current warning; later inspect an updated child page and setup code, then execute in a disposable environment before claiming validated setup."
      },
      {
        "exam_code": "AB-410",
        "question": "Can training examples establish current licensing, agent counts or accurate document extraction?",
        "recommendation": "No; retain official-training tier 3 and cross-check behavior in current product docs; pattern unit inconsistency not copied."
      },
      {
        "exam_code": "AZ-120",
        "question": "Do current tutorial samples and release prerequisites align for the chosen topology?",
        "recommendation": "Reconcile sample variable names and pinned release before any execution; route is paper-only and does not resolve existing HSR gaps."
      }
    ],
    "bounded_recommendation": "Apply eight original source-to-evidence routes and AZ-802 warning propagation; retain earlier paid-content caveats, SAP/HSR/SSH Direct unresolved findings and SmartArt blocked-body limitation. Correct official-training authority classes for the AB-410 path (1 to 3) and AZ-802 lab index (2 to 3). No independent review, human review or executed-lab claim.",
    "verification": {
      "exact_unique_patch_matches": 11,
      "new_catalog_records": 8,
      "partial_append_source_updates": 9,
      "shared_writes": 0
    }
  },
  "coordinator_followups": {
    "changes": [
      {
        "exam_code": "MO-210",
        "old_text": "For the three amounts **20, 60, 5**, SUM is **85**, AVERAGE is **85/3**, MAX is **60** and MIN is **5**. Use `=IF(D2>=20,\"Meets\",\"Below\")` on the first amount, then test **19**, **20**, **21** and **0**: expect **Below, Meets, Meets, Below**. Restore the original amount and confirm the table totals again. The [statistical reference](https://support.microsoft.com/en-us/excel/statistical-functions-reference?ad=us&rs=en-us&ui=en-us) and [IF decision reference](https://support.microsoft.com/en-us/excel/using-if-with-and-or-and-not-functions-in-excel) support the function distinctions; these outputs are proposed expectations, not observed Excel results.",
        "replacement_markdown": "For the three amounts **20, 60, 5**, SUM is **85**, AVERAGE is **85/3**, MAX is **60** and MIN is **5**. On a separate test sheet, put the first amount in D2 and enter `=IF(D2>=20,\"Meets\",\"Below\")` in E2, keeping input and result separate. Change only D2 to **19**, **20**, **21** and **0**: E2 should show **Below, Meets, Meets, Below**. Leave the SalesData calculated column intact and confirm its original totals again. The [statistical reference](https://support.microsoft.com/en-us/excel/statistical-functions-reference?ad=us&rs=en-us&ui=en-us) and [IF decision reference](https://support.microsoft.com/en-us/excel/using-if-with-and-or-and-not-functions-in-excel) support the function distinctions; these outputs are proposed expectations, not observed Excel results.",
        "reason": "Specify a separate output cell and isolated boundary-test input so the reader neither replaces the calculated Amount column nor inadvertently creates a self-reference in D2."
      },
      {
        "exam_code": "AB-410",
        "old_text": "**Upcoming blueprint change:** None announced on the official study guide as of September 28, 2026.<br>",
        "replacement_markdown": "**Upcoming blueprint change:** None announced on the official study guide as of October 28, 2026.<br>",
        "reason": "Current collector has no upcoming announcement; retain historical review prose separately."
      },
      {
        "exam_code": "AZ-120",
        "old_text": "**Upcoming blueprint change:** None announced on the official study guide as of September 28, 2026.<br>",
        "replacement_markdown": "**Upcoming blueprint change:** None announced on the official study guide as of October 28, 2026.<br>",
        "reason": "Current collector has no upcoming announcement; retain historical review prose separately."
      },
      {
        "exam_code": "AZ-120",
        "old_text": "**Certification lifecycle:** Active; no retirement or replacement is announced on the [official credential page](https://learn.microsoft.com/en-us/credentials/certifications/azure-for-sap-workloads-specialty/) as of September 28, 2026.<br>",
        "replacement_markdown": "**Certification lifecycle:** Active; no retirement or replacement is announced on the [official credential page](https://learn.microsoft.com/en-us/credentials/certifications/azure-for-sap-workloads-specialty/) as of October 28, 2026.<br>",
        "reason": "Current official credential body checked by exam researcher."
      },
      {
        "exam_code": "MO-110",
        "old_text": "**Change watch:** No MO-110 retirement or replacement is listed on the credential page or the [exam retirement list](https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams), checked September 28, 2026. The current [credential-expiration policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) specifies five years for MOS; check your own earned credential's dates.<br>",
        "replacement_markdown": "**Change watch:** No MO-110 retirement or replacement is listed on the credential page or the [exam retirement list](https://learn.microsoft.com/en-us/credentials/support/retired-certification-exams), checked October 28, 2026. The current [credential-expiration policy](https://learn.microsoft.com/en-us/credentials/support/credential-expiration-policy) specifies five years for MOS; check your own earned credential's dates.<br>",
        "reason": "Current credential and retirement-list check by exam researcher."
      },
      {
        "exam_code": "AZ-802",
        "old_text": "| [Microsoft AZ-800 training/course](https://learn.microsoft.com/en-us/training/courses/az-800t00) | Self-directed modules free; instructor-led access varies | 4 instructor-led days; selectively plan 15–30 hr | Reuse AD DS, Group Policy, hybrid server management, Hyper-V/Azure VM, DNS/DHCP, and file-service foundations |",
        "replacement_markdown": "| [Historical AZ-800 course URL](https://learn.microsoft.com/en-us/training/courses/az-800t00) | October 28 check redirects to the general training browser; the specific course outline is unavailable at this URL | Earlier listing: 4 days; not a current verified runtime | Use the current documentation above for AD DS, Group Policy, hybrid server management, VM, network and file-service foundations; this redirect does not establish an available course or its coverage |",
        "reason": "Initial source-health detected a material destination change; coordinator independently reopened both redirects. Preserve historical listing identity without presenting a general browser as a specific current course."
      },
      {
        "exam_code": "AZ-802",
        "old_text": "| [Microsoft AZ-801 training/course](https://learn.microsoft.com/en-us/training/courses/az-801t00) | Self-directed modules free; instructor-led access varies | 4 instructor-led days; selectively plan 8–18 hr | Reuse host/AD security and monitoring/troubleshooting; much HA/DR/migration scope is outside AZ-802 |",
        "replacement_markdown": "| [Historical AZ-801 course URL](https://learn.microsoft.com/en-us/training/courses/az-801t00) | October 28 check redirects to the general training browser; the specific course outline is unavailable at this URL | Earlier listing: 4 days; not a current verified runtime | Use the current documentation above for security, monitoring and troubleshooting; this redirect does not establish an available course or its coverage |",
        "reason": "Initial source-health detected a material destination change; coordinator independently reopened both redirects. Preserve historical listing identity without presenting a general browser as a specific current course."
      },
      {
        "exam_code": "AZ-120",
        "old_text": "and its images will be removed **October 14, 2026**.",
        "replacement_markdown": "and its images were scheduled for removal **October 14, 2026**; image removal was not independently observed in this review.",
        "reason": "Researcher final reread: deadline is past; preserve announced schedule without claiming observed removal."
      },
      {
        "exam_code": "MO-211",
        "old_text": "**VERIFY CURRENT — practice platform:**",
        "replacement_markdown": "**Detailed objective source:** The [official MO-211 detailed skills outline](https://arch-center.azureedge.net/Learning/Credentials/MO-211_OD_MOS365_ExcelExpert.pdf) supplies the individual assessed tasks; the credential page gives the broader domains.\n\n**VERIFY CURRENT — practice platform:**",
        "reason": "Independent review restores direct current detailed-PDF provenance removed by the platform introduction replacement. Existing registered URL retained."
      },
      {
        "exam_code": "MO-310",
        "old_text": "**VERIFY CURRENT — practice platform:**",
        "replacement_markdown": "**Detailed objective source:** The [official MO-310 detailed skills outline](https://arch-center.azureedge.net/Learning/Credentials/MO-310_OD_MOS365_PowerPoint-%282%29.pdf) supplies the individual assessed tasks; the credential page gives the broader domains.\n\n**VERIFY CURRENT — practice platform:**",
        "reason": "Independent review restores direct current detailed-PDF provenance removed by the platform introduction replacement. Existing registered URL retained."
      },
      {
        "exam_code": "MO-111",
        "old_text": "Create a coordinated style set by modifying Heading 1 and Body Text definitions, including paragraph spacing, then saving the current document formatting as a newly named style set for reuse.",
        "replacement_markdown": "**Optional validation exercise — not a required lab outcome:** investigate saving a coordinated style set after modifying Heading 1 and Body Text definitions, including paragraph spacing.",
        "reason": "Independent B review: uncertain current UI investigation is optional and cannot be a required lab success. Source gate remains blocked."
      },
      {
        "exam_code": "MO-111",
        "old_text": "Try it only in a disposable Windows desktop document/template. Save the named set, create a new second document, close/reopen Word and apply the saved set there; inspect both named styles and retain the saved set artifact; record the build and missing/different command if it cannot be reproduced.",
        "replacement_markdown": "If you choose to investigate, use only a disposable Windows desktop document/template. If the target build offers the action, save the named set, create a new second document, close/reopen Word and apply the saved set there; inspect both named styles and retain the saved set artifact. Otherwise record the build, missing/different command and unresolved artifact gap; do not require successful creation to complete this exercise.",
        "reason": "Independent B review: uncertain current UI investigation is optional and cannot be a required lab success. Source gate remains blocked."
      },
      {
        "exam_code": "MO-111",
        "old_text": "| 1 | Edit a template's defaults, theme, style set and building blocks; customize a toolbar and expose Developer | A newly created document gets the intended defaults; the original practice template remains recoverable |",
        "replacement_markdown": "| 1 | Edit a template's defaults, theme, named styles and building blocks; customize a toolbar and expose Developer. Investigating the unconfirmed Save as New Style Set action above is optional | A new document gets the intended supported defaults; the original template remains recoverable. For an optional style-set investigation, retain either a reproduced saved-set artifact or the build/command evidence and unresolved gap; successful style-set creation is not required |",
        "reason": "Independent B review: uncertain current UI investigation is optional and cannot be a required lab success. Source gate remains blocked."
      }
    ],
    "catalog_availability_updates": [
      "az-801-official-course",
      "az-802-legacy-course-az-800"
    ],
    "limits": "Original exercises remain unexecuted. Existing blog duration metadata change is not read-time verification; retired MeasureUp titles are consistent with already documented retirement."
  },
  "coordinator_source_observations": {
    "date": "2026-10-28",
    "scope": "Selected current public page sections; no complete independent product audit or execution",
    "observations": [
      {
        "url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-word-expert-m365-apps/",
        "read_scope": "Credential overview, renewal, preparation and exam sections",
        "observation": "Public page lists 50 minutes, 60-month renewal, ten languages and no dedicated training. Assessment not launched."
      },
      {
        "url": "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_00_Set_up_the_AZ-802_lab_environment.html",
        "read_scope": "Opening warning and setup sections through local Hyper-V prerequisites",
        "observation": "Opening warning says setup is under development and must not be used for provisioning. No provisioning, password use, connection or command execution."
      },
      {
        "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
        "read_scope": "Opening practice-assessment tip, purpose, audience and prerequisite sections",
        "observation": "Practice Assessment announced on AI Skills Navigator with sign-in required; public page does not prove signed-in launch or inspect questions."
      },
      {
        "url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
        "read_scope": "Opening assessment tip, audience and skills-at-a-glance sections",
        "observation": "Study guide advertises Navigator assessment; audience lists practical technologies without fixed experience years."
      },
      {
        "url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
        "read_scope": "Overview, retirement note, preparation, assessment and exam sections",
        "observation": "Credential page still says assessment unavailable, conflicting with study-guide tip. AZ800/AZ801 retirement is past. Exam lists 120 minutes and English. No assessment launch or scheduling transaction."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/az-800t00",
        "read_scope": "Reopened destination/redirect; general browser has no course body",
        "observation": "Redirects to https://learn.microsoft.com/en-us/training/browse/?resource_type=course; no current course-specific outline/runtime inferred."
      },
      {
        "url": "https://learn.microsoft.com/en-us/training/courses/az-801t00",
        "read_scope": "Reopened destination/redirect; general browser has no course body",
        "observation": "Redirects to https://learn.microsoft.com/en-us/training/browse/?resource_type=course; no current course-specific outline/runtime inferred."
      }
    ]
  },
  "source_gate_decisions": {
    "passed": [
      "MO-110",
      "MO-210",
      "MO-211",
      "MO-310"
    ],
    "blocked": {
      "AB-410": [
        "SAP connector instructions and allowed prompt-knowledge sources remain inconsistent."
      ],
      "AZ-120": [
        "Native logical HSR backup and FAQ secondary-node stop/resume applicability remains unresolved."
      ],
      "AZ-802": [
        "End-to-end SSH Direct support contract remains unconfirmed; WAC onboarding reference contains retired tooling; official pages conflict on Practice Assessment availability."
      ],
      "MO-111": [
        "Exact current Windows Save as New Style Set gallery action lacks current first-party documentation or build reproduction; historical primary discussion is explicitly bounded."
      ]
    },
    "boundary": "Bounded refresh source decisions; independent semantic recheck remains required. Neither human review nor live product execution."
  },
  "catalog": {
    "new_sources": 85,
    "new_source_ids": [
      "office-mos-tutorial-20261028",
      "office-cloud-candidate-20261028",
      "group05-ab410-model-flow",
      "group05-ab410-model-app",
      "office-word-style-set-windows-20261028",
      "group05-sap-anf-create",
      "group05-sap-sql-tutorial",
      "group05-sap-hana-restore",
      "group05-sap-policy-assignment",
      "group05-sap-acss-deploy",
      "group05-sap-files-create",
      "group05-sap-planning",
      "group05-sap-rise-security",
      "group05-sap-rise-services",
      "group05-sap-replicated-disk-support",
      "group05-sap-storage-replication",
      "group05-sap-ppg",
      "group05-sap-sql",
      "group05-ab410-create-prompt",
      "group05-ab410-editable-app",
      "group05-ab410-tables",
      "group05-ab410-charts",
      "group05-ab410-designers",
      "group05-ab410-bpf",
      "ab410-ai-solution-design-module",
      "ab410-recommend-components-unit",
      "group05-wac-alerts",
      "az802-lab00-setup",
      "az802-lab08-monitoring",
      "group05-word-accessibility",
      "group05-word-properties",
      "office-excel-movechart-20261028",
      "office-excel-goalseek-20261028",
      "group05-word-header",
      "office-excel-freeze-20261028",
      "office-word-merge-fields-20261028",
      "group05-word-table",
      "office-excel-pivotchart-20261028",
      "office-excel-charttypes-20261028",
      "office-excel-size-20261028",
      "office-excel-clear-20261028",
      "office-excel-consolidate-20261028",
      "office-excel-charts-20261028",
      "office-excel-errors-20261028",
      "office-excel-trace-20261028",
      "office-excel-pivotdetails-20261028",
      "excel-create-pivotchart",
      "office-excel-find-20261028",
      "office-excel-merge-20261028",
      "office-excel-logic-20261028",
      "office-excel-legacylookup-20261028",
      "office-excel-names-20261028",
      "office-excel-statistical-20261028",
      "office-excel-scenarios-20261028",
      "office-excel-logic-example-20261028",
      "office-excel-structured-20261028",
      "office-excel-links-20261028",
      "office-word-theme-20261028",
      "office-ppt-screenshot-20261028",
      "powerpoint-layout-placeholders",
      "office-ppt-shapes-20261028",
      "office-ppt-ink-20261028",
      "office-ppt-columns-20261028",
      "office-ppt-table-20261028",
      "powerpoint-slide-layout",
      "office-word-caption-20261028",
      "office-word-lines-20261028",
      "group05-word-basic",
      "office-word-combine-20261028",
      "office-word-compare-20261028",
      "office-word-hyphenation-20261028",
      "office-word-form-20261028",
      "office-word-styles-20261028",
      "office-word-figures-20261028",
      "office-word-link-20261028",
      "office-word-field-edit-20261028",
      "office-word-pagination-20261028",
      "group05-word-print",
      "office-word-password-20261028",
      "group05-word-margins",
      "group05-word-share",
      "word-mail-merge-platform-boundary",
      "office-word-quickparts-20261028",
      "office-office-formatpainter-20261028",
      "group05-word-borders"
    ],
    "evaluated_source_updates": [
      "ab-410-blueprint",
      "ab-410-path-ai-first",
      "ab410-credits",
      "ab410-prompt-app",
      "ab410-prompt-flow",
      "ab410-prompt-knowledge",
      "ab410-udf",
      "az-120-deployment-automation-framework",
      "az-120-ha-architecture",
      "az-120-hana-hsr-backup",
      "az-120-lama-connector",
      "az-120-microsoft-learn-course",
      "az-800-az-802-replacement-blueprint",
      "az-800-replacement-credential",
      "az-802-doc-gpu-partitioning",
      "az-802-official-labs",
      "az-ssh-direct-hyper-v-sockets",
      "az120-backup-faq",
      "az120-mana-linux",
      "az120-rise-network",
      "az120-storage-types",
      "az120-write-accelerator",
      "copilot-studio-agent-build-overview",
      "excel-dynamic-arrays",
      "excel-leading-zeroes",
      "excel-pivot-calculations",
      "excel-stale-values",
      "excel-table-totals",
      "power-platform-important-changes",
      "powerpoint-compress-media",
      "powerpoint-outline",
      "word-create-macro",
      "word-merge-data",
      "word-merge-preview",
      "word-track-changes",
      "word-update-toc"
    ],
    "reused_association_updates": [
      {
        "id": "mb-820-partner-skilling-hub",
        "added_exams": [
          "AB-410"
        ]
      }
    ],
    "fresh_health_sources": 86,
    "preservation": "Earlier source objects retained; bounded research observations appended and exact supported-exam associations unioned. Current training authority corrected to class3.",
    "final_new_sources": 86,
    "final_new_source_ids": [
      "office-mos-tutorial-20261028",
      "office-cloud-candidate-20261028",
      "group05-ab410-model-flow",
      "group05-ab410-model-app",
      "office-word-style-set-windows-20261028",
      "group05-sap-anf-create",
      "group05-sap-sql-tutorial",
      "group05-sap-hana-restore",
      "group05-sap-policy-assignment",
      "group05-sap-acss-deploy",
      "group05-sap-files-create",
      "group05-sap-planning",
      "group05-sap-rise-security",
      "group05-sap-rise-services",
      "group05-sap-replicated-disk-support",
      "group05-sap-storage-replication",
      "group05-sap-ppg",
      "group05-sap-sql",
      "group05-ab410-create-prompt",
      "group05-ab410-editable-app",
      "group05-ab410-tables",
      "group05-ab410-charts",
      "group05-ab410-designers",
      "group05-ab410-bpf",
      "ab410-ai-solution-design-module",
      "ab410-recommend-components-unit",
      "group05-wac-alerts",
      "az802-lab00-setup",
      "az802-lab08-monitoring",
      "group05-word-accessibility",
      "group05-word-properties",
      "office-excel-movechart-20261028",
      "office-excel-goalseek-20261028",
      "group05-word-header",
      "office-excel-freeze-20261028",
      "office-word-merge-fields-20261028",
      "group05-word-table",
      "office-excel-pivotchart-20261028",
      "office-excel-charttypes-20261028",
      "office-excel-size-20261028",
      "office-excel-clear-20261028",
      "office-excel-consolidate-20261028",
      "office-excel-charts-20261028",
      "office-excel-errors-20261028",
      "office-excel-trace-20261028",
      "office-excel-pivotdetails-20261028",
      "excel-create-pivotchart",
      "office-excel-find-20261028",
      "office-excel-merge-20261028",
      "office-excel-logic-20261028",
      "office-excel-legacylookup-20261028",
      "office-excel-names-20261028",
      "office-excel-statistical-20261028",
      "office-excel-scenarios-20261028",
      "office-excel-logic-example-20261028",
      "office-excel-structured-20261028",
      "office-excel-links-20261028",
      "office-word-theme-20261028",
      "office-ppt-screenshot-20261028",
      "powerpoint-layout-placeholders",
      "office-ppt-shapes-20261028",
      "office-ppt-ink-20261028",
      "office-ppt-columns-20261028",
      "office-ppt-table-20261028",
      "powerpoint-slide-layout",
      "office-word-caption-20261028",
      "office-word-lines-20261028",
      "group05-word-basic",
      "office-word-combine-20261028",
      "office-word-compare-20261028",
      "office-word-hyphenation-20261028",
      "office-word-form-20261028",
      "office-word-styles-20261028",
      "office-word-figures-20261028",
      "office-word-link-20261028",
      "office-word-field-edit-20261028",
      "office-word-pagination-20261028",
      "group05-word-print",
      "office-word-password-20261028",
      "group05-word-margins",
      "group05-word-share",
      "word-mail-merge-platform-boundary",
      "office-word-quickparts-20261028",
      "office-office-formatpainter-20261028",
      "group05-word-borders",
      "excel-built-in-conditional-rule-20261028"
    ],
    "independent_teaching_repair_source": "excel-built-in-conditional-rule-20261028",
    "coordinator_availability_updates": [
      "az-801-official-course",
      "az-802-legacy-course-az-800"
    ]
  },
  "independent_teaching_repair": {
    "finding": "G05-B-004",
    "exam_code": "MO-210",
    "objective_id": "MO-210-8.2",
    "old_anchor": "Data validation and Flash Fill remain useful supporting workflow practice;",
    "added_markdown": "### Worked built-in conditional rule\n\nOn a disposable Windows desktop sheet, enter **50, 100, 150, 200** in B2:B5 and apply a two-decimal number format. Select B2:B5, choose Home → Conditional Formatting → Highlight Cells Rules → Greater Than, enter **100** and select a highlight format. Expect only **150** and **200** to be highlighted. Change B3 from **100** to **101** while leaving the rule threshold at **100**: three cells should now match. In Manage Rules, confirm the comparison and Applies to range, then delete only this rule and apply the change. Values and two-decimal number formatting should remain. See [built-in rules and rule management](https://support.microsoft.com/en-us/excel/use-conditional-formatting-to-highlight-information-in-excel). Do not use Clear Formats to remove a single conditional rule. These are proposed checks; no Excel run occurred.\n\n",
    "source": {
      "id": "excel-built-in-conditional-rule-20261028",
      "title": "Use conditional formatting to highlight information in Excel",
      "url": "https://support.microsoft.com/en-us/excel/use-conditional-formatting-to-highlight-information-in-excel",
      "publisher": "Microsoft Support",
      "authority_class": 2,
      "source_type": "official-reference",
      "access_model": "public",
      "last_checked": "2026-10-28",
      "supported_exams": [
        "MO-210"
      ],
      "notes": "October28 independent-review repair: selected Windows built-in comparison and rule-manager sections read. Synthetic threshold checks remain unexecuted."
    },
    "boundary": "Independent review discovered a genuinely missing apply-level workflow. All prior initial findings remain retained; this is an additional repair, not one of the initial61flags.",
    "author_followup": {
      "old_text": "Change **100** to **101**: three cells should now match.",
      "replacement_markdown": "Change B3 from **100** to **101** while leaving the rule threshold at **100**: three cells should now match.",
      "reason": "Distinguish the B3 input value edit from changing the threshold."
    }
  },
  "health": {
    "initial": {
      "total": 255,
      "ok": 247,
      "blocked": 8,
      "broken": 0,
      "changed": 5,
      "stale": 0,
      "baseline_missing": false,
      "needs_review": true
    },
    "additional": {
      "total": 86,
      "ok": 85,
      "blocked": 1,
      "broken": 0,
      "changed": 0,
      "stale": 0,
      "baseline_missing": false,
      "needs_review": false
    },
    "independent_teaching": {
      "total": 1,
      "ok": 1,
      "blocked": 0,
      "broken": 0,
      "changed": 0,
      "stale": 0,
      "baseline_missing": false,
      "needs_review": false
    },
    "changed_destination_reconciliation": "Both old Windows Server course URLs now point to the general training browser. Guide rows explicitly label historical course identity/runtime and current unavailable outline. MeasureUp retired titles agree with the already documented retirement; incidental blog duration metadata is not a verified reading runtime.",
    "final_unique": {
      "total": 334,
      "reachable": 325,
      "access_blocked": 9,
      "missing_or_error": 0
    }
  },
  "validation": {
    "status": "passed before authorized stage/commit/push",
    "unit_tests": {
      "run": 199,
      "passed": true
    },
    "repository_validation": "passed",
    "reviewed_learning_resources_drift": false,
    "strict_site_build": "passed",
    "generated_site_validation": "passed",
    "diff_whitespace_check": "passed",
    "new_service_or_pipeline_execution": false,
    "boundary": "Final Markdown, guides, source/binding records and links were fixed before the website gate. This JSON-only validation metadata is recorded afterward; no rendered Markdown or links changed. Final repository/index checks follow; remote workflows rebuild and validate the final commit after push. No production deployment claimed.",
    "check_output_sha256": {
      "tests.log": "cfc4a25e5577db8acfb897fa05cb9af37dade7f334d35eb4f8ceba76a359fc53",
      "repository-validation.log": "3ac098dae1d09b59c78bfa83456c83a24aa7308b4b1b6f2e899b2284e5b360ea",
      "final-resource-drift.log": "d28016225567fcf09849dc13984ea580d4c45eebb41b86f1a264e4fb4654d7af",
      "final-mkdocs.log": "2434cec883390e51ea3fb4b4a04a81046c01b45da465a702af9a3c15b706fdf3",
      "final-site-validation.log": "7c73e2c9af83a76584eb3405bee55b609273f378e966f358455c673c2ee00047"
    }
  },
  "coordinator_editorial_rebinding": {
    "date": "2026-10-28",
    "coordinator_followup": "Repository validation requires the literal disclosure phrase not a complete list. Five existing equivalent resource-list sentences normalized; no resource, task, timing or technical meaning changes.",
    "changes": [
      {
        "exam_code": "MO-110",
        "old_text": "This is a selective learning path, not a requirement to consume every resource or a complete list of Word resources.",
        "replacement_markdown": "This is a selective learning path, not a complete list of Word resources or a requirement to consume every item.",
        "old_guide_lf_sha256": "a0779947d9e76d94e076f7bb9faac3db40955abb5f826fc8c35b442c9b34e6d3",
        "new_guide_lf_sha256": "ae8283c05a4dfa3fc89662b02d51e0fc3f72cebf7b6200cd62e1b400577ad7d1",
        "line_count_unchanged": true,
        "objective_wordings_and_semantic_reasons_unchanged": true
      },
      {
        "exam_code": "MO-111",
        "old_text": "This is a selective learning path, not a requirement to consume every resource or a complete list of Word Expert resources.",
        "replacement_markdown": "This is a selective learning path, not a complete list of Word Expert resources or a requirement to consume every item.",
        "old_guide_lf_sha256": "620e73320268547b78abd111bcad367e6464abf70ae6e32e81b84ae2699f8e5d",
        "new_guide_lf_sha256": "916671ccfcd7239e5a003449808c9db71f8a2588166030d10541f570c021eaa5",
        "line_count_unchanged": true,
        "objective_wordings_and_semantic_reasons_unchanged": true
      },
      {
        "exam_code": "MO-210",
        "old_text": "This is a selective learning path, not a requirement to consume every resource or a complete list of Excel resources.",
        "replacement_markdown": "This is a selective learning path, not a complete list of Excel resources or a requirement to consume every item.",
        "old_guide_lf_sha256": "41624e65a8518323e4d278298c998c6990ded7dca7b4167d8afb094cbdb018dd",
        "new_guide_lf_sha256": "8a58326b229da89dffd587eda22658fadf3fa5b49c14c1c344096b50f85e2868",
        "line_count_unchanged": true,
        "objective_wordings_and_semantic_reasons_unchanged": true
      },
      {
        "exam_code": "MO-211",
        "old_text": "This is a selective learning path, not a requirement to consume every resource or a complete list of Excel Expert resources. All time estimates below are author suggestions.",
        "replacement_markdown": "This is a selective learning path, not a complete list of Excel Expert resources or a requirement to consume every item. All time estimates below are author suggestions.",
        "old_guide_lf_sha256": "a51c3cdf378969e3915e30b1a43e353f97f44bdfe99b0d9ac5625acf2050183c",
        "new_guide_lf_sha256": "c86adc45edf779b57fa9a1eb933fbbb2d20175042f53890031b16573d2f06d60",
        "line_count_unchanged": true,
        "objective_wordings_and_semantic_reasons_unchanged": true
      },
      {
        "exam_code": "MO-310",
        "old_text": "This is a selective learning path, not a requirement to consume every resource or a complete list of PowerPoint resources. Times are author suggestions, not provider runtimes or an exam-readiness guarantee.",
        "replacement_markdown": "This is a selective learning path, not a complete list of PowerPoint resources or a requirement to consume every item. Times are author suggestions, not provider runtimes or an exam-readiness guarantee.",
        "old_guide_lf_sha256": "b15e4a4b3253ea93537548f69ea6abf9068eba4f402c77f41313a8ad06987bfd",
        "new_guide_lf_sha256": "caa6c79dee588d3a69dc3b92c7c2e38603df55d16197558e5f0a6805c29da7ec",
        "line_count_unchanged": true,
        "objective_wordings_and_semantic_reasons_unchanged": true
      }
    ],
    "preserved_combined_matrix": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\pre-disclosure-wording\\exam-final-mapping.json",
    "role_final_matrices": "Preserved unchanged as the authors released them. Combined current matrix/guide/deep hashes rebound only after this explicit editorial delta; no claim that the prior role hash already included it.",
    "verification": "Root inspected each exact before/after sentence; all offsets/task wording/reasons unchanged. Fresh-context reviewers receive this final editorial delta for recheck."
  },
  "independent_review": {
    "subset_a": {
      "date": "2026-10-28",
      "review_kind": "fresh-context read-only complete-guide and diff review; not a full rubric-2 audit",
      "scope": [
        "AB-410",
        "AZ-120",
        "AZ-802",
        "MO-110"
      ],
      "status": "complete; bounded fresh-context refresh evidence review passes after repairs, with existing source blockers retained",
      "bindings": [
        {
          "exam_code": "AZ-120",
          "guide_path": "guides/AZ-120-planning-administering-azure-sap-workloads.md",
          "guide_lf_sha256": "dd4ff9be605b1bc246858e62bfd0bfb8fb558fc05a1ac3a8658dd9c9dcd3e080",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-120-planning-administering-azure-sap-workloads.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-120.diff",
          "diff_raw_sha256": "86fa5771868e1bf88400b5f1623150d0531031e4756a639069e424efb1ff137b",
          "objective_path": "data/objective-snapshots/az-120-official-objectives.txt",
          "objective_raw_sha256": "9ef2824a901a8ba33075de4315d56f6bd0c7e9b5887028f27c16e6645e6eb3ff"
        },
        {
          "exam_code": "AZ-802",
          "guide_path": "guides/AZ-802-administering-windows-server.md",
          "guide_lf_sha256": "ed185a3491f3ca3c444a6399a8ec2cf74989bb17c1a4f4c6c003fef202d86de5",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-802-administering-windows-server.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AZ-802.diff",
          "diff_raw_sha256": "91d0e7fb0ce009948fcc4c182cc26ac8c703a064b5a2d6b744a2e13d45c01b93",
          "objective_path": "data/objective-snapshots/az-802-official-objectives.txt",
          "objective_raw_sha256": "ec584efe0ea08ae5ad6bbcef992c1b4a4e6b18826193ece06a76114757c8f65d"
        },
        {
          "exam_code": "AB-410",
          "guide_path": "guides/AB-410-building-intelligent-applications.md",
          "guide_lf_sha256": "05498fa2cd7076265bb0f75d7dd290edaa66b310a166a40de2fa5c64c08b01a1",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AB-410-building-intelligent-applications.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\AB-410.diff",
          "diff_raw_sha256": "9e95ee0e7dc7490e0a1b6d2c8b1ca8bcbde702c849a241a9e13f41dec4c1af58",
          "objective_path": "data/objective-snapshots/ab-410-official-objectives.txt",
          "objective_raw_sha256": "390c1040388541915573525f59b9f2f28753f65d0a3a50e9221dd7ab11c68142"
        },
        {
          "exam_code": "MO-110",
          "guide_path": "guides/MO-110-microsoft-word-microsoft-365-apps.md",
          "guide_lf_sha256": "a0779947d9e76d94e076f7bb9faac3db40955abb5f826fc8c35b442c9b34e6d3",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-110-microsoft-word-microsoft-365-apps.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-110.diff",
          "diff_raw_sha256": "cf90dd0be230fde2ef96a0ca149608ed915c068d94b75f31dadf76c00e872c2e",
          "objective_path": "data/objective-snapshots/mo-110-official-objectives.txt",
          "objective_raw_sha256": "c5016d0c2a76187324de57865fcad9858aa02d49353a61ffc479e64430ee233a"
        }
      ],
      "read_scope": "Complete captured guides including existing examples, labs, answers, readiness and resources; complete base diffs; accepted objective texts plus complete MO110 detailed PDF text. Selected independent primary body observations in reviewer-a-sources.json.",
      "initial_findings": [],
      "initial_observations": [
        {
          "id": "g05-review-a-watch-date",
          "severity": "low",
          "location": "AB410/AZ120/MO110 opening watch text",
          "observation": "Initial capture retained September28 current-watch dates beside October28 frontmatter. Coordinator independently applied new dates from current evidence; historical review prose stays dated.",
          "disposition": "verification recorded separately; no material teaching finding established"
        }
      ],
      "repair_verification_history": [
        {
          "change": "coordinator-followups-applied.json",
          "verified": "Watch date replacements, AZ120 past Sentinel image deadline qualified as scheduled/unobserved and AZ802 legacy course redirect rows reread from current capture; no teaching-body change.",
          "result": "consistent with current research and bounded public claims"
        },
        {
          "change": "AB4101.3 and7.4 matrix followup",
          "verified": "Current selected68-78 now includes actual extension decision;7.4 selected345-357 now includes decision table. Actual LF spans match hash including trailing newline.",
          "result": "Verified; original defect retained in final_mapping_findings; no guide mutation needed."
        },
        {
          "date": "2026-10-28",
          "change": "Final A released mapping b118505e49fe7faa9d61813b4fffdfea8cdb80ebb2d0b29636f814c5b20cdd3b",
          "verified": "AB4101.3 includes68-78; AB4106.5 includes299-305; AZ1205.6 includes266-270; AZ1209.2 includes498-508 and524-531. Actual selected prose now supports each reason, includes rollback, and all368LF spans match hashes. Complete guides are unchanged.",
          "result": "All four local mapping findings resolved by separate author change and independent read-only recheck."
        },
        {
          "date": "2026-10-28",
          "change": "Post-role MO110 Places to learn disclosure single-sentence normalization",
          "verification_artifact": "reviewer-a-editorial-verification.json",
          "result": "pass; exact single replacement, same193lines and all current A combined/public/deep/span bindings verified; historical author release and329/206/42records preserved. 0open actionable findings."
        }
      ],
      "retained_source_blockers": [
        "AB410 SAP prompt-knowledge connector support",
        "AZ120 FAQ versus native HSR applicability",
        "AZ802 SSH Direct end-to-end support contract",
        "AZ802 exact current WAC automatic onboarding contract",
        "AZ802 PracticeAssessment publication conflict"
      ],
      "limits": "Do not use preliminary record as final pass; final author mapping and public source/deep/review ledger not yet handed off. No human review, product execution or full rubric2 coverage asserted.",
      "final_mapping_findings": [
        {
          "id": "g05-review-a-map-extension",
          "severity": "low",
          "check": "Review-evidence accuracy",
          "location": "exam-a-final-mapping.json AB-410-1.3",
          "claim": "Selected68-76 supports connector/extension recommendation",
          "evidence": "The actual custom connector/coded extension decision row is line78, excluded from initial selected span. Full guide contained correct teaching.",
          "recommended_repair": "Extend selected span through78 and recompute span hash.",
          "initial_disposition": "open during final mapping review"
        },
        {
          "id": "g05-review-a-map-security",
          "severity": "low",
          "check": "Review-evidence accuracy",
          "location": "exam-a-final-mapping.json AZ-120-5.6",
          "claim": "Selected267-270 separates NSG transport and NVA inspection",
          "evidence": "NSG/NVA paragraph is266; selected267-270 contains endpoint comparison and planning reference. Full guide teaching exists.",
          "recommended_repair": "Include266 in selected evidence and recompute hash.",
          "initial_disposition": "open during final mapping review"
        },
        {
          "id": "g05-review-a-map-network-optimize",
          "severity": "low",
          "check": "Review-evidence accuracy",
          "location": "exam-a-final-mapping.json AZ-120-9.2",
          "claim": "Monitoring-only498-508 evidences analyze and optimize network performance",
          "evidence": "Selected span gives telemetry; complete guide524-530 supplies controlled bottleneck/change/remeasure/rollback sequence.",
          "recommended_repair": "Add524-530 to substantiate optimization decision, or narrow reason to selected analysis scope.",
          "initial_disposition": "open during final mapping review"
        },
        {
          "id": "g05-review-a-map-prompt-context",
          "severity": "low",
          "check": "Review-evidence accuracy",
          "location": "exam-a-final-mapping.json AB-410-6.5",
          "claim": "Selected299-303 explains per-call context and model/region/reasoning variability",
          "evidence": "The per-call/model-context paragraph is305, outside initial selected span. Complete guide contains supported teaching.",
          "recommended_repair": "Extend selected span through305 and recompute hash.",
          "initial_disposition": "open during final mapping review"
        }
      ],
      "final_finding_dispositions": [
        {
          "id": "g05-review-a-map-extension",
          "disposition": "resolved",
          "rationale": "Separately authored matrix repair verified in the released actual text/hash; initial claim/evidence retained above."
        },
        {
          "id": "g05-review-a-map-security",
          "disposition": "resolved",
          "rationale": "Separately authored matrix repair verified in the released actual text/hash; initial claim/evidence retained above."
        },
        {
          "id": "g05-review-a-map-network-optimize",
          "disposition": "resolved",
          "rationale": "Separately authored matrix repair verified in the released actual text/hash; initial claim/evidence retained above."
        },
        {
          "id": "g05-review-a-map-prompt-context",
          "disposition": "resolved",
          "rationale": "Separately authored matrix repair verified in the released actual text/hash; initial claim/evidence retained above."
        }
      ],
      "final_verdict": {
        "outcome": "pass",
        "open_actionable_findings": 0,
        "resolved_local_mapping_findings": 4,
        "source_gate_blockers_retained": [
          "AB-410",
          "AZ-120",
          "AZ-802"
        ],
        "limits": "Full independent rubric2 audit, human review and live product/lab execution were not performed or claimed.",
        "verification_artifact": "reviewer-a-final-verification.json"
      },
      "final_editorial_verification": {
        "outcome": "pass",
        "open_actionable_findings": 0,
        "artifact": "reviewer-a-editorial-verification.json",
        "current_MO110_guide_lf_sha256": "ae8283c05a4dfa3fc89662b02d51e0fc3f72cebf7b6200cd62e1b400577ad7d1"
      }
    },
    "subset_a_sources": {
      "date": "2026-10-28",
      "reviewer_context": "fresh-context read-only subsetA independent refresh-diff/evidence review",
      "scope": "Selected meaningful primary bodies independently reopened with web tool. Not all links or every technical claim independently fetched. Complete guides read separately.",
      "sources": [
        {
          "affected_exams": [
            "AB-410"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/power-platform/important-changes-coming",
          "read_scope": "Dataverse for Teams phases, impact and required actions",
          "observation": "Creation cutoff Nov15 2026; suspend Sep15 2027 and decommission Oct30 2027 for unupgraded environments; full Dataverse new work matches guide.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AB-410"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/ai-builder/use-your-own-prompt-data",
          "read_scope": "Complete public prompt-knowledge body and limitations",
          "observation": "Redirects into microsoft-copilot-studio/use-your-own-prompt-data; SAP appears in connectors but absent from limitations; flow-only connector context and 30/1000 retrieval limit confirmed. Blocker retained.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AB-410"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/ab-410",
          "read_scope": "Practice tip, audience/prerequisites and last-update metadata",
          "observation": "Navigator Practice Assessment announced, sign-in needed. LastUpdated October16; no new skills-effective date inferred. No launch or questions opened.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AB-410"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/ai-builder/endofaibcredits",
          "read_scope": "Detailed calendar and FAQ",
          "observation": "Existing add-on and seeded contracts retain credits to contract end; Nov1 2026 transition is not feature retirement; no automatic conversion; accounting can lag.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AZ-120"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-with-hana-system-replication-backup",
          "read_scope": "Prerequisites, hdbuserstore/HSR identifiers, snapshot configuration and operational behavior",
          "observation": "Same vault/region, same HSRID and custom user-store key on both nodes. Enhanced preview snapshot only for HSR, data/log not shared, weekly full/log continuity. Does not resolve FAQ applicability.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AZ-120"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-faq-backup-azure-vm",
          "read_scope": "Secondary-node Stop protection FAQ and snapshot policy FAQ",
          "observation": "Node stop/resume recipe remains in lockout scenario; applicability to native logical protection unspecified. StandardGA versus Enhancedpreview distinction confirmed.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AZ-120"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/azure/virtual-machines/how-to-enable-write-accelerator",
          "read_scope": "Introduction, prerequisites, shutdown and restrictions",
          "observation": "M-series/PremiumSSD, log not data, standalone workload shutdown and striped-volume VM shutdown, None/ReadOnly caching match new worked exercise.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AZ-120"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/azure/sap/workloads/rise-integration-security",
          "read_scope": "SSO, RISE ownership and Azure monitoring/ACSS integration sections",
          "observation": "RISE does not support integration with AMS or ACSS; owner boundary and selected SSO method are required. Matches new handoff.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AZ-120"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/azure/backup/sap-hana-database-restore",
          "read_scope": "HSR notes, restore prerequisites and alternate-location steps",
          "observation": "Standalone HSR restore restriction, same region/same vault, backup readiness, alternate host/instance/name and overwrite implications match guide.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AZ-120"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/azure-for-sap-workloads-specialty/",
          "read_scope": "Credential overview, preparation/practice, exam and renewal sections",
          "observation": "100min, seven languages, 12-month renewal; AzureAdministrator certification strongly recommended rather than mandatory. No free PracticeAssessment shown.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AZ-802"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/windows-server/manage/windows-admin-center/azure/azure-monitor",
          "read_scope": "Complete public article body",
          "observation": "2023 body specifies MMA/AutomationUpdateManagement and ServiceMap; current guide explicitly rejects legacy onboarding and gives AMA/DCR fallback; exact WAC auto-onboarding remains unconfirmed.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AZ-802"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/az-802",
          "read_scope": "Practice tip, audience/skills at a glance, last-update metadata",
          "observation": "Navigator announced sign-in-required PracticeAssessment; Oct19 page update not separate effective date.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AZ-802"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/windows-server-administrator-associate/",
          "read_scope": "Complete credential public body",
          "observation": "Still says no PracticeAssessment/training; 120min English, old exams retiredSep30 and replacementAZ802. Contradiction correctly preserved.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "AZ-802"
          ],
          "opened_url": "https://microsoftlearning.github.io/AZ-802-Windows-Server-Administrator-Associate/Instructions/Labs/LAB_00_Set_up_the_AZ-802_lab_environment.html",
          "read_scope": "Opening warning and environment/prerequisite/setup sections",
          "observation": "Explicit underdevelopment do-not-provision warning confirmed. Did not run scripts or use published lab credentials.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "MO-110"
          ],
          "opened_url": "https://learn.microsoft.com/en-us/credentials/certifications/mos-word-associate-m365-apps/",
          "read_scope": "Complete public credential body",
          "observation": "50min,16languages,60months; approx150hours preparation guidance, no dedicated training; detailed PDF linked separately from domain list.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "MO-110"
          ],
          "opened_url": "https://arch-center.azureedge.net/Learning/Credentials/MO-110_OD_MOS365_Word.pdf",
          "read_scope": "Complete three-page extracted objective text",
          "observation": "70 detailed tasks distinct from six accepted adapter domains; no new exam-effective date inferred.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        },
        {
          "affected_exams": [
            "MO-110"
          ],
          "opened_url": "https://support.microsoft.com/en-us/word/update-a-table-of-contents",
          "read_scope": "AppliesTo and complete task body",
          "observation": "Page-number-only ignores heading text; entire-table refresh includes headings/pages; manual TOC cannot auto-update. Windows/Mac listed, no web equivalence inferred.",
          "outcome": "public body inspected",
          "limits": "No signed-in assessment, paid content, product/lab/cloud/Office execution."
        }
      ],
      "access_notes": "Microsoft Learn showed a generic authorization banner while the named public body remained fully readable; this was not treated as authenticated access. No endpoint failures among selected opens.",
      "unresolved": [
        "AB410 SAP prompt-knowledge connector support",
        "AZ120 FAQ versus native HSR applicability",
        "AZ802 SSH Direct end-to-end support contract",
        "AZ802 exact current WAC automatic onboarding contract",
        "AZ802 PracticeAssessment publication conflict"
      ]
    },
    "subset_a_final_verification": {
      "date": "2026-10-28",
      "role": "Fresh-context independent read-only refresh guide/diff/evidence reviewer, subset A",
      "scope": [
        "AB-410",
        "AZ-120",
        "AZ-802",
        "MO-110"
      ],
      "verdict": "pass",
      "meaning": "The bounded complete-guide/diff and refresh-evidence review passes after separate author mapping repairs. This is not a full independent rubric-2 audit, human review, universal technical validation, or product/lab execution. Existing source gates remain blocked for AB410/AZ120/AZ802.",
      "open_actionable_findings": 0,
      "resolved_local_mapping_findings": 4,
      "complete_guides_and_diffs_reviewed": 4,
      "current_detailed_objectives": 311,
      "current_selected_teaching_spans": 368,
      "all_311_initial_and_current_reasons_reviewed": true,
      "initial_teaching_flag_dispositions_reviewed": 49,
      "initial_provisional_rows_retained": 4,
      "additional_explicit_wac_ui_limit_retained": true,
      "final_matrix_raw_sha256": "b118505e49fe7faa9d61813b4fffdfea8cdb80ebb2d0b29636f814c5b20cdd3b",
      "author_semantic_review_raw_sha256": "f71f3c7ee39a8fbe9d7e65676e98feef2be5e6da585966d71af1faae412cf51d",
      "reviewed_report_path": "docs/research/2026-10-28-microsoft-refresh-group-05.md",
      "reviewed_report_raw_sha256": "9e9da9bed3611beacd54c781b59d2f4692796198f477509e8647a7f12b300f45",
      "reviewed_ledger_path": "ADLC_Docs/operations/2026-10-28-microsoft-refresh-group-05.json",
      "reviewed_ledger_raw_sha256": "da8e24aef13b9453a1f58a924b80b5756ebbd2f2d1b9aa38eb4d161984586b5b",
      "independently_opened_source_record_raw_sha256": "7a5851e7fa39578e3ddefc52264f38005ee952c96bc25f7b1b228d6a8e0399b8",
      "mechanical_results": {
        "all_A_guide_objective_diff_status_wording_span_hashes_match": true,
        "all_selected_spans_nonblank": true,
        "embedded_A_matrix_rows_exactly_match_released_A_matrix": true,
        "combined_matrix_counts": {
          "rows": 544,
          "spans": 717
        },
        "combined_B_scope": "Mechanical guide/span binding/count checks only; B substantive Office review belongs to separate reviewer.",
        "source_ids_exactly_match_external_links": true,
        "supported_exam_associations_present": true,
        "source_health_counts_match_guide_source_receipt_and_public_ledger": true,
        "configuration_and_front_matter_source_gate_states_match": true,
        "four_A_source_and_deep_receipts_have_current_bindings_and_accurate_limits": true,
        "all_eight_new_source_and_deep_receipts_present": true,
        "old_source_review_objects_preserved": 329,
        "old_deep_review_objects_preserved": 206,
        "old_audit_batches_preserved": 42,
        "raw_ai_audit_file_unchanged": true,
        "eight_raw_accepted_objective_files_unchanged": true,
        "six_raw_status_files_unchanged": true,
        "two_other_status_files_metadata_only": "AB410 andAZ802 skills_versions reflect page LastUpdated only; no skills-effective date invented.",
        "MO110_separate_PDF_and_extraction_hashes_verified": true,
        "previous_A_release02_mapping_and_semantic_review_retained": true
      },
      "per_exam": [
        {
          "exam_code": "AB-410",
          "guide_lf_sha256": "05498fa2cd7076265bb0f75d7dd290edaa66b310a166a40de2fa5c64c08b01a1",
          "objective_raw_sha256": "390c1040388541915573525f59b9f2f28753f65d0a3a50e9221dd7ab11c68142",
          "rows": 48,
          "spans": 85,
          "source_gate": "blocked"
        },
        {
          "exam_code": "AZ-120",
          "guide_lf_sha256": "dd4ff9be605b1bc246858e62bfd0bfb8fb558fc05a1ac3a8658dd9c9dcd3e080",
          "objective_raw_sha256": "9ef2824a901a8ba33075de4315d56f6bd0c7e9b5887028f27c16e6645e6eb3ff",
          "rows": 78,
          "spans": 95,
          "source_gate": "blocked"
        },
        {
          "exam_code": "AZ-802",
          "guide_lf_sha256": "ed185a3491f3ca3c444a6399a8ec2cf74989bb17c1a4f4c6c003fef202d86de5",
          "objective_raw_sha256": "ec584efe0ea08ae5ad6bbcef992c1b4a4e6b18826193ece06a76114757c8f65d",
          "rows": 115,
          "spans": 117,
          "source_gate": "blocked"
        },
        {
          "exam_code": "MO-110",
          "guide_lf_sha256": "a0779947d9e76d94e076f7bb9faac3db40955abb5f826fc8c35b442c9b34e6d3",
          "objective_raw_sha256": "c5016d0c2a76187324de57865fcad9858aa02d49353a61ffc479e64430ee233a",
          "rows": 70,
          "spans": 71,
          "source_gate": "passed"
        }
      ],
      "retained_limits": [
        "AB410 SAP prompt-knowledge contradiction",
        "AZ120 native logical HSR versus FAQ applicability",
        "AZ802 end-to-end SSH Direct support",
        "AZ802 exact current WAC automatic onboarding UI",
        "AZ802 conflicting public Practice Assessment availability",
        "No signed-in assessment, paid lesson, product/cloud/SAP/Windows/Office lab or runtime execution."
      ],
      "repository_validation_scope": "Reviewer checked evidence bindings/preservation read-only; coordinator owns full sequential repository/site checks and delivery."
    },
    "subset_a_editorial_verification": {
      "date": "2026-10-28",
      "review_kind": "Separate final editorial-delta verification after prior complete-guide and evidence review",
      "verdict": "pass",
      "open_actionable_findings": 0,
      "scope": "MO110 one-sentence disclosure change plus four A combined/public/deep bindings and historical record preservation",
      "MO110_change": {
        "line": 180,
        "old_text": "This is a selective learning path, not a requirement to consume every resource or a complete list of Word resources.",
        "new_text": "This is a selective learning path, not a complete list of Word resources or a requirement to consume every item.",
        "old_guide_lf_sha256": "a0779947d9e76d94e076f7bb9faac3db40955abb5f826fc8c35b442c9b34e6d3",
        "new_guide_lf_sha256": "ae8283c05a4dfa3fc89662b02d51e0fc3f72cebf7b6200cd62e1b400577ad7d1",
        "exact_single_replacement_verified": true,
        "line_count": 193,
        "line_count_unchanged": true,
        "meaning": "Same selective-list and optional-consumption disclosure, now including literal not a complete list. No task, technical teaching, URL, timing or semantic mapping reason changed."
      },
      "checks": {
        "all_four_A_current_guide_combined_public_ledger_and_new_deep_hashes_agree": true,
        "all311_current_A_semantic_mapping_rows_and368spans_retain_reviewed_evidence": true,
        "all_current_selected_A_span_hashes_match": true,
        "MO110_current_capture_and_guide_match": true,
        "original_author_matrix_and_review_unchanged": true,
        "prior_combined_matrix_public_ledger_and_complete_MO110_guide_preserved": true,
        "all329_prior_source206_prior_deep42_audit_records_preserved": true,
        "post_role_editorial_method_note_explicit": true
      },
      "released_author_matrix_raw_sha256": "b118505e49fe7faa9d61813b4fffdfea8cdb80ebb2d0b29636f814c5b20cdd3b",
      "released_author_review_raw_sha256": "f71f3c7ee39a8fbe9d7e65676e98feef2be5e6da585966d71af1faae412cf51d",
      "reviewed_current_combined_matrix_raw_sha256": "676fc5e0d547c0ddd11d5295a6ddeedf29a07d7a38c19d881754314ac26957aa",
      "reviewed_current_public_ledger_raw_sha256": "cf90af2c26c998cc5be28f7498b1f37019d267006a7cff21c95b4d449db00e32",
      "limits": "No source reopening or repeated full semantic read needed for this exact editorial delta. Previous full-review verdict/history remain unchanged. Existing AB410/AZ120/AZ802 blockers, human/fullrubric2 audit and live product/lab limitations remain."
    },
    "subset_b": {
      "date": "2026-10-28",
      "reviewer": "Fresh-context read-only subset B",
      "status": "final bounded independent refresh review completed; shared repository/site gate remains coordinator-owned",
      "scope": [
        "MO-111",
        "MO-210",
        "MO-211",
        "MO-310"
      ],
      "base_commit": "92a2cb594f7d1c20882fed664371699e95e27e81",
      "formal_ai_audit": false,
      "read_scope": "Every complete guide including front matter, existing and new explanations/examples/labs/answered checks and resources; every complete captured guide diff; detailed official PDF bodies; scoped author research and selected independently opened primary source bodies. Final matrix and public ledger not yet supplied.",
      "reviewed_bindings": [
        {
          "exam_code": "MO-210",
          "guide_path": "guides/MO-210-microsoft-excel-microsoft-365-apps.md",
          "guide_lf_sha256": "41624e65a8518323e4d278298c998c6990ded7dca7b4167d8afb094cbdb018dd",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-210-microsoft-excel-microsoft-365-apps.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-210.diff",
          "diff_raw_sha256": "ed9e99438748757889c3cb4e813030c3f62de919659ad745f1e53672362d5741",
          "objective_path": "data/objective-snapshots/mo-210-official-objectives.txt",
          "objective_raw_sha256": "71db2aebfc9e02978f17b80207c9b0bd180775ad9c8486050965a27a5fadc0d7"
        },
        {
          "exam_code": "MO-310",
          "guide_path": "guides/MO-310-microsoft-powerpoint-microsoft-365-apps.md",
          "guide_lf_sha256": "b15e4a4b3253ea93537548f69ea6abf9068eba4f402c77f41313a8ad06987bfd",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-310-microsoft-powerpoint-microsoft-365-apps.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-310.diff",
          "diff_raw_sha256": "806ca84359a87f4b8cc630ef1d2e8ca82d2726712ff838b13ad84f3ddad8b55a",
          "objective_path": "data/objective-snapshots/mo-310-official-objectives.txt",
          "objective_raw_sha256": "9ce732345e113b5587ccd794bdfa12dfbb2e95feda7c178566a8132c2f015570"
        },
        {
          "exam_code": "MO-111",
          "guide_path": "guides/MO-111-microsoft-word-expert-microsoft-365-apps.md",
          "guide_lf_sha256": "620e73320268547b78abd111bcad367e6464abf70ae6e32e81b84ae2699f8e5d",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-111-microsoft-word-expert-microsoft-365-apps.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-111.diff",
          "diff_raw_sha256": "afd80d9ea30601db82f5269d163097f1060f26fc6a0558251d8b0862d48957eb",
          "objective_path": "data/objective-snapshots/mo-111-official-objectives.txt",
          "objective_raw_sha256": "0db958488191b514b8598df0288463d19a4cc9b1f7fa81b3855850e6945c8fbc"
        },
        {
          "exam_code": "MO-211",
          "guide_path": "guides/MO-211-microsoft-excel-expert.md",
          "guide_lf_sha256": "a51c3cdf378969e3915e30b1a43e353f97f44bdfe99b0d9ac5625acf2050183c",
          "capture": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-211-microsoft-excel-expert.md",
          "diff": "C:\\src\\certification-study-library\\.maintenance\\2026-10-28-remaining-refresh\\group-05\\review-inputs\\MO-211.diff",
          "diff_raw_sha256": "b094d4c0ba666d8477af7b431b450baa628cfca1d708151d0ddb480256a9f1c3",
          "objective_path": "data/objective-snapshots/mo-211-official-objectives.txt",
          "objective_raw_sha256": "174e46cb264079c29287f88c0b16eafdeac46dfb7f746bb6323aeec315944e34"
        }
      ],
      "initial_findings": [
        {
          "id": "G05-B-001",
          "exam_code": "MO-211",
          "severity": "low",
          "checks": [
            "objective coverage",
            "review-evidence accuracy"
          ],
          "location": "Intro and Places to learn resource table",
          "original_hash": "26c6d11ee7120695fc44c1e3c5ffd5b504b2d8edc9b95a7a954fcbec98f77a05",
          "claim": "Places to learn says linked detailed outline above, but intro replacement removed only direct PDF link.",
          "recommendation": "Restore exact descriptive reviewed MO-211 detailed skills PDF link near objective context.",
          "disposition": "reported; coordinator owns repair disposition"
        },
        {
          "id": "G05-B-002",
          "exam_code": "MO-310",
          "severity": "low",
          "checks": [
            "objective coverage",
            "review-evidence accuracy"
          ],
          "location": "Intro and Places to learn resource table",
          "original_hash": "2d8cec412c08f602d6681730d2eb4f9eba099446874b6ff68612b40107ef42e6",
          "claim": "Places to learn says detailed PDF linked above, but intro replacement removed only direct PDF link.",
          "recommendation": "Restore exact descriptive reviewed MO-310 detailed skills PDF link near objective context.",
          "disposition": "reported; coordinator owns repair disposition"
        },
        {
          "id": "G05-B-003",
          "exam_code": "MO-111",
          "severity": "medium",
          "checks": [
            "material claim support",
            "lab safety and feasibility"
          ],
          "location": "section 3 Worked reusable design pack; Hands-on labs row 1",
          "original_hash": "f11aa4309def87aba3cbb829b2b202184d52db29621425c822395bb823e21049",
          "claim": "Adjacent Unconfirmed label correctly limits Save as New Style Set evidence, but imperative opening and required style-set lab still made successful unverified action mandatory.",
          "evidence": "docs/SOURCE-QUALITY.md and GUIDE-QUALITY-STANDARD.md forbid turning provisional unverified steps into required labs; current official style body confirms definitions only, historical 2020 firsthand/MVP thread is not current official UI confirmation.",
          "recommendation": "Make reproduction explicitly optional; allow build/command/artifact-gap report; retain blocked source gate.",
          "disposition": "reported; coordinator owns repair disposition"
        },
        {
          "id": "G05-B-004",
          "exam_code": "MO-210",
          "severity": "medium",
          "checks": [
            "objective coverage",
            "review-evidence accuracy"
          ],
          "location": "Manage data cells and ranges; final matrix MO-210-8.2 evidence lines 65/71",
          "original_hash": "d1e9196c8651f3b46e0fbef42e0159c51cca40ccbef875f5acf9e80b4d51f150",
          "claim": "Final mapping marks apply built-in conditional formatting substantive, but selected text only lists rules/duplicate detection and distinguishes layers/removes a rule; no named built-in rule application is taught. Generic Lab4 does not close it.",
          "recommendation": "Add a compact built-in rule task with a stated selected range, built-in choice/threshold and expected highlighted population, then remove only that rule preserving other formatting and rebind mapping.",
          "disposition": "reported; coordinator owns repair disposition"
        }
      ],
      "followup_history": [
        {
          "finding_ids": [
            "G05-B-001",
            "G05-B-002"
          ],
          "event": "independent repair verification after coordinator edits",
          "evidence": "Current MO-211 and MO-310 captures/live guides both include direct descriptive detailed-PDF links near platform context; full manifest/hash comparison passes.",
          "result": "repair wording verified; original observations retained"
        },
        {
          "finding_ids": [
            "G05-B-003"
          ],
          "event": "independent repair verification after coordinator edits",
          "evidence": "Current MO-111 line 92 explicitly says Optional validation exercise/not required lab outcome; conditional build action and missing-command alternative; lab 1 line148 requires supported named styles and makes save-set investigation optional. review_status remains review-required.",
          "result": "repair wording verified; source gate must remain blocked; original finding retained"
        },
        {
          "finding_ids": [
            "G05-B-004"
          ],
          "event": "independent repair verification after coordinator teaching edit",
          "guide_lf_sha256": "41624e65a8518323e4d278298c998c6990ded7dca7b4167d8afb094cbdb018dd",
          "evidence": "Read new Worked built-in conditional rule paragraph and complete updated diff. B2:B5 50/100/150/200 with Greater Than100 flags150/200; editing B3 input to101 leaves threshold100 and yields101/150/200. Rule-manager deletion preserves manual two-decimal formats according to independently opened first-party rule-management body. Task8.2/8.3 reasons and exact spans now support substantive teaching. All233task/span/raw/detailed/coarse/status/diff bindings rechecked; earlier matrix remains byte-identical in pre-independent-teaching.",
          "result": "repair verified on source/static semantic evidence; no Excel execution; original finding retained"
        }
      ],
      "semantic_observations": [
        "MO-210 separate D2 input/E2 IF output fixes circular/overwritten calculated-column ambiguity; all 19/20/21/0 outcomes coherent.",
        "MO-210 counts with empty-text formula, mixed references, sequence dimensions, unique-once behavior, identifiers and filtered totals are internally consistent.",
        "MO-211 criteria/lookups/consolidation/Goal Seek/scenarios, payment signs, workdays, advanced charts and refreshed Pivot totals are coherent on static review.",
        "Classic Pivot calculated-field product 300 versus row-product total140 is supported by current Microsoft calculation reference; OLAP/Data Model boundary retained.",
        "MO-310 outline count, proportional image dimensions, chart growth and simplified animation timing are arithmetically coherent; no renderer or assistive output claimed.",
        "Platform and disabled-exam-command paragraphs supported by current Certiport public candidate/tutorial bodies.",
        "Learning-route consumption times are transparent editorial budgets with original outputs, access/platform limits and no paid/video/runtime execution claims."
      ],
      "remaining_limits": [
        "MO-111 Save as New Style Set official UI/build evidence remains unresolved, despite useful labeled optional validation path.",
        "SmartArt article exact URL returns unreadable/zero-line body in independent web opening; earlier attributed evidence is not reconfirmed by HTTP reachability.",
        "No Office application, compiler, screen reader, assessment, paid lesson, embedded video or lab execution. This is bounded independent refresh review, not full rubric-2 or human review."
      ],
      "matrix_review": {
        "path": ".maintenance\\2026-10-28-remaining-refresh\\group-05\\exam-b-final-mapping.json",
        "raw_sha256": "50f0da503715a15d638b6337df333fc4a37c0b94c3528941693415cbfb289e9a",
        "task_rows_read": 233,
        "read_scope": "Every task wording, reason and selected line spans compared with complete previously read guide prose; every span/raw/objective/task-wording binding deterministically checked. Not full rubric-2 audit.",
        "finding_ids": [
          "G05-B-004"
        ],
        "coarse_detailed_distinction": "Accepted snapshots remain four/five/four/five domain-only raw baselines. Detailed 47/65/48/73 tasks bind separate current official PDF bytes and task-only extraction; correct distinction preserved.",
        "previous_raw_sha256": "4d58e87c1a1b48c72c0935387cb22578ec3e1d9f94334a5be75753d37e3f355a",
        "semantic_review_raw_sha256": "7e8f86c1ce860fb19532edb78ea45a43b8b21dcfbe751fc9866fc97365750655",
        "repair_verification": "G05-B-004 new passage, full diff and changed task8.2/8.3 reasons/spans independently rechecked."
      },
      "public_record_review": {
        "report_path": "docs\\research\\2026-10-28-microsoft-refresh-group-05.md",
        "report_raw_sha256": "9e9da9bed3611beacd54c781b59d2f4692796198f477509e8647a7f12b300f45",
        "ledger_path": "ADLC_Docs\\operations\\2026-10-28-microsoft-refresh-group-05.json",
        "ledger_raw_sha256": "da8e24aef13b9453a1f58a924b80b5756ebbd2f2d1b9aa38eb4d161984586b5b",
        "scope": "Complete public report; all subset-B exam rows, exact embedded subset-B matrix, role-B semantic review, source-gate/catalog/health/snapshot/history summaries; corresponding source/deep/config rows and global prior-record preservation compared independently to base commit. Other-role large research bodies are not claimed as independently semantically reviewed.",
        "checks": {
          "public_b_matrix_equals_released_matrix": true,
          "all_b_guide_objective_diff_pdf_task_span_bindings_checked": true,
          "all_329_prior_source_reviews_preserved": true,
          "all_206_prior_deep_reviews_preserved": true,
          "all_42_prior_ai_audit_batches_preserved": true,
          "all_8_accepted_objective_files_unchanged": true,
          "six_status_files_unchanged": true,
          "two_status_changes_only_metadata_skills_version_labels": true,
          "all_old_source_ids_retained": true,
          "catalog_86_new_39_changed_matches": true,
          "all_b_external_urls_have_exact_catalog_and_supported_exam_associations": true,
          "all_b_public_link_counts_match_source_health": true,
          "all_b_source_and_deep_review_hashes_outcomes_counts_match_current_guides": true,
          "b_config_and_frontmatter_statuses_match_source_decisions": true,
          "same_context_role_review_and_independent_refresh_review_not_conflated": true,
          "no_new_full_rubric2_or_human_or_runtime_claim": true
        },
        "observed_health_counts": {
          "MO-111": {
            "ok": 31,
            "blocked": 1
          },
          "MO-210": {
            "ok": 32,
            "blocked": 0
          },
          "MO-211": {
            "ok": 32,
            "blocked": 0
          },
          "MO-310": {
            "ok": 27,
            "blocked": 0
          }
        },
        "local_gate": "Report/ledger correctly leave shared deterministic repository/site validation pending; reviewer did not run duplicate collectors."
      },
      "final_verdict": {
        "kind": "bounded-independent-refresh-review",
        "result": "repairs-and-public-bindings-verified-with-retained-source-block",
        "per_exam": {
          "MO-111": "reviewed; current style-set source gate blocked and accurately bounded",
          "MO-210": "reviewed; independent teaching repair verified",
          "MO-211": "reviewed; restored PDF link verified",
          "MO-310": "reviewed; restored PDF link verified and SmartArt new-body access limitation retained"
        },
        "reviewer_reported_findings": 4,
        "reviewer_reported_findings_with_later_repair_verification": 4,
        "open_actionable_guide_or_mapping_defects": 0,
        "retained_open_material_source_evidence_gaps": 1,
        "retained_source_gap": "MO-111-8.4 exact current Windows Save as New Style Set UI/current-build artifact support",
        "formal_rubric2_pass": false,
        "human_review": false,
        "product_execution": false,
        "qualification": "This final verdict covers bounded refresh prose/mapping/source/history accuracy at recorded hashes. It does not clear MO-111 source gate, complete human/full rubric2 review or assert Office runtime behavior."
      },
      "post_final_editorial_verifications": [
        {
          "date": "2026-10-28",
          "scope": "Four exact resource-disclosure sentence edits only, independently compared against retained complete prior guides. Prior semantic findings/repair verification retained without rewriting.",
          "result": "editorial-only-followup-verified",
          "checks": [
            {
              "exam_code": "MO-111",
              "old_guide_lf_sha256": "620e73320268547b78abd111bcad367e6464abf70ae6e32e81b84ae2699f8e5d",
              "new_guide_lf_sha256": "916671ccfcd7239e5a003449808c9db71f8a2588166030d10541f570c021eaa5",
              "exact_single_sentence_delta": true,
              "line_count_and_all_task_rows_reasons_spans_unchanged": true,
              "live_capture_manifest_diff_combined_public_deep_bindings_match": true
            },
            {
              "exam_code": "MO-210",
              "old_guide_lf_sha256": "41624e65a8518323e4d278298c998c6990ded7dca7b4167d8afb094cbdb018dd",
              "new_guide_lf_sha256": "8a58326b229da89dffd587eda22658fadf3fa5b49c14c1c344096b50f85e2868",
              "exact_single_sentence_delta": true,
              "line_count_and_all_task_rows_reasons_spans_unchanged": true,
              "live_capture_manifest_diff_combined_public_deep_bindings_match": true
            },
            {
              "exam_code": "MO-211",
              "old_guide_lf_sha256": "a51c3cdf378969e3915e30b1a43e353f97f44bdfe99b0d9ac5625acf2050183c",
              "new_guide_lf_sha256": "c86adc45edf779b57fa9a1eb933fbbb2d20175042f53890031b16573d2f06d60",
              "exact_single_sentence_delta": true,
              "line_count_and_all_task_rows_reasons_spans_unchanged": true,
              "live_capture_manifest_diff_combined_public_deep_bindings_match": true
            },
            {
              "exam_code": "MO-310",
              "old_guide_lf_sha256": "b15e4a4b3253ea93537548f69ea6abf9068eba4f402c77f41313a8ad06987bfd",
              "new_guide_lf_sha256": "caa6c79dee588d3a69dc3b92c7c2e38603df55d16197558e5f0a6805c29da7ec",
              "exact_single_sentence_delta": true,
              "line_count_and_all_task_rows_reasons_spans_unchanged": true,
              "live_capture_manifest_diff_combined_public_deep_bindings_match": true
            }
          ],
          "combined_matrix_raw_sha256": "676fc5e0d547c0ddd11d5295a6ddeedf29a07d7a38c19d881754314ac26957aa",
          "public_ledger_raw_sha256": "cf90af2c26c998cc5be28f7498b1f37019d267006a7cff21c95b4d449db00e32",
          "old_author_B_matrix_and_semantic_review_retained_unchanged": true,
          "all_233_task_wordings_reasons_and_349_span_content_bindings_unchanged": true,
          "open_actionable_content_or_binding_findings": 0,
          "retained_MO111_source_block": true,
          "limits": "No new technical/source claim or runtime observation; no new full semantic/human review. Shared gate outcomes remain coordinator-owned."
        }
      ]
    },
    "subset_b_sources": {
      "review_date": "2026-10-28",
      "reviewer": "fresh-context read-only subset B",
      "scope": [
        "MO-111",
        "MO-210",
        "MO-211",
        "MO-310"
      ],
      "method": "Independent exact URL openings through web tool; named source bodies read, not merely status/reachability. PDF fallback separately recorded. No product, renderer, screen reader, paid content, assessment or lab execution.",
      "sources": [
        {
          "url": "https://certiport.pearsonvue.com/Support/Install/Compass-Cloud/Test-Candidate/CC_Guide_TestCandidate",
          "outcome": "body-read",
          "read_scope": "October 22 2026 v4.10.2 candidate guide; in-center technical requirements, launch and Windows VM keyboard/platform boundary on page 4",
          "observation": "Guide correctly confines Windows VM statement to Compass Cloud in-center; does not establish every center's delivery.",
          "source_matches": [
            "office-cloud-candidate-20261028"
          ]
        },
        {
          "url": "https://certiport.pearsonvue.com/Educator-resources/Exam-details/Exam-tutorials/MOS_365Apps_Tutorial.pdf",
          "outcome": "body-read",
          "read_scope": "Six-page public interface tutorial, especially final-page disabled commands and project navigation",
          "observation": "Encrypt with Password is explicitly disabled; guides correctly separate local exercises from assessed UI.",
          "source_matches": [
            "office-mos-tutorial-20261028"
          ]
        },
        {
          "url": "https://arch-center.azureedge.net/Learning/Credentials/MO-111_OD_MOS365_WordExpert.pdf",
          "outcome": "web-tool-failed; direct-download-body-read",
          "read_scope": "Complete three-page PDF independently downloaded with requests and extracted with pypdf; initial web-tool failure retained",
          "observation": "47 detailed tasks distinguish style sets from themes/templates; no effective-date inferred from hash.",
          "raw_path": ".maintenance\\2026-10-28-remaining-refresh\\group-05\\reviewer-b-source-mo111-skills.pdf",
          "raw_sha256": "d2786433aad5c9f4264d046d660520c6d64c3225a2434cfd1e55539bebf117db",
          "source_matches": [
            "mo111-skills-pdf"
          ]
        },
        {
          "url": "https://arch-center.azureedge.net/Learning/Credentials/microsoft-certified-security-operations-analyst-skills-measured.pdf",
          "outcome": "body-read",
          "read_scope": "Complete current three-page PDF including all detailed task lists",
          "observation": "File content identifies MO-210 despite filename; scope/function families match guide.",
          "source_matches": [
            "mo210-skills-pdf"
          ]
        },
        {
          "url": "https://arch-center.azureedge.net/Learning/Credentials/MO-211_OD_MOS365_ExcelExpert.pdf",
          "outcome": "body-read",
          "read_scope": "Complete current three-page PDF including all detailed task lists",
          "observation": "48 tasks, four weighted domains; required formula, chart, macro and Pivot tasks match guide.",
          "source_matches": [
            "mo211-skills-pdf"
          ]
        },
        {
          "url": "https://arch-center.azureedge.net/Learning/Credentials/MO-310_OD_MOS365_PowerPoint-%282%29.pdf",
          "final_url": "https://arch-center.azureedge.net/Learning/Credentials/MO-310_OD_MOS365_PowerPoint-(2).pdf",
          "outcome": "body-read",
          "read_scope": "Complete current three-page PDF including all detailed task lists",
          "observation": "73 tasks and five weighted domains; headers wording is appropriately explained in guide as slide versus notes/handout controls.",
          "source_matches": [
            "mo310-skills-pdf"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/excel/calculate-values-in-a-pivottable",
          "outcome": "body-read",
          "read_scope": "Available calculations, OLAP/non-OLAP boundary, sum-total versus record calculations, calculated-field creation",
          "observation": "Classic field product of aggregate Quantity and UnitPrice supports 300 versus correct row-product 140; source Revenue column repair is coherent.",
          "source_matches": [
            "excel-pivot-calculations"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/powerpoint/create-columns-of-text-in-a-text-box-or-shape",
          "outcome": "body-read",
          "read_scope": "Windows/Mac column workflow and column-break limits",
          "observation": "Shape border > Format Shape > Text Options > Textbox > Columns and text/table distinction supported.",
          "source_matches": [
            "office-ppt-columns-20261028"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/word/insert-edit-and-view-fields-in-word",
          "outcome": "body-read",
          "read_scope": "Platform note, field insertion/editing/code-result distinctions and properties",
          "observation": "Current first-party body explicitly limits full field insertion/editing to Windows desktop; guide reflects its wording.",
          "source_matches": [
            "office-word-field-edit-20261028"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/word/create-a-form-in-word-that-users-can-complete-or-print",
          "outcome": "body-read",
          "read_scope": "Windows/Mac/web boundaries and content-control overview",
          "observation": "Guide separates Windows control workflow from differing Mac/web capabilities.",
          "source_matches": [
            "office-word-form-20261028"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-US/Excel/stale-value-formatting",
          "final_url": "https://support.microsoft.com/en-us/excel/stale-value-formatting",
          "outcome": "body-read",
          "read_scope": "Stale-value display, disabling indication and four documented limitations",
          "observation": "Guide's Data Table-dependent and external-source gaps match current source; hiding strikethrough does not recalculate.",
          "source_matches": [
            "excel-stale-values"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/powerpoint/compress-your-media-files",
          "outcome": "body-read",
          "read_scope": "Windows-only availability and embedded subtitle/alternate-audio loss warning",
          "observation": "Guide appropriately preserves original and requires retest; no executed compression asserted.",
          "source_matches": [
            "powerpoint-compress-media"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/powerpoint/use-zoom-for-powerpoint-to-bring-your-presentation-to-life",
          "outcome": "body-read",
          "read_scope": "Return-to-Zoom defaults and platform requirements table",
          "observation": "Summary/Section return versus Slide forward defaults support example 2; platform availability is explicitly bounded.",
          "source_matches": [
            "powerpoint-zoom"
          ]
        },
        {
          "url": "https://techcommunity.microsoft.com/blog/microsoft365insiderblog/smartart-is-becoming-more-accessible-in-powerpoint/4507653",
          "outcome": "unreadable-body",
          "read_scope": "Exact URL opened but tool returns zero body lines",
          "observation": "Cannot independently reconfirm 2607/build boundary; retain earlier attributed dated evidence and current research-access limitation, never clear by HTTP success.",
          "source_matches": [
            "powerpoint-smartart-accessibility-blog"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/powerpoint/add-closed-captions-or-subtitles-to-media-in-powerpoint",
          "outcome": "body-read",
          "read_scope": "Windows caption formats/version boundary, audio captions, platform tabs",
          "observation": "UTF-8 SRT support is documented from version 2411; guide's newer-build qualification is defensible.",
          "source_matches": [
            "powerpoint-captions"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/excel/get-started/create-a-pivotchart",
          "outcome": "body-read",
          "read_scope": "Windows, Mac and web routes and Mac chart-type restrictions",
          "observation": "Mac/web start with PivotTable; guide distinguishes routes and keeps specialized charts separate.",
          "source_matches": [
            "excel-create-pivotchart"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/word/use-mail-merge-for-bulk-email-letters-labels-and-envelopes",
          "outcome": "body-read",
          "read_scope": "Platform boundary and merge-type choices",
          "observation": "Independent web-tool body access succeeds despite author's separate 403 health observation; preserve that health observation rather than overwriting it.",
          "source_matches": [
            "word-mail-merge-platform-boundary"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/word/customize-or-create-new-styles",
          "outcome": "body-read",
          "read_scope": "Complete substantive style creation/modification article",
          "observation": "Confirms styles, not exact Save as New Style Set UI; no current official-body confirmation established.",
          "source_matches": [
            "office-word-styles-20261028"
          ]
        },
        {
          "url": "https://learn.microsoft.com/en-us/answers/questions/5079026/word-365-only-show-styles-in-the-current-document?forum=msoffice-all&page=4",
          "outcome": "body-read",
          "read_scope": "December 2020 firsthand numbered report and Charles Kenyon/Stefan Blom MVP responses",
          "observation": "Historical non-vendor technical report supports a labeled hypothesis only; guide appropriately avoids adopting global Normal.dotm alteration.",
          "source_matches": [
            "office-word-style-set-windows-20261028"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/powerpoint/add-edit-or-remove-a-placeholder-on-a-slide-layout",
          "outcome": "body-read",
          "read_scope": "Windows/Mac prompt, layout placeholder insertion and reapplication workflows",
          "observation": "Focused layout route creates inspectable original deck and applies/reapplies edited layout; no provider runtime asserted.",
          "source_matches": [
            "powerpoint-layout-placeholders"
          ]
        },
        {
          "url": "https://support.microsoft.com/en-us/excel/use-conditional-formatting-to-highlight-information-in-excel",
          "outcome": "body-read",
          "read_scope": "Windows built-in comparison/Greater Than, Highlight Cells Rules, Manage Rules, conditional versus manual formatting and deletion behavior; web route kept separate",
          "observation": "Supports explicit threshold task and retaining manual formatting after deleting a rule. No Excel run performed.",
          "source_matches": [
            "excel-built-in-conditional-rule-20261028"
          ]
        }
      ]
    },
    "coordinator_resolution": "All reported actionable teaching, lab-requirement, PDF-link and mapping-location defects resolved using independent followup verification. Original findings, initial dispositions and prior release hashes remain retained; source gaps are not resolved."
  },
  "preservation": {
    "old_source_reviews_retained": 329,
    "old_deep_receipts_retained": 206,
    "old_ai_audit_batches_retained": 42,
    "historical_records": "All original source/deep/audit values unchanged; AI-audit raw file identical. No historical objective path migrations.",
    "unchanged_objective_files": 8,
    "unchanged_objective_and_status_files": 14,
    "status_metadata_only_updates": 2,
    "current_guide_bindings": 8,
    "current_detailed_objectives": 544,
    "current_teaching_spans": 717,
    "office_detailed_pdf_provenance": "All five raw PDF and extraction hashes verified separately from byte-identical coarse accepted snapshots; all task wording occurrences verified in captured PDF extraction."
  },
  "detailed_task_evidence_retention": "All current detailed Office wordings, ordered objective IDs, domain/group identity and raw PDF/extraction/task-list hashes are embedded in the matrix and source research. The five unchanged accepted adapter files remain coarse domain snapshots. Scratch PDF paths identify captured research inputs; they are not promised published PDF downloads.",
  "initial_flag_dispositions": {
    "subset_a_initial_workflow_flags": 49,
    "subset_a_substantive_closures": 48,
    "subset_a_closure_with_wac_ui_limit": 1,
    "subset_a_initial_provisional_rows_retained": 4,
    "subset_b_initial_partial_flags": 61,
    "subset_b_substantive_closures": 60,
    "subset_b_optional_styleset_with_current_source_gap": 1,
    "additional_independent_conditional_rule_teaching_repairs": 1,
    "boundary": "Initial flags, new independent findings, source limits and packet counts are different measures. No product test outcome is inferred."
  }
}
