Skip to content

desktop: audit findings — tracking #4504

Description

@MervinPraison

A six-lens audit of the desktop app on 27 Aug 2026 produced sixteen defects.
Two were fixes of mine that hadn't worked and are corrected in #4481. These
fourteen are verified, reproduced against the code, and not yet fixed.

Filed individually so they survive the session that found them. Each carries the
reproduction, the file:line, a proposed diff, and the test that should fail
before the fix.

High

Medium

Low

Not from the audit, but open

  • The SSH runner behind remote training has three defects: a launch that blocks
    for the whole run, a stop that targets a process group that does not exist,
    and a workdir that creates a literal ~ directory. Remote training will not
    work end to end until these are fixed.
  • The engine sends Access-Control-Allow-Origin: * on unauthenticated loopback.
    /settings masks the API key, so a local page cannot steal it — but it can
    read transcripts and drive the app.

The pattern worth noticing

Seven of the bugs found across this whole effort share one shape: a check
confirmed something was attempted rather than that it had an effect. A
button that existed but was never clicked; a run labelled "cancelled" while the
process ran on; a signal sent to a console that did not exist; four release
assets present but two unopenable; a tool tally read after the queue was
drained; a delete hardened at the wrong layer; a fake speaking a status
vocabulary the real runner does not use.

Two of those were in fixes of mine, and both passed their own tests. Mutation
testing — revert the fix, the test must fail — is what caught them.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingclaudeAuto-trigger Claude analysis

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions