diff --git a/GEMINI.md b/GEMINI.md index 0ad6189..3d8a9cd 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -166,6 +166,17 @@ It evaluates as an **Independent Declarative Rules Engine**. Every `Case` block ### Format Leniency for Empty Strings To simplify frontend form validation, format validators specifically for `uuid`, `date-time`, and `email` explicitly allow empty strings (`""`), treating them as "present but unset". +### Filters & Conditions +In the Punc architecture, filters are automatically synthesized, strongly-typed JSON Schema boundaries that dictate the exact querying capabilities for any given entity or enum. They are completely generated for you; you never write them manually. + +* **Conditions**: A condition schema is the contract defining the mathematical operations allowed on a primitive field. For example, a `string.condition` allows `$eq`, `$ne`, `$gt`, `$gte`, `$lt`, `$lte`, `$of` (IN), and `$nof` (NOT IN). + * **Enum Conditions**: When JSPG synthesizes an enum, it dynamically generates an `.condition` (e.g., `address_kind.condition`). This strongly-typed condition perfectly mirrors the operations of a `string.condition`, but strictly limits the arrays and inputs of `$eq`, `$ne`, `$of`, and `$nof` to the exact variations defined by that Enum. This context ensures that UI generators know exactly when to render `