{
  "lab_id": "WACK-WML-LAB-0001",
  "name": "W/ML Practice Lab",
  "version": "0.1",
  "status": "practice-release",
  "authority": ["PRACTITIONER_METHOD", "AI_ASSISTED"],
  "purpose": "Exercise W/ML in three bounded working contexts before the draft language is treated as stable.",
  "boundary": "The lab describes observations and relationships. It does not determine PCI DSS applicability, produce an assessment result, assign risk, or decide compliance acceptance.",
  "contexts": [
    {
      "id": "architecture-annotation",
      "sequence": 1,
      "label": "Architecture annotation",
      "title": "Follow an omitted workload into dependent claims",
      "job": "Reconcile one service that appears in runtime evidence but not in the maintained inventory or diagram.",
      "duration": "12 minutes",
      "source_path": "examples/wml/architecture-annotation.wml",
      "download": "/tools/wml-v0.1-architecture-annotation.wml",
      "observations": [
        {
          "expression": "W/![INVENTORY]{asset=PAY-API-07}",
          "explanation": "Runtime evidence confirms that PAY-API-07 exists while the maintained inventory omits it."
        },
        {
          "expression": "W/?[SCOPE]{asset=PAY-API-07}",
          "explanation": "The omission creates a scope question; the notation does not answer it."
        },
        {
          "expression": "W/?[CONTROL]{requirement=1.2.4}",
          "explanation": "Control applicability and coverage must be evaluated against the actual architecture."
        },
        {
          "expression": "W/?[EVIDENCE]{source=NETWORK_DIAGRAM}",
          "explanation": "The diagram evidence can no longer be relied upon without reconciliation."
        }
      ],
      "cluster": "W/{INVENTORY → SCOPE → CONTROL → EVIDENCE}!",
      "working_questions": [
        "Which source first established that the workload exists?",
        "Which downstream claims depended on the incomplete inventory?",
        "What evidence would support a bounded W/✓ disposition?"
      ]
    },
    {
      "id": "owner-desk-review",
      "sequence": 2,
      "label": "Owner Desk review",
      "title": "Review the mismatch before reviewing the conclusion",
      "job": "Use an exact source record to separate a narrative mismatch from the later practitioner disposition.",
      "duration": "10 minutes",
      "source_path": "examples/wml/owner-desk-review.wml",
      "download": "/tools/wml-v0.1-owner-desk-review.wml",
      "observations": [
        {
          "expression": "W/?[DOCUMENTATION]{source=DATAFLOW_NARRATIVE}",
          "explanation": "The maintained narrative is suspected to omit an alternate processing path."
        },
        {
          "expression": "W/![EVIDENCE]{source=PRODUCTION_TRACE}",
          "explanation": "A dated production trace confirms that the alternate path was exercised."
        },
        {
          "expression": "W/![ASSUMPTION]{owner=PCI_PROGRAM}",
          "explanation": "The evidence supports a documentation assumption mismatch, not an automatic compliance conclusion."
        }
      ],
      "cluster": "W/{DOCUMENTATION × EVIDENCE → ASSUMPTION}!",
      "working_questions": [
        "Is the source record current, attributable, and digest-bound?",
        "What fact is confirmed and what conclusion remains for practitioner review?",
        "Would an edit invalidate an earlier review disposition?"
      ]
    },
    {
      "id": "facilitated-workshop",
      "sequence": 3,
      "label": "Facilitated workshop",
      "title": "Make the TPSP handoff explain itself",
      "job": "Give a cross-functional group one provider claim and ask them to expose the responsibility and evidence seams.",
      "duration": "25 minutes",
      "source_path": "examples/wml/facilitated-workshop.wml",
      "download": "/tools/wml-v0.1-facilitated-workshop.wml",
      "observations": [
        {
          "expression": "W/?[TPSP]{source=AOC}",
          "explanation": "The provider relationship is known, but the exact service and assessment coverage require verification."
        },
        {
          "expression": "W/?[RESPONSIBILITY]{owner=UNKNOWN}",
          "explanation": "The handoff cannot yet name who performs, operates, and proves each relevant activity."
        },
        {
          "expression": "W/?[EVIDENCE]{source=RESPONSIBILITY_MATRIX}",
          "explanation": "The evidence request remains unresolved until the claimed responsibility is mapped and supported."
        }
      ],
      "cluster": "W/{TPSP → RESPONSIBILITY × EVIDENCE}?",
      "working_questions": [
        "What exact service is being relied upon?",
        "Who performs, operates, and evidences each responsibility?",
        "Which customer-controlled infrastructure and duties remain?"
      ]
    }
  ],
  "commands": [
    {
      "command": "wack lint FILE.wml",
      "role": "Validate grammar and report bounded notices without judging PCI DSS compliance."
    },
    {
      "command": "wack explain FILE.wml",
      "role": "Translate each parsed expression into plain practitioner language."
    },
    {
      "command": "wack cluster FILE.wml",
      "role": "Report explicit clusters and connected object sets without producing a score or finding."
    }
  ]
}
