You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue [Owlwatch] Long function resolve_url_stream (230 lines) #621 (long function): resolve_url_stream refactored from 230 LOC / ccn 54 to 115 LOC / ccn 22 via _special_document_provider, _resolve_special_document, _build_probe_output, _process_probe_result; 5 mock-based cascade tests; hardened flaky rate-limit test. 187 Python tests pass.
Issue [Owlwatch] eslint is outdated #620 (eslint 10): attempted; blocked upstream (eslint-plugin-react@7.37.5 / eslint-plugin-jsx-a11y@6.10.2 peer-cap at eslint 9 and crash on 10). Reverted to ^9; evidence documented in Plan 111.
Plan 111 + worklog: session documentation.
Docs
plans/111-owlwatch-issues-pr624-625-2026-08-09.md
Validation
ruff clean on all changed Python (baseline pre-existing E501s untouched; .agents/ excluded from DeepSource)
pytest: 187 passed, 8 deselected (×2 stable)
pnpm lint / typecheck / test / build green (pre-commit quality gate)
Closes#621, #622. Documents #620 (upstream-blocked; closes). #623 tracks PR #624 and closes when that merges.
We reviewed changes in 63558b9...854f0e2 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.
Some issues found as part of this review are outside of the diff in this pull request and aren't shown in the inline review comments due to GitHub's API limitations. You can see those issues on the DeepSource dashboard.
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer TIP This summary will be updated as you push new changes.
The reason will be displayed to describe this comment to others. Learn more.
Method doesn't use the class instance and could be converted into a static method
The method doesn't use its bound instance. Decorate this method with @staticmethod decorator, so that Python does not have to instantiate a bound method for every instance of this class thereby saving memory and computation. Read more about staticmethods here.
The reason will be displayed to describe this comment to others. Learn more.
Method doesn't use the class instance and could be converted into a static method
The method doesn't use its bound instance. Decorate this method with @staticmethod decorator, so that Python does not have to instantiate a bound method for every instance of this class thereby saving memory and computation. Read more about staticmethods here.
The reason will be displayed to describe this comment to others. Learn more.
Method doesn't use the class instance and could be converted into a static method
The method doesn't use its bound instance. Decorate this method with @staticmethod decorator, so that Python does not have to instantiate a bound method for every instance of this class thereby saving memory and computation. Read more about staticmethods here.
The reason will be displayed to describe this comment to others. Learn more.
Method doesn't use the class instance and could be converted into a static method
The method doesn't use its bound instance. Decorate this method with @staticmethod decorator, so that Python does not have to instantiate a bound method for every instance of this class thereby saving memory and computation. Read more about staticmethods here.
The reason will be displayed to describe this comment to others. Learn more.
Method doesn't use the class instance and could be converted into a static method
The method doesn't use its bound instance. Decorate this method with @staticmethod decorator, so that Python does not have to instantiate a bound method for every instance of this class thereby saving memory and computation. Read more about staticmethods here.
The reason will be displayed to describe this comment to others. Learn more.
Method doesn't use the class instance and could be converted into a static method
The method doesn't use its bound instance. Decorate this method with @staticmethod decorator, so that Python does not have to instantiate a bound method for every instance of this class thereby saving memory and computation. Read more about staticmethods here.
The reason will be displayed to describe this comment to others. Learn more.
Method doesn't use the class instance and could be converted into a static method
The method doesn't use its bound instance. Decorate this method with @staticmethod decorator, so that Python does not have to instantiate a bound method for every instance of this class thereby saving memory and computation. Read more about staticmethods here.
The reason will be displayed to describe this comment to others. Learn more.
Method doesn't use the class instance and could be converted into a static method
The method doesn't use its bound instance. Decorate this method with @staticmethod decorator, so that Python does not have to instantiate a bound method for every instance of this class thereby saving memory and computation. Read more about staticmethods here.
The reason will be displayed to describe this comment to others. Learn more.
Method doesn't use the class instance and could be converted into a static method
The method doesn't use its bound instance. Decorate this method with @staticmethod decorator, so that Python does not have to instantiate a bound method for every instance of this class thereby saving memory and computation. Read more about staticmethods here.
The reason will be displayed to describe this comment to others. Learn more.
🦉 OwlWatch [MEDIUM · mason] High cyclomatic complexity in _detect_error_type
Replace long chain of if-any conditions with a lookup table or registry for cleaner mapping of error messages to ErrorType.
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
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.
Summary
Remediates open OwlWatch issues and reconciles plans/ per Plan 111 (GOAP swarm).
Changes
is_safe_url) beforesubprocess.runinresolve_with_docling/resolve_with_ocr; 5 new tests.resolve_url_streamrefactored from 230 LOC / ccn 54 to 115 LOC / ccn 22 via_special_document_provider,_resolve_special_document,_build_probe_output,_process_probe_result; 5 mock-based cascade tests; hardened flaky rate-limit test. 187 Python tests pass.Docs
Validation
Closes #621, #622. Documents #620 (upstream-blocked; closes). #623 tracks PR #624 and closes when that merges.