Repository navigation
Releases: ilovepixelart/pass-or-bust-mod
Releases · ilovepixelart/pass-or-bust-mod
Release list
pass-or-bust 0.3.1
Fixed
- A test run followed by another command settled on that command's exit code:
npm test || echo failedandnpm test; git statusanswer 0 when the tests fail, so a bet on pass was paid on failing tests. A test run that is not the last command now settles on its summary, as a piped run does. - A test run sent to the background with
&(npm test &) opened a market, and the shell's immediate 0 settled it as a pass before any test ran. Such a run now opens no market. - A run filtered through
grep -vor--invert-matchsettled on the summaries left after grep dropped the lines it named, which can be a failing suite's. Such a run now opens no market.
pass-or-bust 0.3.0
Fixed
- A test run piped through
grepnever settled: no market opened, so a bet placed between runs stood through it and waited for the next unfiltered run. Claude checks its fixes this way (npm test 2>&1 | grep -E "^(not )?ok|^# (pass|fail)"). Such a run now settles on the summary grep kept, read only by runners whose summary a dropped line cannot turn into a pass (bun, deno, node, pytest, jest, vitest); without a whole summary it is void. go and cargo runs through grep, andgrep -o, still open no market. - An output holding several summaries (a workspace running one suite per package) settled on the last one, so a failing package followed by a passing one paid a bet on pass. Every summary in the output now counts, and one failing summary fails the run.
- A
|,&∨inside quotes split the command: ingrep -E "ok|fail"the pattern was read as a pipe. Commands are now cut only outside quotes. - A heredoc's lines were read as commands, so writing
npm testinto a file withcat <<'EOF'opened a market, and quotes inside a heredoc body could hide the test run after it. Heredoc bodies are now skipped.
Changed
- A refunded run now reads "gave no result" (
· REFUNDED. The run gave no result, $100 back.,Last run · no result) instead of "never finished": a run filtered down to no summary finished, it just left nothing to settle on.
pass-or-bust 0.2.0
Fixed
- A failing
node --testsuite run through a script runner and a pipe (npm test 2>&1 | tail -60) settled as a pass: with no runner named, every runner's summary was tried, and the go reader took the first word of a TAP line (ok 1 - name) for go'sok <package>. A bet on pass would have been paid on failing tests. The go reader now only accepts go's own result lines (ok <package> <time>,FAIL <package> <time>, a closingPASSorFAIL).
Added
node --testopens a market, and its summary (# pass 2,# fail 1, which it prints when it is not in a terminal, as under Claude) settles a piped run.
pass-or-bust 0.1.0
First release. Requires Claude Code 2.1.287 or later.
Added
- Slots for test runs: when Claude runs a test command, three reels spin
above the prompt and stop left to right on the run's real result:
pass, fail, or void when the run never reached a result. - Bets of 100 fake credits:
1bets on pass and2on fail, typed at an
empty prompt while the reels spin, orctrl+x tabthen1or2
between runs. A bet placed between runs stands for the next run;c
cancels it. A bankroll below one stake offers a bailout,b. - Odds from the project's own record, kept per working directory: the
chance of a pass is(passes + 1) / (runs + 2), and each side pays
0.95 / chance, rounded down to the cent and held between 1.01 and 50. - Test commands detected for npm, pnpm, yarn, bun, deno, jest, vitest,
pytest (also throughpython -manduv run), go, cargo, make, mix,
rspec, dotnet, mvn and gradle. - Runs piped through
tail,teeorcatsettle from the runner's own
summary for bun, deno, go, cargo, pytest, jest and vitest; unreadable
or cut-off output is void and refunds the stake. Pipes through other
commands, and background runs, open no market. - With a bet on and the reels on screen, the test result is held back
from Claude until the reels stop, at most 2.5 seconds, and returned
unchanged. - A tally, a coin pile and a CASHED OUT, BUSTED or REFUNDED stamp on
settlement, with a toast and a sound once the stamp lands. /bankroll: balance, lifetime P&L, a chart of recent bets, win rate,
pass rate, best streak, bailouts and a rank from "Generous donor to
the house" to "The House".- A versioned store layout (
layout: 1). A store saved in a newer layout
is neither read nor overwritten; the mod says so and opens no market. - Settlement and bets read the bankroll from the store right before
saving, and the bankroll is loaded again after/clear,/resumeand
/branch.
Public surface
- Command:
/bankroll. - Keys:
1,2,c,bon the band;ctrl+x tabfocuses it. - Plugin store keys:
layout(1),bank,slip,history:<cwd>.
Known limitations
- Sessions share one store and it has no atomic update: a result another
session saves between this session's read and its save is lost. - Designed for a dark Claude Code theme.