Releases: kiyoakii/is-gpt-nerfed
Release list
0.5.1
- The 0.5.0 app crashed at launch on every Mac except the one that built it: the localization looked its resource
bundle up through SwiftPM's generated accessor, which only checks the .app root and the build machine's absolute
path. The bundle is now located explicitly (Contents/Resources first) and a missing bundle falls back to English
instead of trapping. Reported and fixed by JoyboyBrian (#2, #4). nerfedlinked into ~/.local/bin by install.sh failed with "No such file or directory": the wrapper resolved the
repository from the symlink's own path. It follows the symlink first now. Reported and fixed by JoyboyBrian (#3, #5).- The 30-minute schedule missed sessions: the hooks only ran it at the end of a turn, so a session that went quiet
before its due time (or whose last turn ended in an error, which fires no Stop hook) was never probed, and the
panel showed it as "due" forever. The app now runsnerfed tickwhen the snapshot shows a thread that is due and
active, and the tick launches the same background probe the Stop hook would. Threads quiet for more than 15
minutes are left alone.
0.5.0
- The app speaks Simplified Chinese: the panel, settings, evidence lines, progress and error messages follow the
system's preferred languages, with English as the fallback. Model IDs, reasoning-effort values and your own session
titles stay as they are; stored records, CLI output and notifications are unchanged. A Chinese README
(README.zh-CN.md) came with it. Contributed by sudoHG (#1). nerfed selftestcrashed on its own synthetic analysis; an analysis without candidates is now Invalid instead of
an error.- The hooks' fallback path points at the plugin's source (the checkout or the app bundle) instead of a Codex cache
directory, so hooks keep working after a version bump makes Codex delete the old cache.
0.4.4
- A failed attempt no longer sends a notification; it is logged and the row offers Retry. Codex's transient
"thread history projection is behind durable rollout" store error counts as transient: one retry after a pause. - config.json keeps only the settings you changed, so new defaults apply after an update.
0.4.3
- A fork that has not answered within the deadline (now 300 s) is replaced once, so a slow model does not drop out of
the sample and leave the verdict to whichever model answered fast. The record says so (topped_up). - A Mismatch needs at least two answers; a single answer only ever reaches Suspicious.
0.4.2
- Probes identify themselves to the service as the client they check for: the probed session's own originator
(Codex Desktop, orcodex_cli_rs), instead of the probe's clientInfo name. If routing depends on the client, the
probe now sees what the desktop sees.probe_originatorin the config and--originatoronprobe now/probe freshoverride it for A/B tests; the report says which client a probe ran as.
Install or update: the app offers this release in its footer; new installs use
curl -fsSL https://raw.githubusercontent.com/kiyoakii/is-gpt-nerfed/main/install-app.sh | sh0.4.1
First public beta. Install with one line in Terminal:
curl -fsSL https://raw.githubusercontent.com/kiyoakii/is-gpt-nerfed/main/install-app.sh | shNot notarized yet: a browser-downloaded copy needs System Settings → Privacy & Security → Open Anyway on first launch; the installer above avoids that.
- Panel: click a thread (or the fresh-session row) and the lines under its title slide aside for its report:
last verdict, fingerprint, probe facts, earlier probes, evidence with what was reverted, Copy report; nothing
else moves. Right-click for Probe, Copy report, Reveal folder. Settings is a page of its own. Fresh session sits
below the threads; the header is the chip face with one short line per fact; the panel is a little narrower.
The Report window is gone (the report lives in the rows;nerfed reportremains). - Self-update: every 10 minutes the app asks GitHub for the latest release tag (one request;
check_updates
switches it off) and shows "vX.Y.Z is out · update" in the footer, with one notification per new version. Clicking
it downloads the release zip, verifies its sha256, replaces the app (the old copy goes to the Trash) and relaunches
(nerfed update-install). Failed checks are silent.build.sh --dmgmakes a disk image for first-time downloads;
build.sh --releasesigns with a Developer ID, notarizes and staples both (SIGN_IDENTITY, NOTARY_PROFILE).
install-app.shinstalls the latest release from Terminal with the checksum verified and no Gatekeeper block. - "Open folder in Finder" (right-click) now opens the thread's folder; it used to only activate Finder, which showed
whatever window was in front. - Copy report moved to the row's right-click menu. The prompt-language row left Settings: the probes use
ModelTrace's own zh and en prompt texts, its default;languagesstays as a config key. - Upgraded: a move to a better model (a rollout such as gpt-5.6-sol → gpt-6-sol) is a state of its own, shown in green
and notified, from the passive scanner or the fingerprint. Better or worse is decided bycompare_models, not a
fixed list: Codex's catalog succession pointer, hidden internal models, the generation and size tier in the slug,
then Codex's own ranking, the highest supported reasoning effort and the context window. - The headline is "All clear" unless something is downgraded or suspicious; an unverified count (a verdict from
another account, or from before accounts were tracked) follows on the next line instead of being the headline. - Fixed: the SessionStart hook crashed (silently, in the fail-safe) on a keyword collision, so session starts were
not logged. - A failed attempt (Invalid) is no longer shown as a verdict: the row keeps its last verdict and offers Retry; the
report notes the attempt. A verdict from another account reads "Unverified · Match, another account"
instead of a greyed-out Match. - Probes: a Suspicious first round no longer triggers a second one by default (
confirm_uncertainis opt in), so a
probe costs three answers. - Scanner: Codex's usage-limit snapshot in the rollout is not read as a serving signal (it is the last limit family
Codex parsed from the headers, not the bucket the turn was charged to); the "at the usage limit" label only uses
the default family.
0.4.0 (beta)
First beta. macOS 26 menu bar app with the Codex plugin bundled: move IsGPTNerfed.app to Applications, open it (first launch: right-click → Open, it is ad-hoc signed), click the face in the menu bar and press Install. Then work in Codex as usual; probes run in the background on your schedule. See README for how verdicts are made and what is logged.
sha256 in the .sha256 file. Feedback: open an issue with the output of nerfed doctor --live and nerfed log --since 2h.