docs: add pipeline extension recipe (kie.ai content:null workaround)#1708
docs: add pipeline extension recipe (kie.ai content:null workaround)#1708lennney wants to merge 2 commits into
Conversation
Document the headroom.pipeline_extension entry-point system with: - Available pipeline stages and when to use each - Complete recipe: normalize content:null → content:"" for kie.ai - Entry point registration instructions - --proxy-extension CLI flag usage - x-headroom-base-url per-request routing header - Extension contract and troubleshooting Closes headroomlabs-ai#1697
PR governanceThis PR follows the template and is marked ready for human review. |
JerrettDavis
left a comment
There was a problem hiding this comment.
Thanks for writing this up. I think this should not merge in its current form because it conflates two different extension systems.
headroom.pipeline_extension is loaded by PipelineExtensionManager through discover_pipeline_extensions; the --proxy-extension flag and HEADROOM_PROXY_EXTENSIONS environment variable enable entries from the separate headroom.proxy_extension group, whose install call receives the FastAPI app/config. Documenting --proxy-extension kie-ai-compat for a headroom.pipeline_extension entry point will leave users with an extension that never runs.
A newer docs PR, #1712, covers the same issue without mixing those extension mechanisms and also documents x-headroom-base-url. My recommendation is to close this PR in favor of #1712, or revise it to clearly separate pipeline extensions from proxy extensions before it is considered again.
|
Closing per maintainer recommendation — superseded by #1712 which covers the same issue without mixing pipeline/proxy extension mechanisms. |
Description
Documents the
headroom.pipeline_extensionentry-point system that was previously only discoverable by reading source code. Adds a recipe-style guide covering available pipeline stages, entry-point registration, and a real-world example (normalizingcontent: null → content: ""for kie.ai Gemini endpoints).Closes #1697
Type of Change
Changes Made
docs/content/docs/pipeline-extensions.mdx— 147 lines covering:content: nullworkaroundpyproject.toml)--proxy-extensionCLI flag +x-headroom-base-urlroutingdocs/content/docs/meta.json— register new page under Proxy Server section (+1 line)Testing
meta.jsonJSON is validTest Output
Real Behavior Proof
git diff upstream/main...HEAD -- docs/docs/touched.npm run build(requires Node.js build environment)Review Readiness