format_version: "0.1"
id: g_packaging_filler
name: "packaging filler interlock (graphical LD)"
domain: packaging
language: LD-graphical
source:
  origin: authored
  reference: "Authored for this suite to cover this domain with genuine control logic"
  license: CC-BY-4.0
properties_file: props.yaml
safety_intent: "The fill valve must never open on an already-full bottle."
validation_status: validated
variants:
  - file: clean.xml
    expected_verdict: true
    ground_truth:
      method: expert
  - file: bomb.xml
    expected_verdict: false
    violated_properties: [P1]
    ground_truth:
      method: fault-injection
      base_variant: clean.xml
      seeded_defect: "Added a maintenance-key OR-branch that bypasses the interlock when the operator asserts the secret maintenance combination."
      witness: "maint=1 together with the conflicting request drives the two outputs into the forbidden state."
features: [contacts, coils]
difficulty: medium
tags: [safety, interlock, security, llb, authored]
