Skip to content

docs(providers): register providers removed at their operator's request and guard against reintroduction - #12478

Merged
diegosouzapw merged 1 commit into
release/v3.8.51from
docs/removed-providers-policy
Sep 2, 2026
Merged

diegosouzapw merged 1 commit into
release/v3.8.51from
docs/removed-providers-policy

Conversation

@diegosouzapw

@diegosouzapw diegosouzapw commented Sep 2, 2026 •

Copy link
Copy Markdown
Owner

Why

Two providers have now been removed at the request of the people who operate them (Puter in #10210, a keyless provider in #12440). Nothing in the repo said "do not bring these back", so an old fork, a cached tarball or a "restore provider X" PR could reintroduce them by accident.

What

  • New docs/reference/REMOVED_PROVIDERS.md: the policy (what a takedown covers, never reintroduce without written permission, keep entries minimal) and the register with both providers (ids, aliases, domains, dates, removal PRs).
  • New tests/unit/removed-providers-blocklist.test.ts: fails if any registered id/alias/domain shows up again in the chat registry, the provider catalogs, the executor map, the free-model catalog, or the sources under open-sse/config/providers, open-sse/executors, src/shared/constants/providers. Also asserts the doc lists every guarded id.
  • Linked from docs/README.md and docs/reference/meta.json.
  • AGENTS.md: one new step 0 in "Adding a New Provider" pointing at the doc and the guard. ⚠️ agent-instruction surface: needs explicit operator approval before merge.

Validation

node --import tsx/esm --test tests/unit/removed-providers-blocklist.test.ts   # 11/11
npm run check:docs-all                                                         # clean
npx eslint tests/unit/removed-providers-blocklist.test.ts                      # clean

⚠️ base-red inherited: the No new ESLint warnings job fails on codeql-ratchet (13 open CodeQL alerts > baseline 11). All 13 alerts sit on release/v3.8.51 files merged today (open-sse/executors/maxai/*, tests/unit/uc-*.test.ts, tests/unit/maxai-image.test.ts, tests/unit/custom-provider-prefix-shadowing-11943.test.ts, open-sse/utils/error.ts). None is on a file this PR touches; ESLint itself reports 0 warnings / 0 errors here.

…st and guard against reintroduction

Adds docs/reference/REMOVED_PROVIDERS.md (policy + register: puter #10210,
the keyless provider removed in #12440), links it from the docs index and
AGENTS.md's provider checklist, and adds a regression test that fails if any
registered id, alias or domain shows up again in the provider catalogs, the
executor map or the registry/executor sources.
@diegosouzapw
diegosouzapw merged commit bf0d902 into release/v3.8.51 Sep 2, 2026
19 of 21 checks passed
@diegosouzapw
diegosouzapw deleted the docs/removed-providers-policy branch September 2, 2026 18:11
diegosouzapw added a commit that referenced this pull request Sep 3, 2026
…matter (base-red #12581) (#12610)

`source.config.ts` feeds `docs/reference/**/*.md` to fumadocs-mdx, whose default
schema requires a `title`. #12478 added `docs/reference/REMOVED_PROVIDERS.md`
with no frontmatter block at all, so every production build died with:

    [MDX] invalid frontmatter in docs/reference/REMOVED_PROVIDERS.md:
    - title: Invalid input: expected string, received undefined

That single missing block is what turns three release-green gates red at once —
`Package artifact (npm pack policy)` fails on the build, and both
`Tarball boot-smoke` and the packaged CLI checks are skipped for lack of a
valid `dist/`.

Fixes:
- add the frontmatter block, matching the convention of its sibling reference
  docs (`title` / `version` / `lastUpdated`).
- add `check:docs-frontmatter`, wired into `check:docs-all`, so the next doc
  added without a title fails in milliseconds instead of costing a full Next
  build and a red release branch. The gate reads its globs from
  `source.config.ts` rather than duplicating them, so a new docs directory
  cannot silently escape the check.

Verified: the gate reports OK across all 122 compiled docs, fails (exit 1) when
the frontmatter is removed, and `npm run check:docs-all` passes.
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…st and guard against reintroduction (diegosouzapw#12478)

Adds docs/reference/REMOVED_PROVIDERS.md (policy + register: puter diegosouzapw#10210,
the keyless provider removed in diegosouzapw#12440), links it from the docs index and
AGENTS.md's provider checklist, and adds a regression test that fails if any
registered id, alias or domain shows up again in the provider catalogs, the
executor map or the registry/executor sources.

Co-authored-by: Markus Hartung <diegosouzapw@users.noreply.github.com>
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…matter (base-red diegosouzapw#12581) (diegosouzapw#12610)

`source.config.ts` feeds `docs/reference/**/*.md` to fumadocs-mdx, whose default
schema requires a `title`. diegosouzapw#12478 added `docs/reference/REMOVED_PROVIDERS.md`
with no frontmatter block at all, so every production build died with:

    [MDX] invalid frontmatter in docs/reference/REMOVED_PROVIDERS.md:
    - title: Invalid input: expected string, received undefined

That single missing block is what turns three release-green gates red at once —
`Package artifact (npm pack policy)` fails on the build, and both
`Tarball boot-smoke` and the packaged CLI checks are skipped for lack of a
valid `dist/`.

Fixes:
- add the frontmatter block, matching the convention of its sibling reference
  docs (`title` / `version` / `lastUpdated`).
- add `check:docs-frontmatter`, wired into `check:docs-all`, so the next doc
  added without a title fails in milliseconds instead of costing a full Next
  build and a red release branch. The gate reads its globs from
  `source.config.ts` rather than duplicating them, so a new docs directory
  cannot silently escape the check.

Verified: the gate reports OK across all 122 compiled docs, fails (exit 1) when
the frontmatter is removed, and `npm run check:docs-all` passes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant