Repository navigation
Description
Is there an existing issue for this?
- I have searched the existing issues.
An exact search for PEP 758 found no existing issue. This is separate from progress output-contract failures #828, #829 and #830.
Which actions are affected?
Pull Request
Which platforms are affected?
Linux
macOS
Description
Bugbot publishes two medium-severity, 100%-confidence syntax-error findings for valid Python 3.14 exception handlers. One explicitly states that the project requires Python 3.14 but that except Conflict, StorageBusy: is a SyntaxError in that version. PEP 758 added this syntax in Python 3.14 when no as clause is present.
The declared consumer runtime is >=3.14,<3.15, Ruff target py314 and Python 3.14.6 in the executed backend suite. The exact flagged modules compile, collect and execute. The full backend CI passes 1387 tests with 100% supported statement/branch coverage. The reviewer should use the declared version and concrete parser/CI counterevidence before publishing a universal syntax-error claim or suggested change.
Expected: omit these findings for a Python 3.14 project; preserve a genuine compatibility finding when an actually supported older interpreter cannot parse the syntax. Keep required parentheses when an as clause is present. Do not suppress exception syntax findings globally or weaken review gates.
Actual: both findings incorrectly classify the new grammar as Python 2 syntax and claim pytest cannot collect, despite the successful exact-head suite.
Primary sources:
- https://peps.python.org/pep-0758/ (Final; Python-Version 3.14; unparenthesized multi-exception syntax without
as). - https://docs.python.org/3.14/whatsnew/3.14.html#pep-758-allow-except-and-except-expressions-without-brackets
Reproducing the issue
- Consumer PR: Implement HA identity, SQLite persistence and verified restoration domus#7; exact analyzed head ead7dde44f57d32d5a42797a811e798d92b36a89.
- Review run/job: https://github.com/vypdev/domus/actions/runs/41227372340/job/124614220480; native review 5724201125; check https://github.com/vypdev/domus/runs/124615649060.
- Findings: Implement HA identity, SQLite persistence and verified restoration domus#7 (comment) at tests/backend/test_household_commands.py:415, and Implement HA identity, SQLite persistence and verified restoration domus#7 (comment) at tests/backend/test_member_commands.py:407.
- Both statements are exactly
except Conflict, StorageBusy:with noasclause. Both are valid under the project's required Python version. - Inspect pyproject.toml requires-python >=3.14,<3.15 and Ruff target py314, the Python pin and frozen CI setup. Run Python 3.14.6
compile(Path(file).read_text(), file, 'exec')on both exact modules: PASS. - Run the two test modules plus snapshot tests: 134 passed. The complete exact-head backend job passes 1387 tests: https://github.com/vypdev/domus/actions/runs/41227372378/job/124614220517. Both full CI Check aggregates pass on this exact head.
- Minimal semantic reproduction on Python 3.14:
for kind in (ValueError, TypeError):
try:
raise kind('sentinel')
except ValueError, TypeError:
print(kind.__name__, 'caught')Both exception types are caught. No parser compatibility fallback is involved.
copilot Version
vypdev/copilot@v3 resolved to 3e7ceea; codex codex-cli 0.166.0, reviewer model gpt-6-luna, smart effort.
Relevant Log Output
2026-10-31T18:07:22.3345747Z Bugbot reviewer completed partition 30/30.
analysisPartitions=30; completedAnalysisPartitions=30; analysisAssignedFiles=204
candidateFindings=3; publishedFindings=3
The two inline findings explicitly claim the modules raise SyntaxError during parsing. The third finding, a stale snapshot schema number in documentation, is valid and was corrected separately in normal commit 9c44195. No claim is made that all findings were false.
Additional context and comments
The analysis completed all 30 code partitions, but overall coverage is separately partial because human-conversation retained 6 of 9 items and omitted 3. We do not treat this as a complete review or merge acceptance. The PR remains unmerged. No Copilot implementation, installed resources, model/configuration, approval gate or language requirement was changed. Valid production/test syntax will not be rewritten just to hide a false positive; the response will cite actual runtime and primary-source evidence.
Suggested regression scope: valid >=3.14 syntax with/without as; a real <=3.13 compatibility target; except*; project runtime/version evidence; contrary successful parser/collection evidence. Live-model false-positive evidence and deterministic schema correctness should remain distinct. No credentials or owner HA identity/session data are included.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
[-]Bugbot reports valid Python 3.14 PEP 758 exception syntax as a collection-breaking SyntaxError[/-][+]🐛 - Bugbot reports valid Python 3.14 PEP 758 exception syntax as a collection breaking SyntaxError[/+]vypbot commentedon Oct 31, 2026
Hi! I’m @vypbot, the Copilot assistant for this repository.
I can answer questions, explain the codebase, propose implementation and test plans, review issues and pull requests for potential bugs or security problems, and help authorized maintainers apply changes.
Try
/copilot helpto see the available commands, or mention @vypbot with your question.efraespada commentedon Nov 1, 2026
Repeated false positive on Domus PR #14 after a complete current-head review
This is another instance of #831, not a new issue or a request to weaken review gates.
2207bca2f13dedee7cf61372eae711765c1bb911.124811492043.backend/src/domus/application/task_reviews.py:117; medium reliability, confidence 100%.except InvalidInput, TypeError, ValueError:, with noasclause.That parsing claim is false for the declared runtime. Both root and backend require
>=3.14,<3.15; Ruff targetspy314. PEP 758 explicitly introduces unparenthesized exception lists withoutasin Python 3.14.Independent checks against the exact unchanged source, using the locked local Python 3.14.6:
ast.parse(source, filename=actual_path)passes.importlib.import_module("domus.application.task_reviews")passes and resolves to the actual consumer source.InvalidInput,TypeErrorandValueErrorunder that unparenthesized clause catches all three as expected.This run's review context is actually complete: 106 changed files / 160 diff fragments, all 21 of 21 analysis partitions complete, all reported context sources complete with zero omitted/truncated items. Telemetry reports one candidate and one published finding; it is this syntax claim. This differs from the earlier partial-context observation in the original issue and is not represented as a skipped review.
The hosted log resolves
vypdev/copilot@v3to3e7ceea08e6131360e026937d1c0cc1b120472e0; agentcodex-cli 0.166.0, reviewergpt-6-luna, smart effort. Review completed at 2026-11-01T09:41:08Z.Please add this source/version/contrary-execution regression to the existing investigation: honor the supported interpreter and verify a parsing assertion with that grammar before publishing 100% confidence. Continue requiring parentheses with
as, and preserve real <=3.13 compatibility findings. Do not globally suppress exception-handling review, alter acceptance, or rewrite valid production code merely to silence a false positive.We will reply with this runtime/primary-source evidence and resolve the native thread as a false positive, preserving the bot's original comment and review history. No Copilot code, model, prompt, installed resource, marker, policy or verification threshold is changed.
4 remaining items
vypbot commentedon Nov 2, 2026
Issue closed — historical progress
Current status: closed as completed.
The last estimate is retained below as history. Closure does not certify a new percentage, tests, or branch alignment.
Action required: none for this closed issue. If work continues, reopen the issue; a fresh assessment can update this same card.
Last assessment before closure (historical)
vypbot commentedon Nov 2, 2026
Issue closed: synchronization recommendation retired
No branch synchronization is required for this closed issue.
The previous recommendation is historical. Issue closure does not certify that the branches are synchronized.
efraespada commentedon Nov 3, 2026
A verified recurrence of the Python3.14 false positive appears on Domus PR28, head
6e8c22135c019829f62e1ec28872783dc446be75.Finding: vypdev/domus#28 (comment), thread
PRRT_kwDOVa5AKs6zGaeQ, fingerprintfp-724223dd, semanticsf-05bd340b, at tests/browser/image_bridge.py:198. The reviewer claims 100% confidence that the multiple-exception clause without parentheses is invalid Python3 and prevents module loading.The premise is false for this repository's required interpreter:
.python-versionselect Python3.14; the actual image pins Python3.14.6. Older3.13 is not supported.asclause. https://docs.python.org/3.14/whatsnew/3.14.html documents this accepted feature.Review evidence: https://github.com/vypdev/domus/actions/runs/41628838938/job/125892919593 has complete context and all9/9partitions, candidate1/published1/open1, historicalfixed1. This is not claimed to be a clean review, and the finding is not manually resolved. Product CI41628838888 remains independently in progress at this report.
The consumer will name the exact exception tuple for clearer cross-version reading; no caught type, behavior, Python requirement, formatter rule, coverage/verification gate, Copilot model/bound/configuration/workflow/resource or gateway is changed. This is an equivalent readability change, not a reproduced SyntaxError fix. Please make language-version-dependent findings honor the repository runtime and verify a compilation claim against it. No raw model response or hidden cause is inferred; no owner HA data or credentials are published.
Observed consumer follow-up: exact head6c1a0d2032cef328dc6e58dd2661232f1fbd364d names the same five-type tuple. Current native review41630471059/job125898428229 has complete context and9/9partitions,0candidates/published/open/reopened/verification-required/unknown; historicalfixed2. The finding thread was automatically resolved by the configured reviewer, never manually.13focused bridge contracts still pass and the formatter is unchanged. This does not establish an original SyntaxError or a fix in Copilot; the version-awareness issue remains for maintainers to investigate.
efraespada commentedon Nov 4, 2026
Verified recurrence of this exact false positive on Domus PR #29, head
8d2742ef596f23128ea2e0600db9f41e79c70531:backend/src/domus/application/recurrence_sources.py:52, fingerprintfp-620ab805, semanticsf-9452a24f, claims with 100% confidence thatexcept InvalidInput, TypeError, ValueError:cannot be parsed by the project's runtime and prevents importing the module.vypdev/copilot@v3SHA3e7ceea08e6131360e026937d1c0cc1b120472e0, codex-cli 0.166.0, configured model gpt-6-luna. Complete context and all 10/10 partitions finished; candidate/published/open = 1, reopened/unknown/verification-required = 0. This is not being called a zero-finding review.>=3.14,<3.15;.python-versionpins3.14.6. Python 3.13 is unsupported. PEP 758 is Final for Python 3.14 and explicitly accepts this exception list without parentheses when noasclause exists: https://peps.python.org/pep-0758/ ; official release documentation: https://docs.python.org/3.14/whatsnew/3.14.html#pep-758-allow-except-and-except-expressions-without-brackets .RecurrenceSourceObservations, parses its complete actual module withast.parse, then raises/catches ValueError with the same unparenthesized exception-list syntax. All steps succeed.The compile-failure premise is disproven by the actual supported runtime, not merely a prose assertion. No consumer runtime requirement, formatter rule, Copilot code/configuration/model/resource or review finding state has been changed to hide it. Please investigate version-aware review of parser claims and reassess the native finding from the exact runtime evidence. I am appending to the existing exact issue rather than creating a duplicate; its current Closed state does not establish that this later run is correct.
efraespada commentedon Nov 4, 2026
Native follow-up without a production source change: https://github.com/vypdev/domus/actions/runs/41762170100 attempt 2 reassessed exact head
8d2742ef596f23128ea2e0600db9f41e79c70531after the runtime evidence reply. It completed all 10/10 partitions with complete context; candidate/published/open/reopened/unknown/verification-required are all zero. The native reviewer automatically marked the obsolete parser finding; none was manually resolved/dismissed. Current historical counts are fixed 6, obsolete 3, dismissed 0. Publication reports 0 errors.This supports the runtime-version correction and preserves the original finding as a demonstrated false positive. It does not claim a Copilot implementation fix. A separate real aarch64 browser response-body capture failure is being corrected in the consumer test harness, independently of this cleared syntax finding.