diff --git a/CLAUDE.md b/CLAUDE.md
index f4a793e..3feb9f4 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -498,6 +498,29 @@ Use `should_purge: false` to add/update properties without removing existing one
**Known ifctester quirk with boolean applicability filters:** ifctester may flag elements even when their boolean property value does not match the applicability filter (e.g., an `IsExternal=True` wall being matched by an `IsExternal=False` filter). Treat the reported failing elements as authoritative — add whatever the requirement asks for, regardless of whether the applicability logic seems correct.
+**`?` is NOT a wildcard in ifctester — it matches the literal string `"?"`.**
+To check that an attribute has any non-empty value, use an `xs:restriction` pattern instead:
+
+```xml
+
+
+ Name
+ ?
+
+
+
+
+ Name
+
+
+
+
+
+
+```
+
+This applies to `` requirements. The `xmlns:xs="http://www.w3.org/2001/XMLSchema"` namespace must be declared on the root `` element (it is in the standard IDS template).
+
### ifcopenshell.validate
Lower-level programmatic validation: