Fix CI failures: pyarrow guards, DSL API contract drift, UQ reducer keying#1349
Merged
SkBlaz merged 3 commits intocopilot/find-coverage-gapsfrom Apr 15, 2026
Merged
Conversation
5 tasks
…ts, get_layers helper Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/c6cfd34e-410c-41d4-8ed4-6457769782a6 Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com>
…h clear ValueError Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/c6cfd34e-410c-41d4-8ed4-6457769782a6 Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add high-ROI coverage targets for tests and CI
Fix CI failures: pyarrow guards, DSL API contract drift, UQ reducer keying
Apr 15, 2026
SkBlaz
added a commit
that referenced
this pull request
Apr 18, 2026
…lper-level visualization+registry tests, and CI coverage job (#1347) * Add focused coverage tests and dedicated CI coverage job Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/a67f213a-bfa1-4b15-a7b3-b7a9f828f8de Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com> * Fix new tests and validate focused coverage targets Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/a67f213a-bfa1-4b15-a7b3-b7a9f828f8de Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com> * Refine tests from review feedback and simplify coverage job setup Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/a67f213a-bfa1-4b15-a7b3-b7a9f828f8de Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com> * Address validation feedback and finalize coverage-target changes Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/a67f213a-bfa1-4b15-a7b3-b7a9f828f8de Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com> * Incorporate final validation feedback and tighten determinism checks Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/a67f213a-bfa1-4b15-a7b3-b7a9f828f8de Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com> * Add type hints to new tests and finalize quality cleanup Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/a67f213a-bfa1-4b15-a7b3-b7a9f828f8de Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com> * Polish test naming and fixture typing from final review Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/a67f213a-bfa1-4b15-a7b3-b7a9f828f8de Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com> * Initial plan (#1348) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> * Fix CI failures: pyarrow guards, DSL API contract drift, UQ reducer keying (#1349) * Initial plan * Fix CI failures: pyarrow guards, reducer keying, NoNoise identity tests, get_layers helper Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/c6cfd34e-410c-41d4-8ed4-6457769782a6 Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com> * Tighten from_layers() list validation: reject non-string elements with clear ValueError Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/c6cfd34e-410c-41d4-8ed4-6457769782a6 Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com> * Make coverage CI non-blocking while preserving coverage artifact output Agent-Logs-Url: https://github.com/SkBlaz/py3plex/sessions/ab8ed629-10ed-403d-aaea-5ce9d18f94e8 Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: SkBlaz <10035780+SkBlaz@users.noreply.github.com>
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.
Three dominant failure clusters in CI (
71491626052) after the coverage/test additions in the previous PR.Changes
Missing
pyarrowin CItests/test_roundtrip_invariants.py: GuardTestArrowRoundtripZeroLosswith@pytest.mark.skipif(not _PYARROW_AVAILABLE, ...)— skips cleanly when pyarrow absent.github/workflows/tests.yml: Addpyarrowto primary test job install; bump coverage job to.[tests,arrow]DSL/AST contract drift
Fixes
'Query' object has no attribute 'summary','list' object has no attribute '_to_ast', andTarget.NODES in ['nodes', 'edges']failures:py3plex/dsl/ast.py: AddQuery.summary()returning a stable structural dict with a 16-charast_hash(SHA-256 of canonical JSON AST); changeTargettoclass Target(str, Enum)so string membership tests workpy3plex/dsl/builder.py:from_layers()now acceptslist[str]→ converts toLayerExpr; non-string elements raiseValueErrorassert_network_semantic_equallayer comparisonget_layers()returns visualization objects, not layer names — switched to.layer_names/.layerswith a node-attribute fallback.UQ reducer keying
MockReducerintests/test_uncertainty_runner.pydefined a broken@property def __class__to fake__name__. Replaced with a plain.nameattribute thatrunner.py'sgetattr(reducer, "name", None)already expects.