I’m not sure exactly what you did, but here’s some code that reproduces the problem:
[code]An item is a kind of thing. An item can be big, medium, or little. An item can be heavy, moderate, or light. An item can be notable, so-so, or insignificant.
The description of a thing is usually “[if the item described is notable]This is very important![otherwise if the item described is insignificant]Eh, whatever.[otherwise]Possibly intriguing.”
Lab is a room. A rock is in the Lab. A gewgaw is an insignificant item in the Lab.[/code]
“x gewgaw” yields “Eh, whatever.” “x rock” gives you the run-time error.
What’s going on here: When you say “An item can be big, medium, or little” you’re creating a property that items can have. If you don’t give it a name (like “An item can be big, medium, or little (this is its size property)”), Inform calls it “item condition.” If you create three of these, Inform calls them “item condition,” “item condition 2,” and “item condition 3.” See §4.10 of Writing with Inform.
Now if you try to test one of these properties on a thing that’s not an item, Inform gets unhappy. In this case, when we “x rock,” when Inform goes to print the description of the rock it sees a text substitution that asks it to check whether the rock is notable, which is a possible value of the item condition 3 property. But the rock isn’t an item, so it doesn’t have an item condition 3 property! So Inform complains.
So I suspect what happened is this: You defined “item” as a kind and you defined some properties that apply to items. Then somewhere in your examining code you tried to use one of these properties regardless of whether the noun is an item. Either rewrite that rule so it applies only to items, or make sure that property applies to all things.