diff --git a/.github/workflows/canon.yml b/.github/workflows/canon.yml new file mode 100644 index 0000000..9c3bb1b --- /dev/null +++ b/.github/workflows/canon.yml @@ -0,0 +1,13 @@ +name: canon + +on: + push: + pull_request: + +jobs: + canon: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Verify no retired pricing or program framing on public surfaces + run: bash scripts/check-canon.sh diff --git a/FUNDING.yml b/FUNDING.yml index 442445d..7dd80cb 100644 --- a/FUNDING.yml +++ b/FUNDING.yml @@ -1,6 +1,5 @@ github: [] ko_fi: upstream custom: - - "https://upstream.cx/pioneer" - "https://upstream.cx/pricing" - "https://upstream.cx/newsletter" diff --git a/profile/README.md b/profile/README.md index faaf7f0..694758f 100644 --- a/profile/README.md +++ b/profile/README.md @@ -19,10 +19,10 @@ Upstream reads payer behavior at the source, briefs the operator on what it mean ## Public repos in this org -- `upstream-mcp` — Upstream MCP server, exposing Care Intelligence as Model Context Protocol tools -- `upstream-skills` — reusable Claude / agent skills for healthcare workflows -- `upstream-community` — discussions, ideas, and operator-led knowledge -- `awesome-payer-risk` — curated list of payer behavior tracking, denial intelligence, and care ops tooling +- `upstream-mcp` - Upstream MCP server, exposing Care Intelligence as Model Context Protocol tools +- `upstream-skills` - reusable Claude / agent skills for healthcare workflows +- `upstream-community` - discussions, ideas, and operator-led knowledge +- `awesome-payer-risk` - curated list of payer behavior tracking, denial intelligence, and care ops tooling The core platform repo and the synthetic data SDK are private at this time. diff --git a/scripts/check-canon.sh b/scripts/check-canon.sh new file mode 100755 index 0000000..5ec9a6d --- /dev/null +++ b/scripts/check-canon.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +# Canon guard for the public org profile (github.com/Upstream-Intelligence). +# +# profile/README.md + FUNDING.yml are the most public surface in the ecosystem. +# They drifted unguarded for a month and still advertised the RETIRED Founding +# Pioneer program ($49/mo locked for life) and the old pack-led positioning until +# the 2026-06-17 reground. This guard bans that retired framing so the public face +# cannot silently drift again. +# +# Current canon source: upstream-v2/marketing/src/lib/site.ts +# Tiers = Assist (free) / Pay as you go (from $18) / Co-pilot / Autopilot. +# ONE connected platform. No packs, no verticals, no Pioneer. +# Mirrors the sibling repos' scripts/check-canon.sh. +set -euo pipefail + +ROOT="$(cd "$(dirname "$0")/.." && pwd)" + +# Retired program + pricing + pack framing. Case-insensitive. +PATTERN='pioneer|founding 5|founding pioneer|locked for life|\$49|\$349|specialty pack|/pioneer' + +# Scan the whole repo: profile/README.md + FUNDING.yml drifted, but BRAND.md, +# SECURITY.md, SUPPORT.md, CONTRIBUTING.md and the other org-default files are +# public surfaces too and were unguarded. Exclude this script (it holds the list). +hits="$(grep -rIniE "$PATTERN" "$ROOT" \ + --exclude-dir=.git \ + --exclude-dir=node_modules \ + --exclude="check-canon.sh" 2>/dev/null || true)" + +if [ -n "$hits" ]; then + echo "FAIL: retired Pioneer / pricing / pack framing on a public surface:" >&2 + echo "$hits" >&2 + echo "" >&2 + echo "Current canon: Assist (free) / Pay as you go / Co-pilot / Autopilot. ONE platform, no packs." >&2 + echo "Source of truth: upstream-v2/marketing/src/lib/site.ts" >&2 + exit 1 +fi + +echo "canon OK: no retired Pioneer / pricing / pack framing on the public profile"