{
  "caseVersion": "2026.08.31-practice-3",
  "caseTitle": "OrbitWorks CRM repair",
  "disclosure": "This fictional training case uses fabricated company and contact records. It contains no real personal or confidential data and does not provide privacy, legal, employment, or technology-vendor advice.",
  "caseBrief": "OrbitWorks is a fictional business-to-business maintenance software company with 14 sales and service users. Its CRM holds 8,420 company records, 11,780 contacts, and 1,360 open opportunities. An audit sample finds 23 percent of open opportunities have no dated next step, 18 percent lack a decision-role contact, and 11 percent are assigned to former employees. Two pipelines use different meanings for qualified, yet both feed one forecast. Sales moves opportunities forward when a meeting is scheduled; customer success uses the stage only after a written problem and buying process are recorded. A marketing import of 2,100 contacts is waiting. The source contains 430 probable duplicates, 280 records without a documented marketing basis, 17 personal notes copied into a free-text field, and country values in nine formats. The proposed automation sends four emails and creates a call task, but it has no stop rule after opt-out, reply, disqualification, or opportunity creation. A dashboard reports a 72 percent win rate because it excludes closed-lost records older than 30 days. A regional manager requests administrator rights for all representatives to fix records faster. The CRM also has three integrations whose owners left the company; one export token has not been rotated in 19 months. Leadership wants a clean forecast by Friday and suggests overwriting all records from the import. Learners must design a controlled repair that improves lifecycle clarity, data standards, follow-up, stage evidence, reporting, permissions, and change management. They must minimize unnecessary personal data, preserve auditability, and avoid claiming that a configuration alone establishes lawful processing or accurate forecasts.",
  "facts": [
    {
      "id": "F01",
      "confidence": "confirmed",
      "record": "The CRM contains 8,420 companies, 11,780 contacts, and 1,360 open opportunities."
    },
    {
      "id": "F02",
      "confidence": "confirmed",
      "record": "Twenty-three percent of sampled open opportunities lack a dated next step."
    },
    {
      "id": "F03",
      "confidence": "confirmed",
      "record": "Eighteen percent lack a decision-role contact and eleven percent have former-employee owners."
    },
    {
      "id": "F04",
      "confidence": "conflicting",
      "record": "Sales and customer-success teams use different evidence to define the same qualified stage."
    },
    {
      "id": "F05",
      "confidence": "confirmed",
      "record": "The pending import contains 2,100 contacts and approximately 430 likely duplicates."
    },
    {
      "id": "F06",
      "confidence": "confirmed",
      "record": "Two hundred eighty import records lack documented marketing basis."
    },
    {
      "id": "F07",
      "confidence": "confirmed",
      "record": "Seventeen source rows contain personal notes in an unrestricted free-text field."
    },
    {
      "id": "F08",
      "confidence": "confirmed",
      "record": "Country values use nine inconsistent formats."
    },
    {
      "id": "F09",
      "confidence": "confirmed",
      "record": "The follow-up automation has no reply, opt-out, disqualification, or opportunity stop condition."
    },
    {
      "id": "F10",
      "confidence": "confirmed",
      "record": "The reported 72 percent win rate excludes older closed-lost opportunities."
    },
    {
      "id": "F11",
      "confidence": "confirmed",
      "record": "Three integrations have departed owners and one export token is nineteen months old."
    },
    {
      "id": "F12",
      "confidence": "provisional",
      "record": "Leadership proposes a full overwrite to produce a clean forecast by Friday."
    }
  ],
  "challenges": [
    {
      "module": 1,
      "title": "Define the lifecycle",
      "prompt": "Reconcile team meanings and map the customer lifecycle, systems, owners, and handoffs.",
      "deliverable": "A lifecycle architecture map, definition decision proposal, and approval-request record; no lifecycle definition is represented as approved.",
      "evidenceCriteria": [
        "Separates lead, account, contact, opportunity, and customer purposes",
        "Documents disputed stage meanings and decision owner",
        "Shows which systems and integrations create, change, or export records",
        "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
      ],
      "taskMode": "bounded-case-starter",
      "providedInputs": [
        {
          "id": "M01-I01",
          "kind": "case-fact",
          "sourceFactIds": [
            "F01"
          ],
          "confidence": "confirmed",
          "record": "The CRM contains 8,420 companies, 11,780 contacts, and 1,360 open opportunities."
        },
        {
          "id": "M01-I02",
          "kind": "case-fact",
          "sourceFactIds": [
            "F04"
          ],
          "confidence": "conflicting",
          "record": "Sales and customer-success teams use different evidence to define the same qualified stage."
        },
        {
          "id": "M01-I03",
          "kind": "case-fact",
          "sourceFactIds": [
            "F09"
          ],
          "confidence": "confirmed",
          "record": "The follow-up automation has no reply, opt-out, disqualification, or opportunity stop condition."
        },
        {
          "id": "M01-I04",
          "kind": "case-fact",
          "sourceFactIds": [
            "F11"
          ],
          "confidence": "confirmed",
          "record": "Three integrations have departed owners and one export token is nineteen months old."
        },
        {
          "id": "M01-I05",
          "kind": "case-fact",
          "sourceFactIds": [
            "F12"
          ],
          "confidence": "provisional",
          "record": "Leadership proposes a full overwrite to produce a clean forecast by Friday."
        },
        {
          "id": "M01-B01",
          "kind": "case-brief",
          "sourceFactIds": [],
          "sourceRecordIds": [
            "CB01"
          ],
          "confidence": "mixed",
          "record": "Use CB01, the full versioned case brief printed once at the start of this packet, as a citable narrative source for details not normalized into F01–F12. Preserve its uncertainty language and do not treat narrative detail as approval, complete operational records, or professional judgment."
        },
        {
          "id": "M01-S01",
          "kind": "assignment-scope",
          "sourceFactIds": [
            "F01",
            "F04",
            "F09",
            "F11",
            "F12"
          ],
          "confidence": "instruction",
          "record": "Build a starter version of “A lifecycle architecture map, definition decision proposal, and approval-request record; no lifecycle definition is represented as approved.” from the listed case facts. Treat requested structures, controls, questions, calculations, and templates as learner-designed proposals. Where an operational record or result is absent, add a gap entry naming the missing evidence and authorized owner instead of fabricating it."
        }
      ],
      "completionBoundary": "Complete a bounded starter and gap analysis using only CB01, F01, F04, F09, F11, F12, and the assignment-scope record below. Populate supported fields, label every unavailable field “not supplied,” and cite the input ID for each material statement. You may design a proposed template, control, question, or decision rule, but must label it as a learner proposal rather than observed case evidence. Do not contact people, access live systems, run tests, sign records, claim approval, or invent names, dates, quotations, transactions, results, or source documents.",
      "starterSchema": {
        "id": "M01-W02",
        "title": "Define the lifecycle guided artifact-build sheet",
        "columns": [
          "Component ID",
          "Requested artifact component",
          "Evidence criterion to test",
          "Supplied input IDs",
          "Supported entry",
          "Not-supplied gap or learner proposal",
          "Authorized owner or reviewer",
          "Status"
        ],
        "rows": [
          {
            "id": "M01-A01",
            "component": "Lifecycle architecture map",
            "criterion": "Separates lead, account, contact, opportunity, and customer purposes | Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
            "suppliedInputIds": [
              "M01-I01",
              "M01-I03",
              "M01-I05"
            ]
          },
          {
            "id": "M01-A02",
            "component": "Lifecycle-definition decision proposal",
            "criterion": "Documents disputed stage meanings and decision owner",
            "suppliedInputIds": [
              "M01-I02"
            ]
          },
          {
            "id": "M01-A03",
            "component": "Definition approval request",
            "criterion": "Shows which systems and integrations create, change, or export records",
            "suppliedInputIds": [
              "M01-I04"
            ]
          }
        ]
      },
      "workbookPlan": {
        "id": "M01-WP01",
        "version": "2026.09.01-workbook-plan-2",
        "contextInputIds": [
          "M01-B01",
          "M01-S01"
        ],
        "criterionCatalog": [
          {
            "id": "M01-EC01",
            "text": "Separates lead, account, contact, opportunity, and customer purposes"
          },
          {
            "id": "M01-EC02",
            "text": "Documents disputed stage meanings and decision owner"
          },
          {
            "id": "M01-EC03",
            "text": "Shows which systems and integrations create, change, or export records"
          },
          {
            "id": "M01-EC04",
            "text": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
          }
        ],
        "artifacts": [
          {
            "id": "M01-A01",
            "title": "Lifecycle architecture map",
            "type": "map",
            "purpose": "Produce a bounded, reviewable lifecycle architecture map from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Element",
              "From or trigger",
              "To or outcome",
              "Evidence and source ID",
              "Owner",
              "Open question",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "01A01R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M01:A01",
            "criterionIds": [
              "M01-EC01",
              "M01-EC04"
            ],
            "inputIds": [
              "M01-I01",
              "M01-I03",
              "M01-I05"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M01-I01, M01-I03, M01-I05).",
              "Every mapped rubric criterion (M01-EC01, M01-EC04) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M01-A02",
            "title": "Lifecycle-definition decision proposal",
            "type": "decision",
            "purpose": "Produce a bounded, reviewable lifecycle-definition decision proposal from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Decision",
              "Evidence for",
              "Evidence against",
              "Options and tradeoffs",
              "Decision owner",
              "Required approval",
              "Status"
            ],
            "rowPlan": {
              "count": 1,
              "prefix": "01A02R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M01:A02",
            "criterionIds": [
              "M01-EC02"
            ],
            "inputIds": [
              "M01-I02"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M01-I02).",
              "Every mapped rubric criterion (M01-EC02) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M01-A03",
            "title": "Definition approval request",
            "type": "brief",
            "purpose": "Produce a bounded, reviewable definition approval request from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Section",
              "Supported statement",
              "Source input ID",
              "Assumption or gap",
              "Decision requested",
              "Reviewer",
              "Status"
            ],
            "rowPlan": {
              "count": 1,
              "prefix": "01A03R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M01:A03",
            "criterionIds": [
              "M01-EC03"
            ],
            "inputIds": [
              "M01-I04"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M01-I04).",
              "Every mapped rubric criterion (M01-EC03) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          }
        ],
        "quantityContracts": [
          {
            "artifactId": "M01-A01",
            "rowCount": 2,
            "rowPrefix": "01A01R"
          }
        ],
        "workedStarter": {
          "artifactId": "M01-A01",
          "criterionId": "M01-EC01",
          "inputId": "M01-I01",
          "supportedValue": "The CRM contains 8,420 companies, 11,780 contacts, and 1,360 open opportunities.",
          "application": "Anchor one element of the map to the supplied condition and label any inferred transition as a learner proposal. Cite M01-I01 (F01) in the row.",
          "boundary": "This is one evidence-backed starter entry, not a completed lifecycle architecture map or an operational result."
        },
        "knownGap": {
          "artifactId": "M01-A01",
          "criterionId": "M01-EC01",
          "missingEvidence": "The packet does not supply the complete live records, approvals, or execution results needed to finish the lifecycle architecture map.",
          "whyItMatters": "Without that evidence, the learner cannot truthfully satisfy M01-EC01 or represent this artifact as complete.",
          "ownerRole": "CRM process owner and data steward",
          "boundedNextStep": "Record the missing evidence in M01-A01, name the authorized reviewer, and leave the outcome pending; do not obtain or simulate the live record in this exercise.",
          "status": "Open — not supplied"
        },
        "decisionPrompt": {
          "inputId": "M01-I05",
          "prompt": "What bounded decision can the CRM process owner and data steward make from M01-I05, and what must remain pending until the missing evidence or approval is supplied?"
        },
        "instructionalGuide": {
          "version": "2026.09.01-academy-workbook-instruction-bank-1",
          "principalArtifactId": "M01-A01",
          "prerequisiteCheck": [
            "Confirm aggregate CRM populations, disputed qualified-stage definition, missing automation stops, departed integration owners, aged token, and provisional overwrite proposal.",
            "Separate lead, account, contact, opportunity, and customer objects before mapping movement.",
            "No lifecycle definition, integration owner reassignment, overwrite, or approval is supplied."
          ],
          "operatingSteps": [
            "List each core CRM object and state its distinct business purpose before drawing transitions.",
            "Map creation, conversion, qualification, customer, disqualification, opt-out, and closure triggers as proposed controls.",
            "Attach supplied aggregate evidence to relevant nodes and mark record-level fields not supplied.",
            "Expose the conflicting qualified-stage definitions rather than selecting the sales or customer-success version.",
            "Map automation and integration effects, including missing stops, departed owners, and the aged export token.",
            "Reject the provisional overwrite as a lifecycle control and route definition and change approval to the process owner and data steward.",
            "Quality-check object purpose, entry and exit events, source systems, owners, open questions, and no implied production change."
          ],
          "fieldGuidance": {
            "Element": "Name one CRM object, lifecycle state, automation, or integration.",
            "From or trigger": "State the source object or observable event that begins the transition.",
            "To or outcome": "State the intended object or lifecycle result without claiming records were changed.",
            "Evidence and source ID": "Cite the exact M01-Ixx fact supporting scale, conflict, stop gap, integration, or overwrite risk.",
            "Owner": "Use CRM process owner and data steward, adding authorized system owner where needed.",
            "Open question": "Record missing definition, consent, stop condition, integration owner, token review, or change approval.",
            "Status": "Use Confirmed condition, Proposed lifecycle, Conflict open, Control gap, or Approval pending."
          },
          "completedExampleRow": {
            "Element": "Qualified opportunity stage",
            "From or trigger": "Opportunity reaches team-defined qualification evidence; common definition not supplied.",
            "To or outcome": "Observable qualified stage under an authorized shared definition.",
            "Evidence and source ID": "M01-I02 (F04, conflicting)",
            "Owner": "CRM process owner and data steward",
            "Open question": "Which buyer evidence, entry criteria, exit criteria, and authority define the shared stage?",
            "Status": "Conflict open — definition approval required"
          },
          "completedKnownGapRow": {
            "Element": "Follow-up automation exit",
            "From or trigger": "Reply, opt-out, disqualification, or opportunity creation.",
            "To or outcome": "Automation stops and ownership is recorded; no operating result supplied.",
            "Evidence and source ID": "M01-I03 (F09, confirmed)",
            "Owner": "CRM process owner and data steward",
            "Open question": "Stop-rule logic, consent policy, owner, test evidence, and activation approval: not supplied.",
            "Status": "Control gap — automation use requires review"
          },
          "supportingArtifacts": [],
          "decisionRule": {
            "stop": "Stop lifecycle deployment or overwrite when object purpose, observable stage evidence, stop rules, ownership, or rollback is unresolved.",
            "go": "Go to bounded design review when transitions, source evidence, open questions, and authorized owners are visible.",
            "escalate": "Escalate shared lifecycle definitions and production changes to the CRM process owner, data steward, and system owner."
          },
          "completionTest": [
            "Lead, account, contact, opportunity, and customer purposes are distinct.",
            "Conflicting stage meaning and missing automation stops remain visible.",
            "Integrations, ownership, exports, and overwrite risk appear without implying production action."
          ],
          "criterionSatisfiability": [
            {
              "criterionId": "M01-EC01",
              "criterionOrdinal": 1,
              "criterionText": "Separates lead, account, contact, opportunity, and customer purposes",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M01-EC02",
              "criterionOrdinal": 2,
              "criterionText": "Documents disputed stage meanings and decision owner",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M01-EC03",
              "criterionOrdinal": 3,
              "criterionText": "Shows which systems and integrations create, change, or export records",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M01-EC04",
              "criterionOrdinal": 4,
              "criterionText": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            }
          ]
        }
      }
    },
    {
      "module": 2,
      "title": "Set data standards",
      "prompt": "Create a data dictionary and remediation rules without inventing missing values.",
      "deliverable": "A field dictionary, quality scorecard, and exception queue design.",
      "evidenceCriteria": [
        "Defines timing, source, allowed value, owner, and privacy purpose for required fields",
        "Removes unnecessary personal notes from the import workflow",
        "Uses unknown, not guessed, when evidence is missing",
        "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
      ],
      "taskMode": "bounded-case-starter",
      "providedInputs": [
        {
          "id": "M02-I01",
          "kind": "case-fact",
          "sourceFactIds": [
            "F02"
          ],
          "confidence": "confirmed",
          "record": "Twenty-three percent of sampled open opportunities lack a dated next step."
        },
        {
          "id": "M02-I02",
          "kind": "case-fact",
          "sourceFactIds": [
            "F03"
          ],
          "confidence": "confirmed",
          "record": "Eighteen percent lack a decision-role contact and eleven percent have former-employee owners."
        },
        {
          "id": "M02-I03",
          "kind": "case-fact",
          "sourceFactIds": [
            "F05"
          ],
          "confidence": "confirmed",
          "record": "The pending import contains 2,100 contacts and approximately 430 likely duplicates."
        },
        {
          "id": "M02-I04",
          "kind": "case-fact",
          "sourceFactIds": [
            "F06"
          ],
          "confidence": "confirmed",
          "record": "Two hundred eighty import records lack documented marketing basis."
        },
        {
          "id": "M02-I05",
          "kind": "case-fact",
          "sourceFactIds": [
            "F07"
          ],
          "confidence": "confirmed",
          "record": "Seventeen source rows contain personal notes in an unrestricted free-text field."
        },
        {
          "id": "M02-I06",
          "kind": "case-fact",
          "sourceFactIds": [
            "F08"
          ],
          "confidence": "confirmed",
          "record": "Country values use nine inconsistent formats."
        },
        {
          "id": "M02-B01",
          "kind": "case-brief",
          "sourceFactIds": [],
          "sourceRecordIds": [
            "CB01"
          ],
          "confidence": "mixed",
          "record": "Use CB01, the full versioned case brief printed once at the start of this packet, as a citable narrative source for details not normalized into F01–F12. Preserve its uncertainty language and do not treat narrative detail as approval, complete operational records, or professional judgment."
        },
        {
          "id": "M02-S01",
          "kind": "assignment-scope",
          "sourceFactIds": [
            "F02",
            "F03",
            "F05",
            "F06",
            "F07",
            "F08"
          ],
          "confidence": "instruction",
          "record": "Build a starter version of “A field dictionary, quality scorecard, and exception queue design.” from the listed case facts. Treat requested structures, controls, questions, calculations, and templates as learner-designed proposals. Where an operational record or result is absent, add a gap entry naming the missing evidence and authorized owner instead of fabricating it."
        }
      ],
      "completionBoundary": "Complete a bounded starter and gap analysis using only CB01, F02, F03, F05, F06, F07, F08, and the assignment-scope record below. Populate supported fields, label every unavailable field “not supplied,” and cite the input ID for each material statement. You may design a proposed template, control, question, or decision rule, but must label it as a learner proposal rather than observed case evidence. Do not contact people, access live systems, run tests, sign records, claim approval, or invent names, dates, quotations, transactions, results, or source documents.",
      "starterSchema": {
        "id": "M02-W02",
        "title": "Set data standards guided artifact-build sheet",
        "columns": [
          "Component ID",
          "Requested artifact component",
          "Evidence criterion to test",
          "Supplied input IDs",
          "Supported entry",
          "Not-supplied gap or learner proposal",
          "Authorized owner or reviewer",
          "Status"
        ],
        "rows": [
          {
            "id": "M02-A01",
            "component": "CRM field dictionary",
            "criterion": "Defines timing, source, allowed value, owner, and privacy purpose for required fields | Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
            "suppliedInputIds": [
              "M02-I01",
              "M02-I04",
              "M02-I05",
              "M02-I06"
            ]
          },
          {
            "id": "M02-A02",
            "component": "Data-quality scorecard",
            "criterion": "Removes unnecessary personal notes from the import workflow",
            "suppliedInputIds": [
              "M02-I02",
              "M02-I03"
            ]
          },
          {
            "id": "M02-A03",
            "component": "Data-exception queue",
            "criterion": "Uses unknown, not guessed, when evidence is missing",
            "suppliedInputIds": [
              "M02-I03"
            ]
          }
        ]
      },
      "workbookPlan": {
        "id": "M02-WP01",
        "version": "2026.09.01-workbook-plan-2",
        "contextInputIds": [
          "M02-B01",
          "M02-S01"
        ],
        "criterionCatalog": [
          {
            "id": "M02-EC01",
            "text": "Defines timing, source, allowed value, owner, and privacy purpose for required fields"
          },
          {
            "id": "M02-EC02",
            "text": "Removes unnecessary personal notes from the import workflow"
          },
          {
            "id": "M02-EC03",
            "text": "Uses unknown, not guessed, when evidence is missing"
          },
          {
            "id": "M02-EC04",
            "text": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
          }
        ],
        "artifacts": [
          {
            "id": "M02-A01",
            "title": "CRM field dictionary",
            "type": "dictionary",
            "purpose": "Produce a bounded, reviewable crm field dictionary from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Term or field",
              "Definition",
              "Allowed values or rule",
              "Evidence source",
              "Owner",
              "Change trigger",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "02A01R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M02:A01",
            "criterionIds": [
              "M02-EC01",
              "M02-EC04"
            ],
            "inputIds": [
              "M02-I01",
              "M02-I04",
              "M02-I05",
              "M02-I06"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M02-I01, M02-I04, M02-I05, M02-I06).",
              "Every mapped rubric criterion (M02-EC01, M02-EC04) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M02-A02",
            "title": "Data-quality scorecard",
            "type": "scorecard",
            "purpose": "Produce a bounded, reviewable data-quality scorecard from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Metric",
              "Definition",
              "Evidence source",
              "Provisional threshold",
              "Owner",
              "Review cadence",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "02A02R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M02:A02",
            "criterionIds": [
              "M02-EC02"
            ],
            "inputIds": [
              "M02-I02",
              "M02-I03"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M02-I02, M02-I03).",
              "Every mapped rubric criterion (M02-EC02) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M02-A03",
            "title": "Data-exception queue",
            "type": "register",
            "purpose": "Produce a bounded, reviewable data-exception queue from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Entry ID",
              "Issue or event",
              "Evidence and source ID",
              "Risk or impact",
              "Owner",
              "Bounded next step",
              "Review point",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "02A03R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M02:A03",
            "criterionIds": [
              "M02-EC03"
            ],
            "inputIds": [
              "M02-I03"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M02-I03).",
              "Every mapped rubric criterion (M02-EC03) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          }
        ],
        "quantityContracts": [
          {
            "artifactId": "M02-A01",
            "rowCount": 2,
            "rowPrefix": "02A01R"
          },
          {
            "artifactId": "M02-A02",
            "rowCount": 2,
            "rowPrefix": "02A02R"
          },
          {
            "artifactId": "M02-A03",
            "rowCount": 2,
            "rowPrefix": "02A03R"
          }
        ],
        "workedStarter": {
          "artifactId": "M02-A01",
          "criterionId": "M02-EC01",
          "inputId": "M02-I01",
          "supportedValue": "Twenty-three percent of sampled open opportunities lack a dated next step.",
          "application": "Use the supplied term or condition to draft one definition while marking allowed values and approval status provisional. Cite M02-I01 (F02) in the row.",
          "boundary": "This is one evidence-backed starter entry, not a completed crm field dictionary or an operational result."
        },
        "knownGap": {
          "artifactId": "M02-A01",
          "criterionId": "M02-EC01",
          "missingEvidence": "The packet does not supply the complete live records, approvals, or execution results needed to finish the crm field dictionary.",
          "whyItMatters": "Without that evidence, the learner cannot truthfully satisfy M02-EC01 or represent this artifact as complete.",
          "ownerRole": "CRM process owner and data steward",
          "boundedNextStep": "Record the missing evidence in M02-A01, name the authorized reviewer, and leave the outcome pending; do not obtain or simulate the live record in this exercise.",
          "status": "Open — not supplied"
        },
        "decisionPrompt": {
          "inputId": "M02-I03",
          "prompt": "What bounded decision can the CRM process owner and data steward make from M02-I03, and what must remain pending until the missing evidence or approval is supplied?"
        },
        "instructionalGuide": {
          "version": "2026.09.01-academy-workbook-instruction-bank-1",
          "principalArtifactId": "M02-A01",
          "prerequisiteCheck": [
            "Confirm missing next steps, decision-role contacts, departed owners, duplicate estimates, marketing-basis gaps, personal notes, and country-format inconsistency.",
            "Define field standards before evaluating data quality.",
            "Do not inspect or invent individual import rows; only aggregate facts are supplied."
          ],
          "operatingSteps": [
            "List each required CRM field and define its business purpose, timing, source, allowed values, owner, and privacy basis.",
            "Create standards for dated next step, decision-role contact, current owner, marketing basis, notes, and country.",
            "Use unknown when evidence is absent and prohibit guessed values or unrestricted personal notes.",
            "Translate aggregate quality facts into scorecard measures without claiming individual records were reviewed.",
            "Route likely duplicates and missing values to a quarantine or exception queue before import.",
            "Require privacy and marketing-basis review for the 280 records and removal or restriction of unnecessary personal notes.",
            "Quality-check every dictionary field for definition, allowed values, evidence source, owner, change trigger, and pending approval."
          ],
          "fieldGuidance": {
            "Term or field": "Name one CRM field, such as Next-step date, Decision role, Owner, Marketing basis, Country, or Notes.",
            "Definition": "Describe the exact business meaning and when the field applies.",
            "Allowed values or rule": "State format, timing, unknown value, privacy limit, or controlled value list as a learner proposal.",
            "Evidence source": "Cite the M02-Ixx aggregate fact creating the standard or gap.",
            "Owner": "Use CRM process owner and data steward; add privacy reviewer where required.",
            "Change trigger": "State what evidence or process change requires dictionary review.",
            "Status": "Use Proposed standard, Evidence gap, Privacy review, Data cleanup pending, or Approval pending."
          },
          "completedExampleRow": {
            "Term or field": "Next-step date",
            "Definition": "Date and time zone for the next agreed buyer-facing or owner action on an open opportunity.",
            "Allowed values or rule": "Valid date plus time zone, or Unknown with exception owner; record-level dates are not supplied and must not be guessed.",
            "Evidence source": "M02-I01 (F02, confirmed: 23% of sampled open opportunities lack a dated next step)",
            "Owner": "CRM process owner and data steward",
            "Change trigger": "Lifecycle-definition change or repeated missing-date exception.",
            "Status": "Learner-proposed standard — approval pending"
          },
          "completedKnownGapRow": {
            "Term or field": "Marketing basis",
            "Definition": "Documented basis controlling whether a contact may enter a marketing workflow.",
            "Allowed values or rule": "Approved controlled values not supplied; use Unknown and quarantine until review.",
            "Evidence source": "M02-I04 (F06, confirmed: 280 import records lack documented marketing basis)",
            "Owner": "Data steward and qualified privacy or marketing-compliance reviewer",
            "Change trigger": "Policy, jurisdiction, purpose, or source change.",
            "Status": "Gap open — import activation blocked"
          },
          "supportingArtifacts": [],
          "decisionRule": {
            "stop": "Stop import or automation for records lacking required consent basis, safe notes, controlled values, ownership, or duplicate disposition.",
            "go": "Go to bounded cleansing when field rules, exception handling, and review owners are explicit.",
            "escalate": "Escalate privacy, marketing basis, retention, and production data-change decisions to qualified owners."
          },
          "completionTest": [
            "Required fields define purpose, timing, source, allowed values, owner, and privacy basis.",
            "Unknown replaces guessing and personal notes are removed or restricted through an approved process.",
            "Aggregate defects inform controls without implying record-level review."
          ],
          "criterionSatisfiability": [
            {
              "criterionId": "M02-EC01",
              "criterionOrdinal": 1,
              "criterionText": "Defines timing, source, allowed value, owner, and privacy purpose for required fields",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M02-EC02",
              "criterionOrdinal": 2,
              "criterionText": "Removes unnecessary personal notes from the import workflow",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M02-EC03",
              "criterionOrdinal": 3,
              "criterionText": "Uses unknown, not guessed, when evidence is missing",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M02-EC04",
              "criterionOrdinal": 4,
              "criterionText": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            }
          ]
        }
      }
    },
    {
      "module": 3,
      "title": "Control follow-up",
      "prompt": "Redesign the sequence so work stops or changes when the record state changes.",
      "deliverable": "An automation specification with triggers, stop rules, owners, and test cases.",
      "evidenceCriteria": [
        "Includes reply, opt-out, disqualification, opportunity, error, and owner-loss conditions",
        "Defines task due dates and exception monitoring",
        "Tests consent and suppression before production activation",
        "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
      ],
      "taskMode": "bounded-case-starter",
      "providedInputs": [
        {
          "id": "M03-I01",
          "kind": "case-fact",
          "sourceFactIds": [
            "F09"
          ],
          "confidence": "confirmed",
          "record": "The follow-up automation has no reply, opt-out, disqualification, or opportunity stop condition."
        },
        {
          "id": "M03-I02",
          "kind": "case-fact",
          "sourceFactIds": [
            "F11"
          ],
          "confidence": "confirmed",
          "record": "Three integrations have departed owners and one export token is nineteen months old."
        },
        {
          "id": "M03-I03",
          "kind": "case-fact",
          "sourceFactIds": [
            "F12"
          ],
          "confidence": "provisional",
          "record": "Leadership proposes a full overwrite to produce a clean forecast by Friday."
        },
        {
          "id": "M03-B01",
          "kind": "case-brief",
          "sourceFactIds": [],
          "sourceRecordIds": [
            "CB01"
          ],
          "confidence": "mixed",
          "record": "Use CB01, the full versioned case brief printed once at the start of this packet, as a citable narrative source for details not normalized into F01–F12. Preserve its uncertainty language and do not treat narrative detail as approval, complete operational records, or professional judgment."
        },
        {
          "id": "M03-S01",
          "kind": "assignment-scope",
          "sourceFactIds": [
            "F09",
            "F11",
            "F12"
          ],
          "confidence": "instruction",
          "record": "Build a starter version of “An automation specification with triggers, stop rules, owners, and test cases.” from the listed case facts. Treat requested structures, controls, questions, calculations, and templates as learner-designed proposals. Where an operational record or result is absent, add a gap entry naming the missing evidence and authorized owner instead of fabricating it."
        }
      ],
      "completionBoundary": "Complete a bounded starter and gap analysis using only CB01, F09, F11, F12, and the assignment-scope record below. Populate supported fields, label every unavailable field “not supplied,” and cite the input ID for each material statement. You may design a proposed template, control, question, or decision rule, but must label it as a learner proposal rather than observed case evidence. Do not contact people, access live systems, run tests, sign records, claim approval, or invent names, dates, quotations, transactions, results, or source documents.",
      "starterSchema": {
        "id": "M03-W02",
        "title": "Control follow-up guided artifact-build sheet",
        "columns": [
          "Component ID",
          "Requested artifact component",
          "Evidence criterion to test",
          "Supplied input IDs",
          "Supported entry",
          "Not-supplied gap or learner proposal",
          "Authorized owner or reviewer",
          "Status"
        ],
        "rows": [
          {
            "id": "M03-A01",
            "component": "Automation specification",
            "criterion": "Includes reply, opt-out, disqualification, opportunity, error, and owner-loss conditions | Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
            "suppliedInputIds": [
              "M03-I01"
            ]
          },
          {
            "id": "M03-A02",
            "component": "Automation stop-rule register",
            "criterion": "Defines task due dates and exception monitoring",
            "suppliedInputIds": [
              "M03-I02"
            ]
          },
          {
            "id": "M03-A03",
            "component": "Automation test-case plan",
            "criterion": "Tests consent and suppression before production activation",
            "suppliedInputIds": [
              "M03-I03"
            ]
          }
        ]
      },
      "workbookPlan": {
        "id": "M03-WP01",
        "version": "2026.09.01-workbook-plan-2",
        "contextInputIds": [
          "M03-B01",
          "M03-S01"
        ],
        "criterionCatalog": [
          {
            "id": "M03-EC01",
            "text": "Includes reply, opt-out, disqualification, opportunity, error, and owner-loss conditions"
          },
          {
            "id": "M03-EC02",
            "text": "Defines task due dates and exception monitoring"
          },
          {
            "id": "M03-EC03",
            "text": "Tests consent and suppression before production activation"
          },
          {
            "id": "M03-EC04",
            "text": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
          }
        ],
        "artifacts": [
          {
            "id": "M03-A01",
            "title": "Automation specification",
            "type": "plan",
            "purpose": "Produce a bounded, reviewable automation specification from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Step or milestone",
              "Trigger or date",
              "Evidence and source ID",
              "Owner",
              "Gate or threshold",
              "Dependency or gap",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "03A01R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M03:A01",
            "criterionIds": [
              "M03-EC01",
              "M03-EC04"
            ],
            "inputIds": [
              "M03-I01"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M03-I01).",
              "Every mapped rubric criterion (M03-EC01, M03-EC04) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M03-A02",
            "title": "Automation stop-rule register",
            "type": "register",
            "purpose": "Produce a bounded, reviewable automation stop-rule register from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Entry ID",
              "Issue or event",
              "Evidence and source ID",
              "Risk or impact",
              "Owner",
              "Bounded next step",
              "Review point",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "03A02R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M03:A02",
            "criterionIds": [
              "M03-EC02"
            ],
            "inputIds": [
              "M03-I02"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M03-I02).",
              "Every mapped rubric criterion (M03-EC02) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M03-A03",
            "title": "Automation test-case plan",
            "type": "worksheet",
            "purpose": "Produce a bounded, reviewable automation test-case plan from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Row ID",
              "Subject",
              "Supported observation",
              "Source input ID",
              "Analysis or learner proposal",
              "Not-supplied gap",
              "Reviewer",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "03A03R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M03:A03",
            "criterionIds": [
              "M03-EC03"
            ],
            "inputIds": [
              "M03-I03"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M03-I03).",
              "Every mapped rubric criterion (M03-EC03) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          }
        ],
        "quantityContracts": [
          {
            "artifactId": "M03-A01",
            "rowCount": 2,
            "rowPrefix": "03A01R"
          },
          {
            "artifactId": "M03-A02",
            "rowCount": 2,
            "rowPrefix": "03A02R"
          },
          {
            "artifactId": "M03-A03",
            "rowCount": 2,
            "rowPrefix": "03A03R"
          }
        ],
        "workedStarter": {
          "artifactId": "M03-A01",
          "criterionId": "M03-EC01",
          "inputId": "M03-I01",
          "supportedValue": "The follow-up automation has no reply, opt-out, disqualification, or opportunity stop condition.",
          "application": "Use the supplied condition to define one bounded step and a review gate; leave dates and execution results pending unless supplied. Cite M03-I01 (F09) in the row.",
          "boundary": "This is one evidence-backed starter entry, not a completed automation specification or an operational result."
        },
        "knownGap": {
          "artifactId": "M03-A01",
          "criterionId": "M03-EC01",
          "missingEvidence": "The packet does not supply the complete live records, approvals, or execution results needed to finish the automation specification.",
          "whyItMatters": "Without that evidence, the learner cannot truthfully satisfy M03-EC01 or represent this artifact as complete.",
          "ownerRole": "CRM process owner and data steward",
          "boundedNextStep": "Record the missing evidence in M03-A01, name the authorized reviewer, and leave the outcome pending; do not obtain or simulate the live record in this exercise.",
          "status": "Open — not supplied"
        },
        "decisionPrompt": {
          "inputId": "M03-I03",
          "prompt": "What bounded decision can the CRM process owner and data steward make from M03-I03, and what must remain pending until the missing evidence or approval is supplied?"
        },
        "instructionalGuide": {
          "version": "2026.09.01-academy-workbook-instruction-bank-1",
          "principalArtifactId": "M03-A01",
          "prerequisiteCheck": [
            "Confirm the missing reply, opt-out, disqualification, and opportunity stops plus integration-owner and token issues.",
            "Treat the full-overwrite request as provisional and outside the automation test itself.",
            "No task due dates, test execution, consent result, suppression result, or production activation is supplied."
          ],
          "operatingSteps": [
            "Define the automation entry event, eligible population, owner, purpose, and data prerequisites.",
            "List reply, opt-out, disqualification, opportunity creation, error, and owner-loss as mandatory stop or exception conditions.",
            "Specify task creation, due-date logic, monitoring queue, and fallback for every stop condition.",
            "Create negative-path tests for consent, suppression, reply, opt-out, wrong owner, integration failure, and duplicate execution.",
            "Keep all test results not supplied and block production activation until authorized evidence exists.",
            "Route departed integration ownership and aged token review to the authorized system owner.",
            "Quality-check trigger, source, owner, threshold, stop behavior, evidence capture, rollback, and no implied activation."
          ],
          "fieldGuidance": {
            "Step or milestone": "Name one automation event or control, including entry, action, stop, exception, or review.",
            "Trigger or date": "State the observable trigger; mark due-date calculation not supplied when absent.",
            "Evidence and source ID": "Cite M03-I01 for missing stops or another scoped input for ownership/change risk.",
            "Owner": "Use CRM process owner, data steward, or authorized system owner.",
            "Gate or threshold": "Define the condition that stops, routes, retries, or blocks production.",
            "Dependency or gap": "Record missing policy, consent, suppression, due date, test evidence, owner, or token review.",
            "Status": "Use Proposed control, Missing stop, Test pending, Security review, or Production blocked."
          },
          "completedExampleRow": {
            "Step or milestone": "Stop sequence on recipient reply",
            "Trigger or date": "Any recorded reply event; event schema and timing not supplied.",
            "Evidence and source ID": "M03-I01 (F09, confirmed: no reply stop condition)",
            "Owner": "CRM process owner and data steward",
            "Gate or threshold": "Sequence must stop before another automated outreach action and create an owner review task.",
            "Dependency or gap": "Reply event mapping, task due rule, test result, monitoring, and activation approval: not supplied.",
            "Status": "Learner-proposed control — production blocked"
          },
          "completedKnownGapRow": {
            "Step or milestone": "Integration-owner-loss exception",
            "Trigger or date": "Integration owner departs or credential exceeds approved age.",
            "Evidence and source ID": "M03-I02 (F11, confirmed)",
            "Owner": "Authorized system owner",
            "Gate or threshold": "Automation pauses or routes safely until ownership and credential review are complete.",
            "Dependency or gap": "Integration identities, owner assignments, credential policy, token rotation, and test evidence: not supplied.",
            "Status": "Security and ownership gap open"
          },
          "supportingArtifacts": [],
          "decisionRule": {
            "stop": "Stop production activation if any consent, suppression, reply, opt-out, disqualification, opportunity, error, or owner-loss path lacks a passing test.",
            "go": "Go to sandbox testing when trigger, stop logic, task, owner, evidence capture, and rollback are defined.",
            "escalate": "Escalate consent, privacy, integration ownership, credential, and production activation to authorized owners."
          },
          "completionTest": [
            "All required stop and exception conditions appear in the specification.",
            "Task timing, monitoring, and negative-path evidence requirements are explicit.",
            "No test, suppression, consent, or production result is fabricated."
          ],
          "criterionSatisfiability": [
            {
              "criterionId": "M03-EC01",
              "criterionOrdinal": 1,
              "criterionText": "Includes reply, opt-out, disqualification, opportunity, error, and owner-loss conditions",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M03-EC02",
              "criterionOrdinal": 2,
              "criterionText": "Defines task due dates and exception monitoring",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M03-EC03",
              "criterionOrdinal": 3,
              "criterionText": "Tests consent and suppression before production activation",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M03-EC04",
              "criterionOrdinal": 4,
              "criterionText": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            }
          ]
        }
      }
    },
    {
      "module": 4,
      "title": "Make stages observable",
      "prompt": "Propose stage entry and exit evidence that both teams can apply consistently.",
      "deliverable": "A stage dictionary, aggregate reclassification examples based on F02 through F04, and a blank twenty-row reclassification worksheet clearly marked for later record-level evidence.",
      "evidenceCriteria": [
        "Ties each proposed stage to buyer evidence rather than seller confidence",
        "Shows how original values and reclassification reasons would be preserved, without claiming that twenty individual records were supplied or reviewed",
        "Identifies which classifications require the missing record-level fields before a decision can be made",
        "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
      ],
      "taskMode": "bounded-case-starter",
      "providedInputs": [
        {
          "id": "M04-I01",
          "kind": "case-fact",
          "sourceFactIds": [
            "F02"
          ],
          "confidence": "confirmed",
          "record": "Twenty-three percent of sampled open opportunities lack a dated next step."
        },
        {
          "id": "M04-I02",
          "kind": "case-fact",
          "sourceFactIds": [
            "F03"
          ],
          "confidence": "confirmed",
          "record": "Eighteen percent lack a decision-role contact and eleven percent have former-employee owners."
        },
        {
          "id": "M04-I03",
          "kind": "case-fact",
          "sourceFactIds": [
            "F04"
          ],
          "confidence": "conflicting",
          "record": "Sales and customer-success teams use different evidence to define the same qualified stage."
        },
        {
          "id": "M04-B01",
          "kind": "case-brief",
          "sourceFactIds": [],
          "sourceRecordIds": [
            "CB01"
          ],
          "confidence": "mixed",
          "record": "Use CB01, the full versioned case brief printed once at the start of this packet, as a citable narrative source for details not normalized into F01–F12. Preserve its uncertainty language and do not treat narrative detail as approval, complete operational records, or professional judgment."
        },
        {
          "id": "M04-S01",
          "kind": "assignment-scope",
          "sourceFactIds": [
            "F02",
            "F03",
            "F04"
          ],
          "confidence": "instruction",
          "record": "Build a starter version of “A stage dictionary, aggregate reclassification examples based on F02 through F04, and a blank twenty-row reclassification worksheet clearly marked for later record-level evidence.” from the listed case facts. Treat requested structures, controls, questions, calculations, and templates as learner-designed proposals. Where an operational record or result is absent, add a gap entry naming the missing evidence and authorized owner instead of fabricating it."
        }
      ],
      "completionBoundary": "Complete a bounded starter and gap analysis using only CB01, F02, F03, F04, and the assignment-scope record below. Populate supported fields, label every unavailable field “not supplied,” and cite the input ID for each material statement. You may design a proposed template, control, question, or decision rule, but must label it as a learner proposal rather than observed case evidence. Do not contact people, access live systems, run tests, sign records, claim approval, or invent names, dates, quotations, transactions, results, or source documents.",
      "starterSchema": {
        "id": "M04-W02",
        "title": "Make stages observable guided artifact-build sheet",
        "columns": [
          "Component ID",
          "Requested artifact component",
          "Evidence criterion to test",
          "Supplied input IDs",
          "Supported entry",
          "Not-supplied gap or learner proposal",
          "Authorized owner or reviewer",
          "Status"
        ],
        "rows": [
          {
            "id": "M04-A01",
            "component": "Pipeline stage dictionary",
            "criterion": "Ties each proposed stage to buyer evidence rather than seller confidence",
            "suppliedInputIds": [
              "M04-I03"
            ]
          },
          {
            "id": "M04-A02",
            "component": "Aggregate reclassification examples",
            "criterion": "Ties each proposed stage to buyer evidence rather than seller confidence | Shows how original values and reclassification reasons would be preserved, without claiming that twenty individual records were supplied or reviewed",
            "suppliedInputIds": [
              "M04-I01",
              "M04-I02",
              "M04-I03"
            ]
          },
          {
            "id": "M04-A03",
            "component": "Twenty-row reclassification worksheet",
            "criterion": "Shows how original values and reclassification reasons would be preserved, without claiming that twenty individual records were supplied or reviewed | Identifies which classifications require the missing record-level fields before a decision can be made | Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
            "suppliedInputIds": [
              "M04-I01",
              "M04-I02",
              "M04-I03"
            ]
          }
        ]
      },
      "workbookPlan": {
        "id": "M04-WP01",
        "version": "2026.09.01-workbook-plan-2",
        "contextInputIds": [
          "M04-B01",
          "M04-S01"
        ],
        "criterionCatalog": [
          {
            "id": "M04-EC01",
            "text": "Ties each proposed stage to buyer evidence rather than seller confidence"
          },
          {
            "id": "M04-EC02",
            "text": "Shows how original values and reclassification reasons would be preserved, without claiming that twenty individual records were supplied or reviewed"
          },
          {
            "id": "M04-EC03",
            "text": "Identifies which classifications require the missing record-level fields before a decision can be made"
          },
          {
            "id": "M04-EC04",
            "text": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
          }
        ],
        "artifacts": [
          {
            "id": "M04-A01",
            "title": "Pipeline stage dictionary",
            "type": "dictionary",
            "purpose": "Produce a bounded, reviewable pipeline stage dictionary from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Term or field",
              "Definition",
              "Allowed values or rule",
              "Evidence source",
              "Owner",
              "Change trigger",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "04A01R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M04:A01",
            "criterionIds": [
              "M04-EC01"
            ],
            "inputIds": [
              "M04-I03"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M04-I03).",
              "Every mapped rubric criterion (M04-EC01) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M04-A02",
            "title": "Aggregate reclassification examples",
            "type": "matrix",
            "purpose": "Produce a bounded, reviewable aggregate reclassification examples from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Item ID",
              "Supported evidence",
              "Source input ID",
              "Criterion or required state",
              "Gap or learner proposal",
              "Owner or reviewer",
              "Status"
            ],
            "rowPlan": {
              "count": 3,
              "prefix": "EXAMPLE",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M04:A02",
            "criterionIds": [
              "M04-EC01",
              "M04-EC02"
            ],
            "inputIds": [
              "M04-I01",
              "M04-I02",
              "M04-I03"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M04-I01, M04-I02, M04-I03).",
              "Every mapped rubric criterion (M04-EC01, M04-EC02) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M04-A03",
            "title": "Twenty-row reclassification worksheet",
            "type": "worksheet",
            "purpose": "Produce a bounded, reviewable twenty-row reclassification worksheet from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Record ID",
              "Original stage",
              "Observed buyer evidence",
              "Proposed stage",
              "Exit criterion",
              "Confidence",
              "Source ID",
              "Owner/reviewer",
              "Status"
            ],
            "rowPlan": {
              "count": 20,
              "prefix": "RC",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M04:A03",
            "criterionIds": [
              "M04-EC02",
              "M04-EC03",
              "M04-EC04"
            ],
            "inputIds": [
              "M04-I01",
              "M04-I02",
              "M04-I03"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M04-I01, M04-I02, M04-I03).",
              "Every mapped rubric criterion (M04-EC02, M04-EC03, M04-EC04) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          }
        ],
        "quantityContracts": [
          {
            "artifactId": "M04-A01",
            "rowCount": 2,
            "rowPrefix": "04A01R"
          },
          {
            "artifactId": "M04-A02",
            "rowCount": 3,
            "rowPrefix": "EXAMPLE"
          },
          {
            "artifactId": "M04-A03",
            "rowCount": 20,
            "rowPrefix": "RC"
          }
        ],
        "workedStarter": {
          "artifactId": "M04-A01",
          "criterionId": "M04-EC01",
          "inputId": "M04-I03",
          "supportedValue": "Sales and customer-success teams use different evidence to define the same qualified stage.",
          "application": "Use the supplied term or condition to draft one definition while marking allowed values and approval status provisional. Cite M04-I03 (F04) in the row.",
          "boundary": "This is one evidence-backed starter entry, not a completed pipeline stage dictionary or an operational result."
        },
        "knownGap": {
          "artifactId": "M04-A01",
          "criterionId": "M04-EC01",
          "missingEvidence": "The packet does not supply the complete live records, approvals, or execution results needed to finish the pipeline stage dictionary.",
          "whyItMatters": "Without that evidence, the learner cannot truthfully satisfy M04-EC01 or represent this artifact as complete.",
          "ownerRole": "CRM process owner and data steward",
          "boundedNextStep": "Record the missing evidence in M04-A01, name the authorized reviewer, and leave the outcome pending; do not obtain or simulate the live record in this exercise.",
          "status": "Open — not supplied"
        },
        "decisionPrompt": {
          "inputId": "M04-I03",
          "prompt": "What bounded decision can the CRM process owner and data steward make from M04-I03, and what must remain pending until the missing evidence or approval is supplied?"
        },
        "instructionalGuide": {
          "version": "2026.09.01-academy-workbook-instruction-bank-1",
          "principalArtifactId": "M04-A01",
          "prerequisiteCheck": [
            "Confirm missing dated next steps, missing decision-role contacts, former-employee owners, and conflicting qualified-stage definitions.",
            "Distinguish buyer evidence from seller activity, confidence, or forecast preference.",
            "No individual opportunity records were supplied or reviewed; RC rows are controlled training examples or gaps."
          ],
          "operatingSteps": [
            "Define each pipeline stage using observable buyer evidence, entry rule, exit rule, exclusions, owner, and change trigger.",
            "Record the sales and customer-success definitions as conflicting and route a shared-definition decision to the process owner.",
            "Preserve original stage values before proposing any reclassification.",
            "For every RC row, record observed buyer evidence and required exit criterion; use Unknown at record level when individual evidence is absent.",
            "Do not reclassify based only on seller activity, missing next-step cleanup, or a desire to improve the forecast.",
            "Route conflicting definitions and record-level exceptions to the CRM process owner and data steward before production change.",
            "Quality-check all 20 RC identifiers, exact columns, source IDs, confidence, original-value preservation, and pending status."
          ],
          "fieldGuidance": {
            "Term or field": "Name one pipeline stage or stage-governance field.",
            "Definition": "Describe the buyer state in observable terms, not salesperson confidence.",
            "Allowed values or rule": "State entry, exit, prohibited proxy, and unknown handling as a learner proposal.",
            "Evidence source": "Cite M04-I03 for the definition conflict or the exact authorized source when later supplied.",
            "Owner": "Use CRM process owner and data steward.",
            "Change trigger": "State what buyer evidence, governance decision, or audit result requires definition review.",
            "Status": "Use Conflict open, Proposed definition, Record-level evidence missing, or Approval pending."
          },
          "completedExampleRow": {
            "Term or field": "Qualified opportunity",
            "Definition": "Shared buyer-evidence definition is not supplied because sales and customer-success use conflicting criteria.",
            "Allowed values or rule": "Learner proposal: require an authorized definition with observable buyer evidence and explicit exit criteria before reclassification.",
            "Evidence source": "M04-I03 (F04, conflicting)",
            "Owner": "CRM process owner and data steward",
            "Change trigger": "Authorized resolution of the cross-team definition conflict.",
            "Status": "Conflict open — stage use requires review"
          },
          "completedKnownGapRow": {
            "Term or field": "Record-level reclassification evidence",
            "Definition": "Original stage, dated buyer evidence, decision-role contact, owner, and proposed stage for one opportunity.",
            "Allowed values or rule": "Use Unknown and Pending when an individual record is not supplied; never infer from aggregate percentages.",
            "Evidence source": "M04-I01, M04-I02 (aggregate facts only)",
            "Owner": "CRM process owner and data steward",
            "Change trigger": "Individual source record and approved stage definition become available.",
            "Status": "Gap open — no production reclassification"
          },
          "supportingArtifacts": [
            {
              "artifactId": "M04-A03",
              "artifactTitle": "Twenty-row reclassification worksheet",
              "criterionIds": [
                "M04-EC02",
                "M04-EC03",
                "M04-EC04"
              ],
              "exampleType": "completed-supporting-artifact-row",
              "rationale": "This completed training row demonstrates the declared criterion route for Twenty-row reclassification worksheet without claiming live execution or approval.",
              "finalColumns": [
                "Record ID",
                "Original stage",
                "Observed buyer evidence",
                "Proposed stage",
                "Exit criterion",
                "Confidence",
                "Source ID",
                "Owner/reviewer",
                "Status"
              ],
              "row": {
                "Record ID": "RC-01",
                "Original stage": "Not supplied at record level",
                "Observed buyer evidence": "Not supplied; aggregate data report missing dated next steps and decision-role contacts.",
                "Proposed stage": "Pending — no record-level reclassification proposed",
                "Exit criterion": "Authorized shared stage definition plus dated next step and decision-role contact evidence for this record.",
                "Confidence": "Unknown at record level; aggregate conditions are confirmed and stage definition is conflicting.",
                "Source ID": "M04-I01 (F02), M04-I02 (F03), M04-I03 (F04)",
                "Owner/reviewer": "CRM process owner and data steward",
                "Status": "Completed training example — source record not supplied; no production change"
              },
              "status": "normalized"
            }
          ],
          "decisionRule": {
            "stop": "Stop reclassification when the shared stage definition, original value, dated buyer evidence, decision-role contact, owner, or reviewer is missing.",
            "go": "Go to bounded reviewer analysis when the complete record-level evidence and authorized stage rule are present.",
            "escalate": "Escalate definition conflicts and production reclassification to the CRM process owner and data steward."
          },
          "completionTest": [
            "Stage definitions use observable buyer evidence and preserve the cross-team conflict until authorized resolution.",
            "All 20 RC rows retain original-value and evidence fields, with missing records marked not supplied.",
            "No aggregate percentage is converted into an individual reclassification result."
          ],
          "criterionSatisfiability": [
            {
              "criterionId": "M04-EC01",
              "criterionOrdinal": 1,
              "criterionText": "Ties each proposed stage to buyer evidence rather than seller confidence",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M04-EC02",
              "criterionOrdinal": 2,
              "criterionText": "Shows how original values and reclassification reasons would be preserved, without claiming that twenty individual records were supplied or reviewed",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M04-EC03",
              "criterionOrdinal": 3,
              "criterionText": "Identifies which classifications require the missing record-level fields before a decision can be made",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M04-EC04",
              "criterionOrdinal": 4,
              "criterionText": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            }
          ]
        }
      }
    },
    {
      "module": 5,
      "title": "Repair reporting",
      "prompt": "Recalculate decision metrics using transparent populations, periods, and exclusions.",
      "deliverable": "A dashboard specification and exception-report mockup.",
      "evidenceCriteria": [
        "Defines win-rate numerator, denominator, period, and inclusion rules",
        "Surfaces ownerless, stalled, incomplete, and automation-failure queues",
        "Names source, refresh time, owner, threshold, and action for each measure",
        "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
      ],
      "taskMode": "bounded-case-starter",
      "providedInputs": [
        {
          "id": "M05-I01",
          "kind": "case-fact",
          "sourceFactIds": [
            "F01"
          ],
          "confidence": "confirmed",
          "record": "The CRM contains 8,420 companies, 11,780 contacts, and 1,360 open opportunities."
        },
        {
          "id": "M05-I02",
          "kind": "case-fact",
          "sourceFactIds": [
            "F02"
          ],
          "confidence": "confirmed",
          "record": "Twenty-three percent of sampled open opportunities lack a dated next step."
        },
        {
          "id": "M05-I03",
          "kind": "case-fact",
          "sourceFactIds": [
            "F03"
          ],
          "confidence": "confirmed",
          "record": "Eighteen percent lack a decision-role contact and eleven percent have former-employee owners."
        },
        {
          "id": "M05-I04",
          "kind": "case-fact",
          "sourceFactIds": [
            "F10"
          ],
          "confidence": "confirmed",
          "record": "The reported 72 percent win rate excludes older closed-lost opportunities."
        },
        {
          "id": "M05-I05",
          "kind": "case-fact",
          "sourceFactIds": [
            "F11"
          ],
          "confidence": "confirmed",
          "record": "Three integrations have departed owners and one export token is nineteen months old."
        },
        {
          "id": "M05-B01",
          "kind": "case-brief",
          "sourceFactIds": [],
          "sourceRecordIds": [
            "CB01"
          ],
          "confidence": "mixed",
          "record": "Use CB01, the full versioned case brief printed once at the start of this packet, as a citable narrative source for details not normalized into F01–F12. Preserve its uncertainty language and do not treat narrative detail as approval, complete operational records, or professional judgment."
        },
        {
          "id": "M05-S01",
          "kind": "assignment-scope",
          "sourceFactIds": [
            "F01",
            "F02",
            "F03",
            "F10",
            "F11"
          ],
          "confidence": "instruction",
          "record": "Build a starter version of “A dashboard specification and exception-report mockup.” from the listed case facts. Treat requested structures, controls, questions, calculations, and templates as learner-designed proposals. Where an operational record or result is absent, add a gap entry naming the missing evidence and authorized owner instead of fabricating it."
        }
      ],
      "completionBoundary": "Complete a bounded starter and gap analysis using only CB01, F01, F02, F03, F10, F11, and the assignment-scope record below. Populate supported fields, label every unavailable field “not supplied,” and cite the input ID for each material statement. You may design a proposed template, control, question, or decision rule, but must label it as a learner proposal rather than observed case evidence. Do not contact people, access live systems, run tests, sign records, claim approval, or invent names, dates, quotations, transactions, results, or source documents.",
      "starterSchema": {
        "id": "M05-W02",
        "title": "Repair reporting guided artifact-build sheet",
        "columns": [
          "Component ID",
          "Requested artifact component",
          "Evidence criterion to test",
          "Supplied input IDs",
          "Supported entry",
          "Not-supplied gap or learner proposal",
          "Authorized owner or reviewer",
          "Status"
        ],
        "rows": [
          {
            "id": "M05-A01",
            "component": "Dashboard specification",
            "criterion": "Defines win-rate numerator, denominator, period, and inclusion rules | Names source, refresh time, owner, threshold, and action for each measure | Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
            "suppliedInputIds": [
              "M05-I01",
              "M05-I03",
              "M05-I04"
            ]
          },
          {
            "id": "M05-A02",
            "component": "Exception-report mockup",
            "criterion": "Surfaces ownerless, stalled, incomplete, and automation-failure queues",
            "suppliedInputIds": [
              "M05-I02",
              "M05-I05"
            ]
          }
        ]
      },
      "workbookPlan": {
        "id": "M05-WP01",
        "version": "2026.09.01-workbook-plan-2",
        "contextInputIds": [
          "M05-B01",
          "M05-S01"
        ],
        "criterionCatalog": [
          {
            "id": "M05-EC01",
            "text": "Defines win-rate numerator, denominator, period, and inclusion rules"
          },
          {
            "id": "M05-EC02",
            "text": "Surfaces ownerless, stalled, incomplete, and automation-failure queues"
          },
          {
            "id": "M05-EC03",
            "text": "Names source, refresh time, owner, threshold, and action for each measure"
          },
          {
            "id": "M05-EC04",
            "text": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
          }
        ],
        "artifacts": [
          {
            "id": "M05-A01",
            "title": "Dashboard specification",
            "type": "template",
            "purpose": "Produce a bounded, reviewable dashboard specification from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Section or field",
              "Purpose",
              "Supported entry",
              "Source input ID",
              "Gap or learner proposal",
              "Owner or reviewer",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "05A01R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M05:A01",
            "criterionIds": [
              "M05-EC01",
              "M05-EC03",
              "M05-EC04"
            ],
            "inputIds": [
              "M05-I01",
              "M05-I03",
              "M05-I04"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M05-I01, M05-I03, M05-I04).",
              "Every mapped rubric criterion (M05-EC01, M05-EC03, M05-EC04) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M05-A02",
            "title": "Exception-report mockup",
            "type": "register",
            "purpose": "Produce a bounded, reviewable exception-report mockup from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Entry ID",
              "Issue or event",
              "Evidence and source ID",
              "Risk or impact",
              "Owner",
              "Bounded next step",
              "Review point",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "05A02R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M05:A02",
            "criterionIds": [
              "M05-EC02"
            ],
            "inputIds": [
              "M05-I02",
              "M05-I05"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M05-I02, M05-I05).",
              "Every mapped rubric criterion (M05-EC02) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          }
        ],
        "quantityContracts": [
          {
            "artifactId": "M05-A01",
            "rowCount": 2,
            "rowPrefix": "05A01R"
          },
          {
            "artifactId": "M05-A02",
            "rowCount": 2,
            "rowPrefix": "05A02R"
          }
        ],
        "workedStarter": {
          "artifactId": "M05-A01",
          "criterionId": "M05-EC01",
          "inputId": "M05-I01",
          "supportedValue": "The CRM contains 8,420 companies, 11,780 contacts, and 1,360 open opportunities.",
          "application": "Populate one example field from the supplied condition and mark all unavailable operational fields “not supplied.” Cite M05-I01 (F01) in the row.",
          "boundary": "This is one evidence-backed starter entry, not a completed dashboard specification or an operational result."
        },
        "knownGap": {
          "artifactId": "M05-A01",
          "criterionId": "M05-EC01",
          "missingEvidence": "The packet does not supply the complete live records, approvals, or execution results needed to finish the dashboard specification.",
          "whyItMatters": "Without that evidence, the learner cannot truthfully satisfy M05-EC01 or represent this artifact as complete.",
          "ownerRole": "CRM process owner and data steward",
          "boundedNextStep": "Record the missing evidence in M05-A01, name the authorized reviewer, and leave the outcome pending; do not obtain or simulate the live record in this exercise.",
          "status": "Open — not supplied"
        },
        "decisionPrompt": {
          "inputId": "M05-I05",
          "prompt": "What bounded decision can the CRM process owner and data steward make from M05-I05, and what must remain pending until the missing evidence or approval is supplied?"
        },
        "instructionalGuide": {
          "version": "2026.09.01-academy-workbook-instruction-bank-1",
          "principalArtifactId": "M05-A01",
          "prerequisiteCheck": [
            "Confirm CRM populations, missing next steps, missing decision roles, former-employee owners, biased win-rate denominator, and integration-owner/token issues.",
            "Define metric numerator, denominator, period, source, refresh, owner, threshold, and action before displaying a result.",
            "No refreshed dashboard, corrected win rate, queue contents, or approvals are supplied."
          ],
          "operatingSteps": [
            "List the management decisions the dashboard must support before choosing metrics or charts.",
            "Define win-rate numerator, complete denominator, period, inclusion, exclusion, and refresh rules.",
            "Create separate exception views for missing next steps, decision roles, departed owners, stalled work, and automation or integration failures.",
            "Use aggregate supplied percentages only and do not infer record identities or a corrected win rate.",
            "Assign metric and queue owners plus provisional thresholds and required actions.",
            "Route denominator policy, privacy, integration, and production-report changes to authorized owners.",
            "Quality-check every dashboard field for source, refresh, definition, owner, action, limitation, and no misleading percentage."
          ],
          "fieldGuidance": {
            "Section or field": "Name one dashboard metric, exception queue, limitation, or refresh field.",
            "Purpose": "State the management decision or control the field supports.",
            "Supported entry": "Record the supplied aggregate fact without inventing recalculated results.",
            "Source input ID": "Cite the exact M05-Ixx evidence.",
            "Gap or learner proposal": "State missing numerator, denominator, period, refresh, owner, threshold, action, or record detail.",
            "Owner or reviewer": "Use CRM process owner and data steward, adding system owner where needed.",
            "Status": "Use Fact supplied, Metric invalid, Definition proposed, Queue design pending, or Approval pending."
          },
          "completedExampleRow": {
            "Section or field": "Win rate",
            "Purpose": "Support funnel and forecast review using a complete closed-opportunity population.",
            "Supported entry": "Reported win rate is 72%, but older closed-lost opportunities are excluded.",
            "Source input ID": "M05-I04 (F10, confirmed)",
            "Gap or learner proposal": "Complete numerator, denominator, period, inclusion rules, corrected result, refresh time, and approval: not supplied.",
            "Owner or reviewer": "CRM process owner and data steward",
            "Status": "Metric invalid for decision use"
          },
          "completedKnownGapRow": {
            "Section or field": "Ownerless integration exception queue",
            "Purpose": "Surface integrations requiring ownership and credential review.",
            "Supported entry": "Three integrations have departed owners and one export token is nineteen months old.",
            "Source input ID": "M05-I05 (F11, confirmed)",
            "Gap or learner proposal": "Integration identities, new owners, credential policy, token action, review time, and result: not supplied.",
            "Owner or reviewer": "Authorized system owner and data steward",
            "Status": "Exception queue required — review pending"
          },
          "supportingArtifacts": [],
          "decisionRule": {
            "stop": "Stop using a dashboard measure when numerator, denominator, period, inclusion, source, refresh, owner, threshold, or action is absent or biased.",
            "go": "Go to management review only with defined measures and visible exception queues.",
            "escalate": "Escalate production metric definitions, integration ownership, credentials, privacy, and forecast use to authorized owners."
          },
          "completionTest": [
            "Every metric defines numerator, denominator, period, inclusion, source, refresh, owner, threshold, and action.",
            "Ownerless, incomplete, stalled, and automation or integration exceptions remain visible.",
            "The 72% figure is not presented as valid or silently recalculated."
          ],
          "criterionSatisfiability": [
            {
              "criterionId": "M05-EC01",
              "criterionOrdinal": 1,
              "criterionText": "Defines win-rate numerator, denominator, period, and inclusion rules",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M05-EC02",
              "criterionOrdinal": 2,
              "criterionText": "Surfaces ownerless, stalled, incomplete, and automation-failure queues",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M05-EC03",
              "criterionOrdinal": 3,
              "criterionText": "Names source, refresh time, owner, threshold, and action for each measure",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M05-EC04",
              "criterionOrdinal": 4,
              "criterionText": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            }
          ]
        }
      }
    },
    {
      "module": 6,
      "title": "Stage the production change",
      "prompt": "Plan deduplication, import, permissions, integration ownership, rollback, and approval.",
      "deliverable": "A change plan with test sample, permission matrix, backup, rollback, and acceptance record.",
      "evidenceCriteria": [
        "Uses a sandbox or bounded sample before production",
        "Applies least privilege and reassigns integration ownership",
        "Preserves audit history and rejects uncontrolled overwrite",
        "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
      ],
      "taskMode": "bounded-case-starter",
      "providedInputs": [
        {
          "id": "M06-I01",
          "kind": "case-fact",
          "sourceFactIds": [
            "F05"
          ],
          "confidence": "confirmed",
          "record": "The pending import contains 2,100 contacts and approximately 430 likely duplicates."
        },
        {
          "id": "M06-I02",
          "kind": "case-fact",
          "sourceFactIds": [
            "F06"
          ],
          "confidence": "confirmed",
          "record": "Two hundred eighty import records lack documented marketing basis."
        },
        {
          "id": "M06-I03",
          "kind": "case-fact",
          "sourceFactIds": [
            "F07"
          ],
          "confidence": "confirmed",
          "record": "Seventeen source rows contain personal notes in an unrestricted free-text field."
        },
        {
          "id": "M06-I04",
          "kind": "case-fact",
          "sourceFactIds": [
            "F08"
          ],
          "confidence": "confirmed",
          "record": "Country values use nine inconsistent formats."
        },
        {
          "id": "M06-I05",
          "kind": "case-fact",
          "sourceFactIds": [
            "F09"
          ],
          "confidence": "confirmed",
          "record": "The follow-up automation has no reply, opt-out, disqualification, or opportunity stop condition."
        },
        {
          "id": "M06-I06",
          "kind": "case-fact",
          "sourceFactIds": [
            "F11"
          ],
          "confidence": "confirmed",
          "record": "Three integrations have departed owners and one export token is nineteen months old."
        },
        {
          "id": "M06-I07",
          "kind": "case-fact",
          "sourceFactIds": [
            "F12"
          ],
          "confidence": "provisional",
          "record": "Leadership proposes a full overwrite to produce a clean forecast by Friday."
        },
        {
          "id": "M06-B01",
          "kind": "case-brief",
          "sourceFactIds": [],
          "sourceRecordIds": [
            "CB01"
          ],
          "confidence": "mixed",
          "record": "Use CB01, the full versioned case brief printed once at the start of this packet, as a citable narrative source for details not normalized into F01–F12. Preserve its uncertainty language and do not treat narrative detail as approval, complete operational records, or professional judgment."
        },
        {
          "id": "M06-S01",
          "kind": "assignment-scope",
          "sourceFactIds": [
            "F05",
            "F06",
            "F07",
            "F08",
            "F09",
            "F11",
            "F12"
          ],
          "confidence": "instruction",
          "record": "Build a starter version of “A change plan with test sample, permission matrix, backup, rollback, and acceptance record.” from the listed case facts. Treat requested structures, controls, questions, calculations, and templates as learner-designed proposals. Where an operational record or result is absent, add a gap entry naming the missing evidence and authorized owner instead of fabricating it."
        }
      ],
      "completionBoundary": "Complete a bounded starter and gap analysis using only CB01, F05, F06, F07, F08, F09, F11, F12, and the assignment-scope record below. Populate supported fields, label every unavailable field “not supplied,” and cite the input ID for each material statement. You may design a proposed template, control, question, or decision rule, but must label it as a learner proposal rather than observed case evidence. Do not contact people, access live systems, run tests, sign records, claim approval, or invent names, dates, quotations, transactions, results, or source documents.",
      "starterSchema": {
        "id": "M06-W02",
        "title": "Stage the production change guided artifact-build sheet",
        "columns": [
          "Component ID",
          "Requested artifact component",
          "Evidence criterion to test",
          "Supplied input IDs",
          "Supported entry",
          "Not-supplied gap or learner proposal",
          "Authorized owner or reviewer",
          "Status"
        ],
        "rows": [
          {
            "id": "M06-A01",
            "component": "CRM change plan",
            "criterion": "Uses a sandbox or bounded sample before production",
            "suppliedInputIds": [
              "M06-I01",
              "M06-I05",
              "M06-I06"
            ]
          },
          {
            "id": "M06-A02",
            "component": "Permission matrix",
            "criterion": "Applies least privilege and reassigns integration ownership",
            "suppliedInputIds": [
              "M06-I02"
            ]
          },
          {
            "id": "M06-A03",
            "component": "Backup and rollback plan",
            "criterion": "Preserves audit history and rejects uncontrolled overwrite",
            "suppliedInputIds": [
              "M06-I03",
              "M06-I07"
            ]
          },
          {
            "id": "M06-A04",
            "component": "Change acceptance record",
            "criterion": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
            "suppliedInputIds": [
              "M06-I02",
              "M06-I04"
            ]
          }
        ]
      },
      "workbookPlan": {
        "id": "M06-WP01",
        "version": "2026.09.01-workbook-plan-2",
        "contextInputIds": [
          "M06-B01",
          "M06-S01"
        ],
        "criterionCatalog": [
          {
            "id": "M06-EC01",
            "text": "Uses a sandbox or bounded sample before production"
          },
          {
            "id": "M06-EC02",
            "text": "Applies least privilege and reassigns integration ownership"
          },
          {
            "id": "M06-EC03",
            "text": "Preserves audit history and rejects uncontrolled overwrite"
          },
          {
            "id": "M06-EC04",
            "text": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them"
          }
        ],
        "artifacts": [
          {
            "id": "M06-A01",
            "title": "CRM change plan",
            "type": "plan",
            "purpose": "Produce a bounded, reviewable crm change plan from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Step or milestone",
              "Trigger or date",
              "Evidence and source ID",
              "Owner",
              "Gate or threshold",
              "Dependency or gap",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "06A01R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M06:A01",
            "criterionIds": [
              "M06-EC01"
            ],
            "inputIds": [
              "M06-I01",
              "M06-I05",
              "M06-I06"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M06-I01, M06-I05, M06-I06).",
              "Every mapped rubric criterion (M06-EC01) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M06-A02",
            "title": "Permission matrix",
            "type": "matrix",
            "purpose": "Produce a bounded, reviewable permission matrix from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Item ID",
              "Supported evidence",
              "Source input ID",
              "Criterion or required state",
              "Gap or learner proposal",
              "Owner or reviewer",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "06A02R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M06:A02",
            "criterionIds": [
              "M06-EC02"
            ],
            "inputIds": [
              "M06-I02"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M06-I02).",
              "Every mapped rubric criterion (M06-EC02) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M06-A03",
            "title": "Backup and rollback plan",
            "type": "plan",
            "purpose": "Produce a bounded, reviewable backup and rollback plan from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Step or milestone",
              "Trigger or date",
              "Evidence and source ID",
              "Owner",
              "Gate or threshold",
              "Dependency or gap",
              "Status"
            ],
            "rowPlan": {
              "count": 2,
              "prefix": "06A03R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M06:A03",
            "criterionIds": [
              "M06-EC03"
            ],
            "inputIds": [
              "M06-I03",
              "M06-I07"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M06-I03, M06-I07).",
              "Every mapped rubric criterion (M06-EC03) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          },
          {
            "id": "M06-A04",
            "title": "Change acceptance record",
            "type": "decision",
            "purpose": "Produce a bounded, reviewable change acceptance record from cited packet evidence while exposing unsupported fields and required approvals.",
            "instructions": "Use only the scoped case-fact inputs below. Cite an input ID for each supported statement; label proposed structures “learner proposal” and unavailable evidence “not supplied.”",
            "columns": [
              "Decision",
              "Evidence for",
              "Evidence against",
              "Options and tradeoffs",
              "Decision owner",
              "Required approval",
              "Status"
            ],
            "rowPlan": {
              "count": 1,
              "prefix": "06A04R",
              "blankState": "Not supplied / learner to complete"
            },
            "reviewedMappingId": "crm-operations:M06:A04",
            "criterionIds": [
              "M06-EC04"
            ],
            "inputIds": [
              "M06-I02",
              "M06-I04"
            ],
            "completionChecks": [
              "Every supported entry identifies and cites at least one applicable scoped case-fact input (M06-I02, M06-I04).",
              "Every mapped rubric criterion (M06-EC04) is addressed in the artifact or a named evidence gap.",
              "Unsupported fields remain “not supplied” or are explicitly labeled as a learner proposal.",
              "The CRM process owner and data steward is named for decisions or review; no approval or execution is implied."
            ]
          }
        ],
        "quantityContracts": [
          {
            "artifactId": "M06-A01",
            "rowCount": 2,
            "rowPrefix": "06A01R"
          },
          {
            "artifactId": "M06-A02",
            "rowCount": 2,
            "rowPrefix": "06A02R"
          },
          {
            "artifactId": "M06-A03",
            "rowCount": 2,
            "rowPrefix": "06A03R"
          }
        ],
        "workedStarter": {
          "artifactId": "M06-A01",
          "criterionId": "M06-EC01",
          "inputId": "M06-I01",
          "supportedValue": "The pending import contains 2,100 contacts and approximately 430 likely duplicates.",
          "application": "Use the supplied condition to define one bounded step and a review gate; leave dates and execution results pending unless supplied. Cite M06-I01 (F05) in the row.",
          "boundary": "This is one evidence-backed starter entry, not a completed crm change plan or an operational result."
        },
        "knownGap": {
          "artifactId": "M06-A01",
          "criterionId": "M06-EC01",
          "missingEvidence": "The packet does not supply the complete live records, approvals, or execution results needed to finish the crm change plan.",
          "whyItMatters": "Without that evidence, the learner cannot truthfully satisfy M06-EC01 or represent this artifact as complete.",
          "ownerRole": "CRM process owner and data steward",
          "boundedNextStep": "Record the missing evidence in M06-A01, name the authorized reviewer, and leave the outcome pending; do not obtain or simulate the live record in this exercise.",
          "status": "Open — not supplied"
        },
        "decisionPrompt": {
          "inputId": "M06-I01",
          "prompt": "What bounded decision can the CRM process owner and data steward make from M06-I01, and what must remain pending until the missing evidence or approval is supplied?"
        },
        "instructionalGuide": {
          "version": "2026.09.01-academy-workbook-instruction-bank-1",
          "principalArtifactId": "M06-A01",
          "prerequisiteCheck": [
            "Confirm import size, duplicate estimate, marketing-basis gaps, unrestricted notes, country formats, missing automation stops, departed owners, aged token, and provisional overwrite proposal.",
            "Define a bounded sandbox sample and rollback evidence before any production change.",
            "No backup, sandbox run, import, deletion, token rotation, overwrite, rollback test, or acceptance is supplied."
          ],
          "operatingSteps": [
            "Define the change objective, in-scope records, excluded records, authoritative sources, owners, and approval boundary.",
            "Capture a prechange backup and rollback design as required future evidence, not a completed record.",
            "Quarantine likely duplicates, missing marketing basis, and personal notes before any bounded test.",
            "Normalize country values and test automation stops only in a sandbox or approved bounded sample.",
            "Reassign integration ownership and review the aged export token under least privilege before dependency use.",
            "Reject uncontrolled overwrite and preserve original values, audit history, change log, and reversible mapping.",
            "Define acceptance evidence and authorized disposition, then quality-check scope, security, privacy, counts, rollback, and no implied production execution."
          ],
          "fieldGuidance": {
            "Step or milestone": "Name one controlled change stage, such as backup design, quarantine, sandbox test, review, rollout, or rollback.",
            "Trigger or date": "State the entry evidence or mark schedule not supplied.",
            "Evidence and source ID": "Cite the supplied condition that creates the control.",
            "Owner": "Use CRM process owner, data steward, system owner, or privacy reviewer as appropriate.",
            "Gate or threshold": "Define observable evidence required to advance or roll back.",
            "Dependency or gap": "Record missing source, policy, mapping, backup, test, approval, or credential evidence.",
            "Status": "Use Proposed, Quarantine required, Sandbox pending, Production blocked, or Rollback evidence pending."
          },
          "completedExampleRow": {
            "Step or milestone": "Quarantine likely duplicate contacts before sandbox import",
            "Trigger or date": "Before any import; date not supplied.",
            "Evidence and source ID": "M06-I01 (F05, confirmed: 2,100 contacts and approximately 430 likely duplicates)",
            "Owner": "CRM process owner and data steward",
            "Gate or threshold": "No likely duplicate enters the test set until match evidence, survivor rule, and reviewer disposition are documented.",
            "Dependency or gap": "Record-level candidates, matching rule, threshold, survivor policy, test results, and approval: not supplied.",
            "Status": "Quarantine design — no import performed"
          },
          "completedKnownGapRow": {
            "Step or milestone": "Backup and rollback readiness",
            "Trigger or date": "Before sandbox or production data change.",
            "Evidence and source ID": "M06-I07 (F12, provisional overwrite proposal)",
            "Owner": "Authorized system owner and data steward",
            "Gate or threshold": "Verified backup, restoration test, field mapping, audit-history preservation, and rollback approval required.",
            "Dependency or gap": "Backup, restore test, rollback timing, owner, and acceptance evidence: not supplied.",
            "Status": "Gap open — overwrite prohibited"
          },
          "supportingArtifacts": [],
          "decisionRule": {
            "stop": "Stop production change when backup, rollback, privacy, consent, duplicate, ownership, stop-rule, or acceptance evidence is missing.",
            "go": "Go to a bounded sandbox sample when scope, quarantine, source mapping, controls, evidence capture, and rollback are defined.",
            "escalate": "Escalate production rollout, deletion, credential, privacy, integration, and acceptance decisions to authorized owners."
          },
          "completionTest": [
            "The change plan begins with bounded scope and preserves history and rollback.",
            "Duplicates, marketing-basis gaps, personal notes, country formats, stops, owners, and credentials receive explicit controls.",
            "No production change, overwrite, backup, test, or acceptance result is fabricated."
          ],
          "criterionSatisfiability": [
            {
              "criterionId": "M06-EC01",
              "criterionOrdinal": 1,
              "criterionText": "Uses a sandbox or bounded sample before production",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M06-EC02",
              "criterionOrdinal": 2,
              "criterionText": "Applies least privilege and reassigns integration ownership",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M06-EC03",
              "criterionOrdinal": 3,
              "criterionText": "Preserves audit history and rejects uncontrolled overwrite",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            },
            {
              "criterionId": "M06-EC04",
              "criterionOrdinal": 4,
              "criterionText": "Cites the supplied input IDs for material statements and marks omitted operational records or results “not supplied” rather than fabricating them",
              "currentSatisfiable": true,
              "afterProposedRepairsSatisfiable": true,
              "finding": "Satisfiable from the module’s scoped inputs when unavailable operational evidence is explicitly recorded as not supplied and review remains pending."
            }
          ]
        }
      }
    }
  ],
  "ambiguities": [
    {
      "issue": "The two teams use incompatible evidence for the same stage, and neither definition is formally approved.",
      "judgmentRequired": "Choose an interim reporting treatment and identify the authorized owner and test needed for a durable definition.",
      "doNotAssume": "Do not select the definition that produces the more favorable forecast."
    },
    {
      "issue": "Some import contacts may have a valid operational purpose but no documented marketing basis.",
      "judgmentRequired": "Separate storage, service, and marketing uses and route lawful-basis and retention questions to qualified owners.",
      "doNotAssume": "Do not equate possession of a business contact with permission for automated marketing."
    }
  ],
  "debrief": {
    "principle": "There is no single universal CRM configuration. Strong work makes lifecycle evidence, data purpose, access, exceptions, and rollback explicit for this operating context.",
    "moduleGuides": [
      {
        "module": 1,
        "reasoning": "Architecture should follow the approved process and preserve disagreements for decision. A diagram that hides conflicting stage meanings will reproduce the same reporting problem.",
        "strongEvidence": [
          "System and lifecycle map",
          "Definition decision record"
        ]
      },
      {
        "module": 2,
        "reasoning": "Required fields should become available when the process genuinely knows them. Quality improvement cannot be achieved by guessing values or importing unnecessary notes.",
        "strongEvidence": [
          "Field-level source and purpose",
          "Exception queue with ownership"
        ]
      },
      {
        "module": 3,
        "reasoning": "Automation needs explicit state transitions and failure handling. The right cadence can differ, but every design must honor suppression and stop when its premise is no longer true.",
        "strongEvidence": [
          "State-aware stop rules",
          "Negative and exception test cases"
        ]
      },
      {
        "module": 4,
        "reasoning": "Stage criteria should describe observable buyer progress. Historical reclassification must remain traceable so improved definitions do not rewrite past performance invisibly.",
        "strongEvidence": [
          "Entry and exit evidence",
          "Reclassification audit log"
        ]
      },
      {
        "module": 5,
        "reasoning": "The win-rate discrepancy is a definition problem before it is a performance problem. A useful dashboard exposes population and exclusions and connects exceptions to action.",
        "strongEvidence": [
          "Metric dictionary",
          "Actionable exception definitions"
        ]
      },
      {
        "module": 6,
        "reasoning": "A bounded test and rollback are more credible than a Friday overwrite. Permission and integration reviews belong in the same change because data quality and security are connected.",
        "strongEvidence": [
          "Test-and-acceptance plan",
          "Least-privilege matrix and rollback proof"
        ]
      }
    ],
    "specialistEscalations": [
      {
        "trigger": "Consent, lawful basis, retention, cross-border data, access requests, or sensitive-note handling",
        "specialist": "Qualified privacy or legal owner and the organization's data-protection lead where applicable",
        "boundary": "The learner configures approved controls but does not determine legal compliance alone."
      },
      {
        "trigger": "Integration security, token exposure, bulk deletion, or production restoration",
        "specialist": "Authorized CRM administrator, security owner, and backup or platform specialist",
        "boundary": "A training change plan does not authorize production access or destructive changes."
      }
    ]
  },
  "caseBriefId": "CB01"
}
