Skip to content

🐛🧑‍💻 - Bugbot reports a missing Lit update await that is already present in the reviewed source #848

Closed

Description

@efraespada

Is there an existing issue for this?

Which actions are affected?

Pull Request

Which platforms are affected?

Linux (hosted review); macOS (unchanged original Chromium reproduction).

Description

Bugbot published a medium-severity reliability finding at98% confidence claiming that a Lit test assigns closed and ready views without awaiting the closed update and therefore fails the frontend suite. The immutable reviewed source already contains precisely that await, and the original named test passes without any edit.

Consumer: vypdev/domus#15
Reviewed head: ecdd85b4b08479eede41a517f9acdfdde9393b17
Finding: vypdev/domus#15 (comment)
Path: frontend/tests/component.test.ts:177
Finding identity: frontend/tests/component.test.ts:177:closed-draft-test-batches-transitions
Fingerprint: fp-2e2596f4; semantic key: sf-f1be81de.

The finding says both assignments occur before updateComplete and recommends awaiting between them. The exact reviewed lines176–178 are:

f.element.view = view('unconfigured', {phase: 'closed', session: null, decision: null, journal: null}); await f.element.updateComplete;
f.element.view = view(); await f.element.updateComplete;
expect(f.root.querySelector<HTMLInputElement>('#name')!.value).toBe('');

The first await is a separate statement on the same line as the assignment. It is executed before the next assignment. This report does not dispute Lit's batching semantics; it disputes the claim that this code omits the await.

Expected: read the complete reviewed statement/neighboring line before asserting a missing await or publishing a patch equivalent to existing behavior. Verify a claimed deterministic suite failure against the actual test result where available.

Actual: the finding's central source premise is false, and its assertion that the suite is blocked contradicts both the hosted passing frontend gate and a fresh targeted execution of the unchanged original case.

Reproducing the issue

  1. Review the exact consumer head above using the installed PR workflow.
  2. Read both statements at lines176 and177. Each assignment is followed by await updateComplete.
  3. Run against the unchanged original source, with the locked Node24.20.0, pnpm10.34.0, Lit3.3.3, Vitest5.0.5, Playwright1.64.1 and actual headless Chromium:
pnpm --filter @domus/frontend exec vitest run tests/component.test.ts --no-coverage -t 'closed presentation retires'
  1. Actual result:1passed,54not-selected, original file55cases; duration798ms. The targeted skips are selection, not claimed complete-suite coverage. Raw original output is retained.
  2. The full published frontend gate on this same head independently passes565cases and all four coverage metrics at100%. The consumer now prepares a readability-only expansion of the existing awaits onto separate lines plus assertions that the intermediate closed heading is rendered and no input is present. It does not pretend that moving the await fixes a previous runtime bug.

copilot Version

vypdev/copilot@v3, source 3e7ceea08e6131360e026937d1c0cc1b120472e0, configured reviewer/findings model gpt-6-luna, effort smart. No model, resource, prompt, policy or credential was changed.

Relevant Log Output

Review job
Frontend gate

reviewId=vypdev:domus:pr-15:ecdd85b4b084
changedFiles=94 changedLines=11333
analysisPartitions=14 completedAnalysisPartitions=14
candidateFindings=3 publishedFindings=3
findingStates:open=3 fixed=2 obsolete=1 verification-required=0 unknown=0
human-conversation:fetched11 retained5 omitted6 truncated0 limitReached=true

Additional context and comments

The other two new findings are valid and are being corrected normally: a double-invocation provider-error assertion can miss a leak on its first call, and a technical membership value remains an English identifier in Spanish. Neither justifies dismissing this report or suppressing other findings. We are retaining native history and requesting evidence-based verification of this one false positive.

The partial conversation context is already tracked in #843 and does not establish the cause here. The missing-await premise can be disproven using the immutable diff itself. Please own any upstream source-reading/evidence-quality regression. No consumer Copilot files/settings/credentials/gateway were modified, no owner data is included, and no review gate is weakened.

Activity

  1. added
    bugSomething isn't working
    bugfixSomething isn't working
    priority: highCritical issue, needs immediate attention.
    on Nov 1, 2026
  2. added theissue type on Nov 1, 2026
  3. moved this to Todo in vypdevon Nov 1, 2026
  4. changed the title [-]Bugbot reports a missing Lit update await that is already present in the reviewed source[/-] [+]🐛 - Bugbot reports a missing Lit update await that is already present in the reviewed source[/+] on Nov 1, 2026
  5. vypbot commented on Nov 1, 2026

    @vypbot
    Contributor

    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 help to see the available commands, or mention @vypbot with your question.

  6. moved this from Todo to In Progress in vypdevon Nov 3, 2026
  7. added
    branchedIndicates that a branch has been created for this issue.
    on Nov 3, 2026
  8. changed the title [-]🐛 - Bugbot reports a missing Lit update await that is already present in the reviewed source[/-] [+]🐛🧑‍💻 - Bugbot reports a missing Lit update await that is already present in the reviewed source[/+] on Nov 3, 2026
  9. added
    state:workingWork can proceed on the verified branch or without a branch.
    on Nov 3, 2026
  10. vypbot commented on Nov 3, 2026

    @vypbot
    Contributor

    Implementation plan

    Current status: Ready to start. No action is required from maintainers before implementation.

    1. Verify the reviewed source context
      • Inspect the immutable reviewed head around `frontend/tests/component.test.ts:177`, including neighboring statements, to confirm both assignments await `updateComplete`.
    2. Reproduce the reported failure
      • Run the named Vitest case against the unchanged source with the project’s locked toolchain and headless Chromium.
      • Record the targeted test result and distinguish unselected cases from failures.
    3. Compare against the frontend gate
      • Check the published frontend gate result for the same reviewed head to determine whether the suite passed.
    4. Improve finding evidence checks
      • Update the review process to inspect complete statements and adjacent lines before reporting missing awaits.
      • Require test evidence for deterministic suite-failure claims when a reproducible test is available.
    5. Add regression coverage
      • Add a focused regression case or review check for detecting an existing `updateComplete` await before a subsequent view assignment.
      • Keep the readability-only source expansion and intermediate-render assertions separate from any claim that they fix runtime behavior.

    Acceptance: On the reviewed head, the targeted test passes and the published frontend gate is confirmed; the review process recognizes the existing await and does not publish the missing-await finding without contradictory source and test evidence.

    Need something else? Mention the bot with a question or use /copilot help.

  11. added
    size: XXLIndicates an extremely large task or issue that requires significant time and effort to complete.
    and removed on Nov 3, 2026
  12. added a commit that references this issue on Nov 3, 2026
  13. vypbot commented on Nov 3, 2026

    @vypbot
    Contributor

    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.

  14. moved this from In Progress to Done in vypdevon Nov 3, 2026
  15. added
    100%Progress: 100%
    and removed
    state:workingWork can proceed on the verified branch or without a branch.
    on Nov 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

100%Progress: 100%branchedIndicates that a branch has been created for this issue.bugSomething isn't workingbugfixSomething isn't workingpriority: highCritical issue, needs immediate attention.size: XXLIndicates an extremely large task or issue that requires significant time and effort to complete.

Type

Projects

  • Status
    Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions