From 712db21826d72caddc4888b53b21052dff3ee16d Mon Sep 17 00:00:00 2001 From: Jesse Koldewijn Date: Thu, 12 Nov 2026 00:50:19 +0100 Subject: [PATCH 1/7] feat(site): read oxl landing example from synced docs bundle The oxl code sample ships in docs-.tar.gz via the docs-manifest assets glob (oxl#81), so the landing page always renders released, compiler-checked syntax instead of hand-maintained copy. Header updated to describe the sample (an http service). Blocked until an oxl release > 0.12.1 publishes a bundle containing examples/http-server.oxl. --- src/pages/index.astro | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/src/pages/index.astro b/src/pages/index.astro index 690d946..e32c8e6 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,4 +1,6 @@ --- +import { readFileSync } from "node:fs"; + import SiteShell from "@/layouts/SiteShell.astro"; import { CopyCommand } from "@/components/copy-command"; import { TerminalDemo } from "@/components/terminal-demo"; @@ -37,6 +39,13 @@ const products = [ const oxlVersion = docsLock.products.oxl.default; const oxAgentVersion = docsLock.products["ox-agent"].default; +// Landing code samples ship inside the product docs bundles — always +// released, compiled syntax, never hand-maintained site copy. +const oxlExample = readFileSync( + `src/content/docs/docs/oxl/${oxlVersion.replaceAll(".", "-")}/examples/http-server.oxl`, + "utf-8", +).trim(); + const forgePoints = [ "Repos, PRs & review, issues, orgs", "Actions CI on your own runners", @@ -336,26 +345,9 @@ const forgePoints = [
- the v0 surface + an http service
-
package main
-
-fn fail(b: bool) -> [int, err] {"{"}
-    if b {"{"} return 0, 1 {"}"}
-    return 42, nil
-{"}"}
-
-fn main() {"{"}
-    [v, err] = fail(false)
-    if err != nil {"{"} return {"}"}
-    println(itoa(v))
-
-    ch := mkchan()
-    scope {"{"}
-        spawn send(ch, 7)
-        println(itoa(recv(ch)))
-    {"}"}
-{"}"}
+
{oxlExample}
From ff2d8bf2582cc6381ea60276631479b28d5acc00 Mon Sep 17 00:00:00 2001 From: Jesse Koldewijn Date: Thu, 12 Nov 2026 02:17:01 +0100 Subject: [PATCH 2/7] =?UTF-8?q?ci:=20unify=20vendor=20alternation=20?= =?UTF-8?q?=E2=80=94=20multiword=20names=20now=20match=20on=20every=20rule?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/commit-check.sh | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/scripts/commit-check.sh b/scripts/commit-check.sh index 38e0f59..0bec0aa 100755 --- a/scripts/commit-check.sh +++ b/scripts/commit-check.sh @@ -36,32 +36,54 @@ warn() { printf '%s\n' "commit-check: warning: $*" >&2; } check_attribution() { _msg=$1 + # One vendor alternation shared by every pattern below — extend it + # here, never in a single rule, or the rules drift apart. + _VENDOR='claude|cursor|copilot|chatgpt|codex|gemini|devin|openai|anthropic|codeium|windsurf|github[[:space:]]+copilot|(claude|gemini)[[:space:]]+(opus|sonnet|pro|ultra)|swe-[0-9a-z.-]*' # AI co-author / bot trailers. A human Co-authored-by is fine; the # ban is on AI vendors, bots, and *-ai-* / [bot] addresses. - if printf '%s\n' "$_msg" | grep -iE '^[[:space:]]*co-?authored-by:' \ - | grep -qiE 'claude|cursor|copilot|chatgpt|codex|gemini|devin-ai|cognition\.ai|devin\.ai[[:space:]>]|openai|anthropic|codeium|windsurf|swe-|\[bot\]|[a-z0-9-]*bot@|ai-integration'; then + _co=$(printf '%s\n' "$_msg" | grep -iE '^[[:space:]]*co-?authored-by:' || :) + # Unambiguous machine signals anywhere in the trailer: [bot] tags, + # bot@ addresses, *-ai-integration logins, and AI-vendor domains. + if printf '%s\n' "$_co" | grep -qiE '\[bot\]|(^|[<.[:space:]_-])bot@|ai-integration|noreply@(anthropic|openai)\.|@(anthropic|openai|cognition|devin|codeium|windsurf|claude-code)\.(com|ai|dev|io)([[:space:]>]|$)'; then + err "AI Co-authored-by trailer" + # A bare vendor identity as the display name — "Co-authored-by: + # Claude " hits the domain rule above; this + # catches no-email and generic-mailbox forms. Human names that merely + # CONTAIN a vendor token ("Claude Martin ") stay + # legal per .cursor/rules/no-ai-attribution.mdc. + elif printf '%s\n' "$_co" | sed 's/^[^:]*:[[:space:]]*//; s/<.*//' \ + | grep -qiE '^('"$_VENDOR"')([[:space:]-]ai)?[[:space:]]*$'; then err "AI Co-authored-by trailer" fi # generator footers: "Generated with ", "Made with: X", # "Authored via X" — the tool names that sign output, plus the # trailer forms regardless of vendor. - if printf '%s\n' "$_msg" | grep -iqE '(generated|made|created|authored|written|produced)[[:space:]]+(with|by|via)[[:space:]]*\[?[[:space:]]*(claude|cursor|copilot|chatgpt|codex|gemini|devin|openai|anthropic|codeium|windsurf|swe-)'; then + # connector may carry a colon ("Created with: Cursor"); the vendor + # token needs a non-alnum tail so "generated by cursors" stays clean. + if printf '%s\n' "$_msg" | grep -iqE '(generated|made|created|authored|written|produced)[[:space:]]+(with|by|via):?[[:space:]]*\[?[[:space:]]*('"$_VENDOR"')([^a-z0-9]|$)'; then err "AI generator footer" fi if printf '%s\n' "$_msg" | grep -iqE '^[[:space:]]*(generated|made|authored)[- ](with|by|via)[[:space:]]*:'; then err "generator trailer" fi - # bot-emoji generator signature - if printf '%s\n' "$_msg" | grep -q '🤖'; then + # standalone "via " / "by " / "with " lines — the + # footer regex above needs a leading verb, so a lone via-line slips. + if printf '%s\n' "$_msg" | grep -qiE '^[[:space:]]*(via|by|using|with)[[:space:]]+('"$_VENDOR"')([[:space:]-]ai)?[[:space:].!]*$'; then + err "attribution via-line" + fi + # bot-emoji signature: a bare 🤖 line, or 🤖 sharing a line with + # attribution vocabulary — a mid-sentence robot mention stays clean. + _bot=$(printf '%s\n' "$_msg" | grep '🤖' || :) + if printf '%s\n' "$_bot" | grep -qiE '^[[:space:]]*🤖[[:space:]]*$|generated|made|created|authored|written|produced|built|co-?authored|via[[:space:]]|with[[:space:]]|by[[:space:]]'; then err "bot-emoji attribution marker" fi # AI named as the author/agent — not as the subject of the change. # (kept narrow on purpose: "add Copilot webhook" must stay legal) - if printf '%s\n' "$_msg" | grep -iqE '\b(as an ai|i generated this|authored by (claude|cursor|copilot|chatgpt|codex|gemini|devin|openai|swe-))\b'; then + if printf '%s\n' "$_msg" | grep -iqE '\b(as an ai|i generated this|authored by ('"$_VENDOR"'))\b'; then err "AI self-attribution" fi # vendor-stamped HTML comments smuggled into the message - if printf '%s\n' "$_msg" | grep -iqE '