docs: document four undocumented parameters in pipeline internals - #12295
Merged
anakin87 merged 2 commits intoAug 11, 2026
Conversation
Each of these functions documents every other parameter and silently omits one, so the omission reads as an oversight rather than a style choice: - DocumentCleaner._find_and_remove_header_footer: text - PipelineBase._consume_component_inputs: is_resume - _to_mermaid_image: super_component_mapping - Pipeline._run_component: break_point Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
@iridescentWen is attempting to deploy a commit to the deepset Team on Vercel. A member of the Team first needs to authorize it. |
Contributor
Coverage reportClick to see where and how coverage changed
This report was generated by python-coverage-comment-action |
||||||||||||||||||||||||
anakin87
enabled auto-merge (squash)
August 11, 2026 07:59
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #12204 (merged), same defect class, different four sites.
What changed
Four functions each document every parameter except one. Added the missing
:param:entry ineach case — docstrings only, no behavior change.
haystack/components/preprocessors/document_cleaner.py:262textn_chars,n_first_pages_to_ignore,n_last_pages_to_ignore) are all documented, and the prose above already explains that pages intextmust be form-feed separated — so the constraint was known, it just never became a param entry.haystack/core/pipeline/base.py:1220is_resumecomponent_name,component,inputsall documented.is_resumeis load-bearing: atbase.py:1241it takes a different branch that returns the first available socket value instead of consuming inputs.haystack/core/pipeline/draw.py:247super_component_mappinggraph,server_url,params,timeoutdocumented, plus both:raises:entries — only the last parameter is missing.haystack/core/pipeline/pipeline.py:126break_point:raises:and:return:.break_pointis keyword-only, which is likely why it was missed when added.How these were found
An
astpass comparing each function's signature against the names its docstring documents,reporting only where the docstring is mostly complete (≥70% of params documented, ≤2 missing).
That threshold is the point: a function documenting nothing is a style choice, one or two
stragglers in an otherwise-complete list is an oversight.
Same method as #12204, which
sjrlmerged. Recall-checked before use: rolled the repo back to5add74ec(the parent of #12204) and confirmed the scanner re-findsLinkContentFetcher.__init__ missing ['request_headers'], one of the defects that PR fixed.Scanning current
main(5b791afa) reports exactly these four and nothing else; after thischange it reports zero.
Accuracy note
I verified each parameter's behavior in the function body rather than paraphrasing its name. One
draft was wrong and got corrected: I first wrote that
break_point"saves a snapshot and raises",but
pipeline.py:150-154only raisesBreakpointException.from_triggered_breakpoint(...)beforethe component runs — no snapshot is written there. The committed text says what the code does.
I also avoided putting a literal
"\f"in thedocument_cleanerdocstring: that docstring is notraw, so the escape would embed an actual form-feed control character. The added line refers to the
form feed described in the prose above instead.
Validation
No release note: the commit is prefixed
docs:, whichrelease_notes.ymlexempts via itsgit log --pretty=%s origin/main..HEAD | grep -E '^(ci:|docs:|test:)'check.All four are private methods, so no public API surface changes.
🤖 Written with Claude Code. Every site was opened and read
individually; the commands above were run locally with the output shown.