From 7ce8239ed1384bcdfaf036873b51c67d0707c6af Mon Sep 17 00:00:00 2001 From: Griffen Fargo <3642037+gfargo@users.noreply.github.com> Date: Tue, 25 Aug 2026 09:59:00 -0400 Subject: [PATCH] docs: update SKILL.md now that #261/#262 (Vercel operator/action gaps) are fixed ne/not_contains/not_in and allow/block were documented as known-bugs to avoid on Vercel; both are now correctly handled (neg-flag composition and bypass/deny remapping respectively, per #279/#280). gt/ge/lt/le remain a genuine platform gap -- Vercel has no numeric-comparison operator at all -- but that's now a documented, safe drop-with-warning rather than a silent bug to avoid. --- skills/doorman/SKILL.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/skills/doorman/SKILL.md b/skills/doorman/SKILL.md index 70c3d34..3ea5369 100644 --- a/skills/doorman/SKILL.md +++ b/skills/doorman/SKILL.md @@ -129,9 +129,9 @@ Two different rule shapes, picked by whether the config has `provider`/`provider **Condition fields**: `ip`, `country`, `region`, `city`, `asn`, `path`, `host`, `method`, `header`, `query`, `cookie`, `user_agent`, `referer`, `scheme`, `port` — support varies by provider, see [references/cloudflare.md](references/cloudflare.md)/[references/fastly.md](references/fastly.md)/[references/gcp.md](references/gcp.md) -**Operators**: `eq`, `ne`, `contains`, `not_contains`, `starts_with`, `ends_with`, `matches`, `in`, `not_in`, `gt`, `ge`, `lt`, `le`, `exists`, `not_exists` — **on Vercel specifically, `ne`/`not_contains`/`not_in`/`gt`/`ge`/`lt`/`le` currently degrade silently to `eq` (known bug, [doorman#261](https://github.com/gfargo/doorman/issues/261)) — avoid them in a Vercel-targeted config until that's fixed.** +**Operators**: `eq`, `ne`, `contains`, `not_contains`, `starts_with`, `ends_with`, `matches`, `in`, `not_in`, `gt`, `ge`, `lt`, `le`, `exists`, `not_exists` — on Vercel, `gt`/`ge`/`lt`/`le` have no native equivalent and are dropped with a warning (Vercel has no numeric-comparison operator at all); every other operator, including `ne`/`not_contains`/`not_in`, is fully supported there. -**Actions**: `log`, `deny`, `challenge`, `bypass`, `rate_limit`, `redirect`, `allow`, `block` — **`allow`/`block` are invalid on Vercel specifically ([doorman#262](https://github.com/gfargo/doorman/issues/262)); use `bypass`/`deny` there instead.** +**Actions**: `log`, `deny`, `challenge`, `bypass`, `rate_limit`, `redirect`, `allow`, `block` — on Vercel, `allow`/`block` are automatically mapped to `bypass`/`deny` (its nearest native equivalents). ## When to Read Each Reference