Files
zeekay 36e8a74835 feat(@luxfi/brand-rules): v0.1.0 — per-org brand sovereignty banlists
One published package for LP-0010 / HIP-0303 / ZIP-0031 / PIP-0006 /
LIP-0006 (no-crossover) enforcement. Replaces per-org copies of the
brand-rules YAML files with a single source of truth that:

  * Ships the 5 per-org rule files (rules/{lux,hanzo,zoo,pars,liquidity}.yml)
  * Exports a programmatic loader (rulesFor / rulePath / SUPPORTED_ORGS)
  * Provides a node CLI (brand-check) that mirrors the bash validator
  * Provides the bash validator (scripts/brand-check.sh) for legacy use
  * Adds ZIP-0031 §6 academic-collab exemptions for zoo (model_card*,
    *.bib, papers/**, datasets/**/README*)

CI workflows (ci.yml) run lint + unit tests + CLI smoke against clean
and dirty fixtures. publish.yml fires on v* tags using the luxfi org
NPM_TOKEN secret.

Co-existing with hanzoai/.github's vendored copies until npm publish
is live; consumer-side swap PR follows.

Tests: 20/20 passing. CLI flags dirty fixture with 5 violations across
2 files, exit 1; clean fixture exits 0.
2026-05-30 01:23:02 -07:00

105 lines
2.6 KiB
YAML

# Brand sovereignty rule — zooai/* and zoo-labs/* repos
#
# Zoo Labs Foundation runs the open AI/science research network. Zoo repos
# must not carry the brand identity of Liquidity (downstream tenant) or
# sibling orgs (Lux, Hanzo, Pars). Chain identifiers and OSS dep imports
# are allowed via exempt_paths / exempt_patterns.
#
# Per ZIP-0031 §6 (Academic Collaboration Exception): model cards, papers,
# datasets, and BibTeX citations may name external organisations (incl.
# sibling orgs) for attribution. Those surfaces are exempted by file glob
# (model_card*, MODEL_CARD*, *.bib, papers/**, datasets/**/README*).
#
# Policy: ZIP-0031.
org: zoo
forbidden_in_source:
- "Liquidity.io"
- "Liquidity LLC"
- "@liquidityio/"
- "Lux Industries"
- "Hanzo AI Inc."
- "Pars Network Foundation"
exempt_paths:
- "**/go.mod"
- "**/go.sum"
- "**/package.json"
- "**/package-lock.json"
- "**/yarn.lock"
- "**/pnpm-lock.yaml"
- "**/bun.lock"
- "**/bun.lockb"
- "**/Cargo.toml"
- "**/Cargo.lock"
- "**/pyproject.toml"
- "**/uv.lock"
- "**/requirements*.txt"
- "**/Dockerfile"
- "**/Dockerfile.*"
- "**/*.Dockerfile"
- "**/compose.yml"
- "**/compose.*.yml"
- "**/*.k8s.yaml"
- "**/*.k8s.yml"
- "**/kustomization.yaml"
- "**/kustomization.yml"
- "**/.github/**"
- "**/CHANGELOG.md"
- "**/CHANGELOG"
- "**/LICENSE"
- "**/LICENSE.*"
- "**/NOTICE"
- "**/NOTICE.*"
- "**/THIRD_PARTY*"
- "**/vendor/**"
- "**/node_modules/**"
- "**/BRAND-AUDIT*"
- "**/BRAND_AUDIT*"
- "**/brand-audit*"
- "**/brand-sovereignty*"
- "**/.env.example*"
- "**/.env.sample*"
- "**/config/brands/**"
- "**/configs/brands/**"
- "**/brands/**/*.json"
- "**/brands/**/*.yaml"
- "**/brands/**/*.yml"
- "**/brand*.test.ts"
- "**/brand*.test.tsx"
- "**/brand*.test.js"
- "**/brand*.spec.ts"
- "**/brand*.spec.tsx"
- "**/brand*.spec.js"
- "**/*brand*.test.ts"
- "**/*brand*.test.tsx"
- "**/whitelabel*.test.*"
- "**/white-label*.test.*"
- "**/tenant*.test.*"
- "**/*_brand_test.go"
- "**/*_whitelabel_test.go"
# ZIP-0031 §6 — Academic Collaboration Exception.
# Model cards, papers, datasets, citations legitimately name other orgs.
- "**/model_card*"
- "**/MODEL_CARD*"
- "**/model-card*"
- "**/*.bib"
- "**/CITATION*"
- "**/citation*"
- "**/papers/**"
- "**/paper/**"
- "**/datasets/**/README*"
- "**/dataset/**/README*"
- "**/research/**/README*"
exempt_patterns:
- 'github\.com/luxfi/'
- 'github\.com/hanzoai/'
- 'github\.com/zooai/'
- 'github\.com/zoo-labs/'
- 'github\.com/parsdao/'
- 'github\.com/liquidityio/'
- 'ghcr\.io/'
- 'us-docker\.pkg\.dev/'