Skip to content

genclass 0.3.4: GitHub App for every GitHub repository, hand-written and integration setups, commands that run as printed - #222

Merged
MeharPro merged 1 commit into
mainfrom
fix/cli-review
Nov 12, 2026
Merged

MeharPro merged 1 commit into
mainfrom
fix/cli-review

Conversation

@MeharPro

Copy link
Copy Markdown
Contributor

genclass 0.3.4: fixes from a review of every setup path after a teammate hit the 0.3.2 bug. Each one was proven by running it, except where noted.

  • GitHub App step for every repository on GitHub. It waited for Playwright tests, so most projects never saw it (the teammate's did not). The app also comments production findings, which need no tests.
  • Hand-written setups: their key was not read, so "Put this app in your account" came back forever even with the app in the account (init.mjs inspectProject).
  • @genclass/nuxt / @genclass/astro apps were treated as new; the walk would add a second runtime import and a second app.
  • connect --yes no longer replaces a key that is none of the account's apps (a teammate's) unless --app or --name says which. A key from the person's own .genclass.local is still taken.
  • For coding agents: setup --yes --json prints only JSON; status --json names npx genclass setup --yes instead of a command that does nothing without a terminal.
  • Walk: saying no to the runtime's change no longer leads to the Vite settings; signed out, the first-page and GitHub App steps say why they do nothing.
  • Commands as printed: signed-out dashboard --all/--range/--app; connect, init, audit at the home prompt (were sent to the model as questions); the CSP advice's fetch-model; scan of a local address; long or quoted names after --app; hints that dropped what was typed.
  • remove from a folder inside the app; init/connect through genclass add no overlay, name themselves npx genclass, and point a newer runtime at npx genclass@latest.

Not changed (noted by the review, left for later): Vite 7 settings for frameworks other than plain Vite (needs a real build to confirm), and setup --yes still waits for the sign-in as the README documents.

Tests: CLI 181 (3 new), the runtime's install tests 157, tsc clean. Smoke-tested from the built file: signed-out dashboard --all, the connect error naming npx genclass, scan of localhost, status --json.

🤖 Generated with Claude Code

…ten and integration setups recognised, and commands that run as printed

From a review of every setup path: the GitHub App step waited for Playwright tests; a hand-written setup looped at
'Put this app in your account'; @genclass/nuxt and @genclass/astro apps were treated as new; connect --yes could
replace a teammate's key; setup --yes --json mixed the view into the JSON; status --json pointed agents at a command
that does nothing without a terminal; and several printed commands did not run as typed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@genclass-dev

genclass-dev Bot commented Nov 12, 2026 •

Copy link
Copy Markdown

GenClass runtime review

2 findings in this pull request's tests at 44d1fa6 · 2 reproducible · 5 tests read

# Status Finding Test Seen
1 New Witness, overwrote-newer · GET /api/search [chromium] search.spec.ts > search > buggy page: results of the last query 2 of 2 seeds, reproducible
2 New Witness, overwrote-newer · GET /api/search search.spec.ts > search > buggy page: results of the last query 5 of 5 seeds, reproducible

Reply @genclass-dev replay 1 for the steps to reproduce a finding, or @genclass-dev fix 1 for a brief a coding agent can work from.

The race report, test by test

Race report

2 signatures in 2 tests, 2 reproducible (flagged in 2 or more seeds of the same test) · 19 files read · mode observe

signatures reproducible
Duplicate submits 0 0
Stale responses 0 0
Failing endpoints 0 0
Other detections 0 0
Witnesses (facts measured without the model) 2 2
[chromium] search.spec.ts > search > buggy page: results of the last query

2 seeds (1, 2) · 1 signature · chaos: latency 0–600 ms, reorder

Witnesses (facts measured without the model)

  • Reproducible: 2 of 2 seeds (1, 2) · GET /api/search · witness:overwrote-newer

    The response of GET /api/search#​1 wrote search.results over what newer GET /api/search#​2, started 0.08s after GET /api/search#​1, had written (2 items ["re one", "re two"] → 2 items ["r one", "r two"]).

search.spec.ts > search > buggy page: results of the last query

5 seeds (1, 2, 3, 4, 5) · 1 signature · chaos: latency 0–600 ms, reorder

Witnesses (facts measured without the model)

  • Reproducible: 5 of 5 seeds (1, 2, 3, 4, 5) · GET /api/search · witness:overwrote-newer

    The response of GET /api/search#​1 wrote search.results over what newer GET /api/search#​4, started 0.25s after GET /api/search#​1, had written (2 items ["reac one", "reac two"] → 2 items ["r one", "r two"]).

3 tests with nothing flagged
  • [chromium] search.spec.ts > search > fixed page: results of the last query (2 seeds: 1, 2)
  • search.spec.ts > search > fixed page: results of the last query (5 seeds: 1, 2, 3, 4, 5)
  • search.spec.ts > search > latency only > buggy page, latency only: results of the last query (5 seeds: 1, 2, 3, 4, 5)

Lines under "Witnesses (facts measured without the model)" are happens-before facts the runtime measured in the page without the model, one per signature (witness kind, operation): overwrote-newer, a response wrote a field over what a newer request or the user had written since the request started; identical-in-flight, two identical requests in flight together from separate user actions. They carry no confidence: a fact is listed when it happened. Reproducible: seen in 2 or more seeds of the same test. Whether a fact is a bug is for you to decide (some overwrites are intended; many are repaired a moment later).


genclass-dev[bot] read 19 race files from the artifacts genclass-races-unmodified, genclass-races of this pull request's workflow run, never your source code. What the lines mean · Setup and settings · reply @genclass-dev help

@MeharPro
MeharPro merged commit e35377e into main Nov 12, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant