{
  "version": 3,
  "schemaVersion": "ernesta-jev-household-fixture-v3",
  "evidenceClass": "synthetic_authored_specification",
  "label": "SYNTHETIC teaching fixture. Not a paper benchmark, Jev observation, or independent ground truth.",
  "goal": "Put a clean sponge in the container.",
  "initialState": {
    "sponge": {
      "location": "counter",
      "clean": false,
      "inHand": false,
      "inContainer": false
    },
    "container": {
      "location": "shelf",
      "open": true
    }
  },
  "plans": [
    {
      "id": "plan_A",
      "steps": [
        "pick_up",
        "put_item_in_container"
      ]
    },
    {
      "id": "plan_B",
      "steps": [
        "pick_up",
        "clean_item",
        "put_item_in_container"
      ]
    }
  ],
  "rules": {
    "actions": [
      {
        "action": "pick_up",
        "requires": [
          {
            "path": "sponge.inHand",
            "value": false
          }
        ],
        "effects": [
          {
            "path": "sponge.inHand",
            "value": true
          },
          {
            "path": "sponge.location",
            "value": "hand"
          }
        ]
      },
      {
        "action": "clean_item",
        "requires": [
          {
            "path": "sponge.inHand",
            "value": true
          },
          {
            "path": "sponge.clean",
            "value": false
          }
        ],
        "effects": [
          {
            "path": "sponge.clean",
            "value": true
          }
        ]
      },
      {
        "action": "put_item_in_container",
        "requires": [
          {
            "path": "sponge.inHand",
            "value": true
          }
        ],
        "effects": [
          {
            "path": "sponge.inContainer",
            "value": true
          },
          {
            "path": "sponge.location",
            "value": "container"
          },
          {
            "path": "sponge.inHand",
            "value": false
          }
        ]
      }
    ],
    "taskComplete": {
      "all": [
        {
          "path": "sponge.inContainer",
          "value": true
        },
        {
          "path": "sponge.clean",
          "value": true
        }
      ]
    }
  },
  "successfulPlanId": "plan_B",
  "expectedEvidence": "AUTHORED SPECIFICATION. Local PASS means simulator output matches these expected values; it does not measure Jev.",
  "expected": {
    "plan_A": {
      "taskComplete": false,
      "finalSponge": {
        "location": "container",
        "clean": false,
        "inHand": false,
        "inContainer": true
      },
      "reason": "The authored plan places the sponge while it remains dirty."
    },
    "plan_B": {
      "taskComplete": true,
      "finalSponge": {
        "location": "container",
        "clean": true,
        "inHand": false,
        "inContainer": true
      },
      "reason": "The authored plan cleans the sponge before placement."
    }
  }
}
