Skip to content

feature/Bump-pipelex-drop-gateway · L-261009-405281 - #95

Merged
lchoquel merged 7 commits into
devfrom
feature/Bump-pipelex-drop-gateway
Oct 12, 2026
Merged

lchoquel merged 7 commits into
devfrom
feature/Bump-pipelex-drop-gateway

Conversation

@lchoquel

@lchoquel lchoquel commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Moves cocode from pipelex 0.46.4 to 0.83.0, which has no Pipelex Gateway: pipelex migrate cleaned the Gateway leftovers out of .pipelex/, the inference catalogs and model deck are now 0.83.0's with only the OpenAI backend switched on, and the bundles declare the list inputs 0.83.0's load-time sequence check requires. The README, docs, CONTRIBUTING.md and .env.example drop the free Discord key and PIPELEX_API_KEY for one OPENAI_API_KEY, plus the recipe for switching to another provider. The test suite now boots pipelex in the pytest integration mode, make agent-test runs without inference, and CI dry-runs every pipe.

Closes L-261009-405281
Advances L-261011-a88c00

🤖 Generated with Claude Code


Summary by cubic

Moves cocode from pipelex 0.46.4 to 0.83.0, dropping the Pipelex Gateway so all AI workflows run on your machine with your own provider keys. OPENAI_API_KEY replaces the gateway/Discord key everywhere, the shipped configuration is 0.83.0's with only the OpenAI backend enabled, and the package now carries that configuration: a pip install boots on one OpenAI key from any directory.

Breaking changes

  • PIPELEX_GATEWAY_API_KEY and the free Discord key are gone; set OPENAI_API_KEY instead.
  • The pipelex_gateway backend and all_pipelex_gateway routing profile are removed; the active profile is now all_enabled_backends.

Configuration and tooling

  • .pipelex/ inference catalogs, model deck, and routing reset to 0.83.0's pipelex init output; storage uri_format is now {hash}.{extension}.
  • To run on another provider, switch a backend on in a git-ignored backends_override.toml and point the deck's aliases at its models in a personal deck file — no tracked edits.
  • doc_proofread and doc_update declare list inputs as arrays to satisfy 0.83.0's load-time sequence check; doc_proofread now flattens each file's inconsistencies into one list the report step reads.
  • Tests boot pipelex in pytest integration mode; make agent-test and CI run without inference, and CI dry-runs every pipe.

Written for commit dc73cd8. Summary will update on new commits.

View guided diff

lchoquel and others added 7 commits October 12, 2026 01:39
Move the pin from 0.46.4 to 0.83.0, adding the `cli` extra that 0.83.0 says
to install wherever pipelex runs in a terminal, and refresh the lock.

`pipelex migrate`, run with an empty PIPELEX_HOME so it touched only this
project, removed what the Pipelex Gateway releases left, which any pipelex
from 0.73 refuses to boot on: the `pipelex_gateway` backend and its model
file, the `all_pipelex_gateway` and `example_routing_using_patterns` profiles
and the gateway routes of the specific-models example. The active profile
moves to `all_enabled_backends`, the profile 0.83.0 ships. It also retired
the text and HTML renderings of traced data from `pipelex.toml`.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The committed backend catalogs and model deck dated from the Gateway era:
the Gateway fetched its catalogs remotely, so the local files lacked the
very models the deck named (claude-4.8-opus, gemini-pro-latest), and with
the Gateway gone no enabled backend served any model at all.

The inference files are now the ones `pipelex-agent init` writes for
0.83.0, with their kit manifests, so `pipelex update` finds the deck
current. Only `openai` is switched on, because the deck's default tiers are
OpenAI's GPT-5.6 models, and the routing profile stays the shipped
`all_enabled_backends`, so a backend switched on in a personal
backends_override.toml serves its own models with no routing edit. The
perplexity and legacy pipelex_inference catalogs, which 0.83.0 no longer
ships, are gone.

