{
  "schemaVersion": 1,
  "lessonRelease": "2026-09-28.1",
  "status": "source-scenarios-only; compiled visual demonstrations pending",
  "examples": [
    {
      "id": "cmp-evidence-form-application-a",
      "lessonId": "cmp-evidence-form",
      "role": "application-a",
      "scenario": "connect a completed restoration to a detail and the intervention it illustrates. Application B: connect a visitor's advisory question to preparation and the supported consultation output. Scale, adjacency, and sequence differ between them.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "160419c06f81c9226818cbb6ec3b7ecbbc0757b662f130b12849f91aa4817616"
    },
    {
      "id": "cmp-evidence-form-application-b",
      "lessonId": "cmp-evidence-form",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-evidence-form-counterexample",
      "lessonId": "cmp-evidence-form",
      "role": "counterexample",
      "scenario": "technical stamps and workshop textures imply manufacturing authority without evidence.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e00347086969af469a5380f8857bff2c9d739168510a3fb27a7cec801acd92df"
    },
    {
      "id": "cmp-semantic-grouping-application-a",
      "lessonId": "cmp-semantic-grouping",
      "role": "application-a",
      "scenario": "image, project location, note, and service link form one evidence group through caption alignment. Application B: service name and scope form an unboxed entry separated from neighbors by a rule.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e5fca49d26cc42b0fc80df07b73603f1e159d94da14426253e6a38cc29de1327"
    },
    {
      "id": "cmp-semantic-grouping-application-b",
      "lessonId": "cmp-semantic-grouping",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-semantic-grouping-counterexample",
      "lessonId": "cmp-semantic-grouping",
      "role": "counterexample",
      "scenario": "a quotation appears closer to the wrong project and seems to endorse it.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "5115c2d8aeb706a523371e54e51823e7bd588239d029a16cdfe3a92819754618"
    },
    {
      "id": "cmp-unequal-emphasis-application-a",
      "lessonId": "cmp-unequal-emphasis",
      "role": "application-a",
      "scenario": "an urgent service emphasizes a contact route beside essential scope. Application B: a considered purchase emphasizes work evidence, with a quieter action following explanation.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "d04b967a5fbdc6468061bba62c5fb67b71b6c7df9f3d824286abce30210f1dc9"
    },
    {
      "id": "cmp-unequal-emphasis-application-b",
      "lessonId": "cmp-unequal-emphasis",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-unequal-emphasis-counterexample",
      "lessonId": "cmp-unequal-emphasis",
      "role": "counterexample",
      "scenario": "every section repeats the same oversized heading, badge, image, and action pair.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "8b352edbe69b8aa2876a02b577c161f94248641a1ab65928c49916d2cef10416"
    },
    {
      "id": "cmp-shared-alignment-application-a",
      "lessonId": "cmp-shared-alignment",
      "role": "application-a",
      "scenario": "titles, captions, and service labels share a rail while image spans vary. Application B: a centered introduction opens into aligned comparison columns. Symmetry remains valid when useful.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e2ef91e3c75a5513f4de63e04841ccf32c279bb04e7aff3cc72a84dff5bcc2a3"
    },
    {
      "id": "cmp-shared-alignment-application-b",
      "lessonId": "cmp-shared-alignment",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-shared-alignment-counterexample",
      "lessonId": "cmp-shared-alignment",
      "role": "counterexample",
      "scenario": "label widths and image edges change between sections without a content reason.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "77911f56bc94b687cd7e760de3bd826d6d1a5a84b84466a24e66d0ab5e8b2ade"
    },
    {
      "id": "cmp-page-rhythm-application-a",
      "lessonId": "cmp-page-rhythm",
      "role": "application-a",
      "scenario": "an expansive project image leads into a compact explanation and detailed service choices. Application B: essential practical facts lead into a calm explanation and short inquiry.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "ae562206676542f89301acf29526fbb339290991dc896e22fac3471c2d3c6465"
    },
    {
      "id": "cmp-page-rhythm-application-b",
      "lessonId": "cmp-page-rhythm",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-page-rhythm-counterexample",
      "lessonId": "cmp-page-rhythm",
      "role": "counterexample",
      "scenario": "full-screen treatment makes minor facts as demanding as the main offer. Random layout variation is another failure.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "cd98396212110057880d70b2c29058ce629b47b40f98a7a8828531d6411dc352"
    },
    {
      "id": "cmp-narrative-continuity-application-a",
      "lessonId": "cmp-narrative-continuity",
      "role": "application-a",
      "scenario": "project context continues into detailed evidence without restarting the eyebrow-heading-button pattern. Application B: an in-page index accompanies a sustained reading column with modest subheadings.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "27f6cfa47913aafe9cc18fcd4e843a3e9320c2a3103b8c91cd168090a1c43856"
    },
    {
      "id": "cmp-narrative-continuity-application-b",
      "lessonId": "cmp-narrative-continuity",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-narrative-continuity-counterexample",
      "lessonId": "cmp-narrative-continuity",
      "role": "counterexample",
      "scenario": "overlap hides headings or makes the route structure ambiguous.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "0b437f1c136421b53bb5b638f99183595e33d6f71da012a3bae1184000e945be"
    },
    {
      "id": "cmp-type-roles-application-a",
      "lessonId": "cmp-type-roles",
      "role": "application-a",
      "scenario": "compact labels support broad expressive headings and ordinary reading text. Application B: a quiet service page uses modest display contrast and tabular numerals for practical details.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "fdf17e3921b5f949f607e960597882be1b4a6f9689750971a55544a33079f385"
    },
    {
      "id": "cmp-type-roles-application-b",
      "lessonId": "cmp-type-roles",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-type-roles-counterexample",
      "lessonId": "cmp-type-roles",
      "role": "counterexample",
      "scenario": "display styling spreads into descriptions and controls, reducing scanability.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "0bfc91d30abe7cb2a0c3aff575fe6173d9abc16df02be2081dceee6afef04740"
    },
    {
      "id": "cmp-text-shape-application-a",
      "lessonId": "cmp-text-shape",
      "role": "application-a",
      "scenario": "a concise statement uses a narrow measure beside an image. Application B: a longer precise offer spans above supporting facts without becoming an unsupported slogan.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "f602e8aa989c89e909b42068cba573ff627f34cc3a3a10bbcfc4e485b05aaab4"
    },
    {
      "id": "cmp-text-shape-application-b",
      "lessonId": "cmp-text-shape",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-text-shape-counterexample",
      "lessonId": "cmp-text-shape",
      "role": "counterexample",
      "scenario": "shrink all text or remove an important qualification to preserve a reference silhouette.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "d00e030989ee0141d6dea6eb162c7fb308afb7e9fcb53786eb9c2b5e36edb4b0"
    },
    {
      "id": "cmp-image-art-direction-application-a",
      "lessonId": "cmp-image-art-direction",
      "role": "application-a",
      "scenario": "a wide project view gains a narrower mobile crop that preserves the relevant subject. Application B: an entire product remains uncropped because its outline matters.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "448a99106405b45a84926b7f83c5718698fb73d7af5ced9eb6bf7ebbe9aa32ba"
    },
    {
      "id": "cmp-image-art-direction-application-b",
      "lessonId": "cmp-image-art-direction",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-image-art-direction-counterexample",
      "lessonId": "cmp-image-art-direction",
      "role": "counterexample",
      "scenario": "the described feature disappears from the crop, or generic imagery is made to appear like customer proof.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "5df3304affdd4f6fdad1d717769f62110f8026c80c102588145421434ec70446"
    },
    {
      "id": "cmp-image-sequence-application-a",
      "lessonId": "cmp-image-sequence",
      "role": "application-a",
      "scenario": "whole project, close detail, then a supported explanation. Application B: a product range uses consistent scale for comparison, with a material detail where useful.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "5a8de6fc01651e3d4dbb2ed1d5e80e9c4fbceabec9b150f1f8f50e3e869572fd"
    },
    {
      "id": "cmp-image-sequence-application-b",
      "lessonId": "cmp-image-sequence",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-image-sequence-counterexample",
      "lessonId": "cmp-image-sequence",
      "role": "counterexample",
      "scenario": "arbitrary tile sizes imply unsupported priority, or unordered images imply chronology.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "b6c419e6a8abf8708e6ad6541b37a5bdb37a708124820b11ccf2ffb0c4045f60"
    },
    {
      "id": "cmp-proof-adjacency-application-a",
      "lessonId": "cmp-proof-adjacency",
      "role": "application-a",
      "scenario": "a workmanship detail has a nearby explanation and relevant service link. Application B: a credential sits beside the scope it qualifies, without a detached badge wall.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "76ee1b891d2a7564e34c1ae48c147d8771e15b9d37e6c70f33415e15c4abcb8d"
    },
    {
      "id": "cmp-proof-adjacency-application-b",
      "lessonId": "cmp-proof-adjacency",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-proof-adjacency-counterexample",
      "lessonId": "cmp-proof-adjacency",
      "role": "counterexample",
      "scenario": "a general testimonial appears to endorse a specific project it never addressed.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "99152abc02358b729ff6d371f8c53e9d9d0d50b723f69fca6e3608afb5dd9812"
    },
    {
      "id": "cmp-collection-structure-application-a",
      "lessonId": "cmp-collection-structure",
      "role": "application-a",
      "scenario": "comparable services align names and scope in a compact index. Application B: varied projects use image-and-text groups appropriate to different evidence.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "0ada6c7159f1dd21970ba8d443758f865a99bfb6d85a7e7beb76561eae81d109"
    },
    {
      "id": "cmp-collection-structure-application-b",
      "lessonId": "cmp-collection-structure",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-collection-structure-counterexample",
      "lessonId": "cmp-collection-structure",
      "role": "counterexample",
      "scenario": "comparable attributes occupy unpredictable positions in decorative cards.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "3622bcd753a363f31fae1b18b7c31979fcfe6a3a9b17649eba2da60c3289e2ac"
    },
    {
      "id": "cmp-comparison-application-a",
      "lessonId": "cmp-comparison",
      "role": "application-a",
      "scenario": "a semantic table aligns shared attributes. Application B: a needs-based guide pairs situations with relevant services when tabular comparison would be artificial.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "d9245c9748ab923a3334efec51951e6984fb233ec80278f3f0b695b181964fc4"
    },
    {
      "id": "cmp-comparison-application-b",
      "lessonId": "cmp-comparison",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-comparison-counterexample",
      "lessonId": "cmp-comparison",
      "role": "counterexample",
      "scenario": "equal plan cards contain incomparable claims, suggesting equivalence the evidence does not support.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "59398626893d8b04512c8b7f440e29b7befe19118c61331455cffe316d5bd6e5"
    },
    {
      "id": "cmp-process-application-a",
      "lessonId": "cmp-process",
      "role": "application-a",
      "scenario": "a vertical narrative explains preparation, visit, and follow-up. Application B: a diagram distinguishes customer-supplied materials from provider work, with a text equivalent.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "aeb51b39ca3c3b1c5a85f6d45df0ade452cb0648f897d31afaf3e0ef81a56718"
    },
    {
      "id": "cmp-process-application-b",
      "lessonId": "cmp-process",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-process-counterexample",
      "lessonId": "cmp-process",
      "role": "counterexample",
      "scenario": "equal step cards conceal dependencies or imply an unsupported completion time.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "4771c67890ef35d06f0b477390a431281b1b746de4425d56f27d38da93b153e9"
    },
    {
      "id": "cmp-sparse-media-application-a",
      "lessonId": "cmp-sparse-media",
      "role": "application-a",
      "scenario": "a consultation page organizes preparation and meeting scope. Application B: a technical service distinguishes included and excluded work in a readable ledger.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "3742523dedbd756e7c70871e3a9a34a6b2932537df44cf402be1a0f7d408db6b"
    },
    {
      "id": "cmp-sparse-media-application-b",
      "lessonId": "cmp-sparse-media",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-sparse-media-counterexample",
      "lessonId": "cmp-sparse-media",
      "role": "counterexample",
      "scenario": "fabricated dashboards, results, logos, or portraits supply false credibility. Illustrative samples must not masquerade as actual deliverables.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "8fa9115fc7af41be12bc0fc3d0d03ba5fa073b6764365fa9eb76cc6fab634de1"
    },
    {
      "id": "cmp-navigation-application-a",
      "lessonId": "cmp-navigation",
      "role": "application-a",
      "scenario": "a small practice exposes essential routes and an inquiry path. Application B: a broad catalog uses route groups and contextual interior navigation.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "cc43d8955ff360bfc8ae3af00d8cd7df7ca1f951364fdd67242775e502f47104"
    },
    {
      "id": "cmp-navigation-application-b",
      "lessonId": "cmp-navigation",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-navigation-counterexample",
      "lessonId": "cmp-navigation",
      "role": "counterexample",
      "scenario": "an unlabeled experimental menu conceals the service architecture, or an oversized menu overwhelms a simple site.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "f4da02ef4ad833e4d64fa89a90aee4a7ea3231717af145d566d04d2e6d793f0d"
    },
    {
      "id": "cmp-contextual-action-application-a",
      "lessonId": "cmp-contextual-action",
      "role": "application-a",
      "scenario": "a service scope ends with an inquiry carrying the relevant service choice. Application B: a visit page keeps contact options beside hours and location.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "831d49142ad21812153445049f32dd765fe3a75679789c95afbb453b14e9c6c1"
    },
    {
      "id": "cmp-contextual-action-application-b",
      "lessonId": "cmp-contextual-action",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-contextual-action-counterexample",
      "lessonId": "cmp-contextual-action",
      "role": "counterexample",
      "scenario": "repeated action pairs interrupt every paragraph; a sticky button hides the facts needed to decide. An inquiry must not promise confirmed scheduling.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "d1575ee7b6adee663f15b05d18e776b5afd022b97256f859abb217a8e181ba43"
    },
    {
      "id": "cmp-local-information-application-a",
      "lessonId": "cmp-local-information",
      "role": "application-a",
      "scenario": "a venue groups arrival details and hours with a real directions link. Application B: a mobile service explains its coverage and inquiry expectations without implying a public storefront.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "c49038024966fcf0a5572e23bf7aedab20f9ee4bfd470b59ebb6a6ae9dd370ae"
    },
    {
      "id": "cmp-local-information-application-b",
      "lessonId": "cmp-local-information",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-local-information-counterexample",
      "lessonId": "cmp-local-information",
      "role": "counterexample",
      "scenario": "a decorative map dominates while phone and hours are difficult to find.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "33bf1934784ebee207bf5a9cd706758b5ad6d9b9596bb9956f32324697cfaec9"
    },
    {
      "id": "cmp-surfaces-motifs-application-a",
      "lessonId": "cmp-surfaces-motifs",
      "role": "application-a",
      "scenario": "a material practice uses detail framing and a recurring annotation convention. Application B: an information service uses measured rules and a consistent label hierarchy with entirely different colors and type.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "da3dfa5e87617870a9ab42954436c018bdaae8a208219b48ac9f99b1d3d18268"
    },
    {
      "id": "cmp-surfaces-motifs-application-b",
      "lessonId": "cmp-surfaces-motifs",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-surfaces-motifs-counterexample",
      "lessonId": "cmp-surfaces-motifs",
      "role": "counterexample",
      "scenario": "each section introduces a different decoration; alternatively, one repeated decorated box erases content distinctions.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "971d8f7daa5931c47aa50173992a28c0e160dddcd1bd0a986dfd9792dd9f4bf0"
    },
    {
      "id": "cmp-responsive-recomposition-application-a",
      "lessonId": "cmp-responsive-recomposition",
      "role": "application-a",
      "scenario": "side annotations become captions directly after an image. Application B: comparisons retain explicit attribute labels when columns no longer fit.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "ba9cb87450f106a2b1b1494fb237ef2c9c2d4606dba17a30cbcaf6886f01c82a"
    },
    {
      "id": "cmp-responsive-recomposition-application-b",
      "lessonId": "cmp-responsive-recomposition",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-responsive-recomposition-counterexample",
      "lessonId": "cmp-responsive-recomposition",
      "role": "counterexample",
      "scenario": "visual reordering conflicts with keyboard sequence, or a sticky panel occupies most of the zoomed viewport.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "f30f98002350db77a255a98fc2577edaa36765bff9a4a97e300796ffa2a4e57e"
    },
    {
      "id": "cmp-disclosure-application-a",
      "lessonId": "cmp-disclosure",
      "role": "application-a",
      "scenario": "visible service scope includes optional technical details. Application B: an annotated object offers clearly labeled explanatory notes with in-flow fallback.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "1f88c2ce2db13e4847b56ae4086008d1c46a392a2fdca8d47d20bdfaee4d6a11"
    },
    {
      "id": "cmp-disclosure-application-b",
      "lessonId": "cmp-disclosure",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-disclosure-counterexample",
      "lessonId": "cmp-disclosure",
      "role": "counterexample",
      "scenario": "primary offer, important price qualifications, and all proof are hidden in accordions.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "1e83155fa39391e1db5a91c46f54975c2f5657d6ff2cfb68aabf0a65604660c0"
    },
    {
      "id": "cmp-motion-continuity-application-a",
      "lessonId": "cmp-motion-continuity",
      "role": "application-a",
      "scenario": "a project thumbnail transitions into its detail context. Application B: a process explanation highlights the current relationship while essential text stays available.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "7c0753b2aef73745c029737aa5deda9a7a7ffcf79c5fddf14db34724c3358da1"
    },
    {
      "id": "cmp-motion-continuity-application-b",
      "lessonId": "cmp-motion-continuity",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-motion-continuity-counterexample",
      "lessonId": "cmp-motion-continuity",
      "role": "counterexample",
      "scenario": "parallax delays access to service scope, or a failed reveal keeps proof invisible.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "6721b7bf9610844fb6868c838ddf3d5a512e2442eeb59daa732af433ec21a0d2"
    },
    {
      "id": "cmp-interactive-explanation-application-a",
      "lessonId": "cmp-interactive-explanation",
      "role": "application-a",
      "scenario": "an authentic before/after pair offers an accessible control and static access to both images. Application B: a service guide maps stated needs to relevant explanations without pretending to diagnose or quote.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "814a64422487e927bba96ba59c8cf3f833438fd295b9be88f1ddb428f69736fc"
    },
    {
      "id": "cmp-interactive-explanation-application-b",
      "lessonId": "cmp-interactive-explanation",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-interactive-explanation-counterexample",
      "lessonId": "cmp-interactive-explanation",
      "role": "counterexample",
      "scenario": "a slider produces impressive estimates with no supported underlying model.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e78430b6c92ca065989f059d1cd12de0a42516d1c1c7939613bff4615f00f19e"
    },
    {
      "id": "cmp-contrastive-critique-application-a",
      "lessonId": "cmp-contrastive-critique",
      "role": "application-a",
      "scenario": "project-first and needs-first arrangements use the same facts and media. Application B: sparse-media proposals differ in whether preparation or scope comparison carries the page.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "0016596aabe1aa0273e72c7da3655d9ad45e0ed7e1b39140267fb51db52da33c"
    },
    {
      "id": "cmp-contrastive-critique-application-b",
      "lessonId": "cmp-contrastive-critique",
      "role": "application-b",
      "scenario": "",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
    },
    {
      "id": "cmp-contrastive-critique-counterexample",
      "lessonId": "cmp-contrastive-critique",
      "role": "counterexample",
      "scenario": "nearly identical split heroes receive different names and generic praise.",
      "provenance": "original-teaching-specification",
      "fixturePath": null,
      "captureHandles": [],
      "inspectionStatus": "pending",
      "sourceHash": "5c52b0c6f0776ffb24338a2bba0d0678042574ef10587ec1a15ee0cb71f8929c"
    }
  ]
}