The storage `uri_format` drops `{primary_id}` and `{secondary_id}`, which
0.83.0 refuses at boot and `pipelex migrate` cannot repair, for the
shipped `{hash}.{extension}`.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Pipelex 0.83.0 checks, when it loads a library, that each step of a
sequence reads an input under the concept and multiplicity the earlier step
stored it with, and refuses the library otherwise, so every cocode command
failed before its run started. Five inputs read a list as a single item:
`related_files` and `all_inconsistencies` in doc_proofread, and
`git_citations`, `doc_analyses` and `structured_changes` in doc_update.
Each now declares the list its producing step stores.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The bump let click rise to 8.5.0, whose generic ParamType leaves typer
0.16's Option and Argument partially unknown under strict pyright, and
typer 0.26, the newest pipelex allows, vendors its own click, which no
longer types cocode's TyperGroup override. Pipelex 0.83.0 locks exactly
this pair.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The root conftest booted pipelex in the `ci` integration mode without
inference and through the CLI factory, in the `cli` mode, with it. Both now
go through one helper that boots in the `pytest` mode, which the Gateway's
terms used to rule out and which a pipelex with usage statistics reads as
off, without touching the machine's shared statistics state. A unit test
holds the helper to that mode. The deprecated
`is_inference_disabled_in_pipelex` gives way to `needs_inference_in_pipelex`.

`PIPELEX_USAGE_STATS=0` stays the conftest's switch: 0.83.0 no longer
raises GatewayDoNotTrackConflictError, so DO_NOT_TRACK would now be safe,
but it would also silence every telemetry destination a developer set up,
and the narrow switch is the one pipelex's own test helpers set. CI keeps
DO_NOT_TRACK=1, with its comment brought up to date.

A boot without inference now loads every enabled backend's models without
resolving a key, so `test_dry_run_all_pipes` runs in CI again, and
`make agent-test` passes --disable-inference, as `make gha-tests` does,
so it no longer needs an OpenAI key to boot.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The README offered a free Discord key read from `PIPELEX_API_KEY` and a
bring-your-own-key option the committed routing ignored, the docs and
CONTRIBUTING.md asked for an OpenAI key the configuration never used, and
.env.example still listed `PIPELEX_GATEWAY_API_KEY`. They now tell the
setup pipelex 0.83.0 documents, as it applies to cocode: one OpenAI key in
`.env` for the shipped configuration, and for any other provider its key,
its backend switched on in a git-ignored backends_override.toml, and the
deck's aliases cocode's workflows go through pointed at its models. They
also say that the hosted Pipelex API does not apply, since cocode runs its
workflows in its own process. The changelog records the bump.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
…ofread's inconsistencies

The package now carries .pipelex/inference/ and boots Pipelex with CocodeModelManager, which reads it whenever the directory cocode runs from has no inference configuration of its own, so a pip install runs on one OpenAI key instead of the every-backend files Pipelex writes into a fresh home. The provider recipe moves the whole model deck in a personal deck file instead of editing the tracked x_custom_llm_deck.toml, and covers pip installs through pipelex-agent init.

doc_proofread batched a pipe returning a list, which stored one list per documentation file where the report step reads one flat list: each file now yields one structured result whose inconsistencies a binding step flattens.

Also: make codex-tests runs without inference, the make test help says it boots with inference, .env.example lists every backend's variables, and the test boot no longer dry-runs the library a second time.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@lchoquel

Copy link
Copy Markdown
Member Author

Review pass, profile 4 (cubic, Codex review and adversarial, code-review), at a90a3a3. Every finding is fixed in dc73cd8:

  • A pip install cocode now boots with an OpenAI key alone. The wheel ships the OpenAI-only inference config, and CocodeModelManager uses it when the run directory has no .pipelex/inference/ of its own. This is verified from a clean wheel on an empty home.
  • doc_proofread now flattens the batched inconsistencies through a binding step, so create_cursor_report receives a flat list. A dry-run test covers it.
  • make codex-tests runs without inference, and the make test help text is corrected.
  • .env.example lists every variable the backends reference.
  • The provider recipe uses a git-ignored personal deck and remaps every alias and preset cocode reaches. This is verified against Anthropic only.
  • The test boot no longer dry-runs the library twice.

@lchoquel
lchoquel merged commit 560070f into dev Oct 12, 2026
17 checks passed
@lchoquel
lchoquel deleted the feature/Bump-pipelex-drop-gateway branch October 12, 2026 00:40
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