coldpass

asottile/add-trailing-comma

GitHub ↗ · How this check works

Per-setup public labels: Linux / Haiku: Works · Linux / Luna: Works

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/asottile--add-trailing-comma.svg).

coding

Works

The recorded run passed on 2 setups.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Tested on Linux
PlatformHaikuLuna
Linuxyesyes

Linux / Haiku 5.5: yes · Oct 27, 2026 · 4aa21034cf9e · claude-code / 2.1.310 (Claude Code)
Recorded operation: <guest-path>

Linux / Luna: yes · Oct 27, 2026 · 4aa21034cf9e · codex / codex-cli 0.164.0
Recorded operation: /tmp/add-trailing-comma-venv/bin/python -m add_trailing_comma --exit-zero-even-if-changed

Does what it says
3 of 3 claims checked out
  • adds trailing commas to function calls: Real input produced the expected result: arg2,

    Source: A tool (and pre-commit hook) to automatically add trailing commas to calls and

    Input: x( arg, arg2 )

    Expected: last argument gets a trailing comma

    Command: <guest-path> -

    Observed: arg2, )

  • unhugs leading paren and adds trailing comma: Real input produced the expected result: arg2,

    Source: -function_name(arg1,

    Input: function_name(arg1, arg2)

    Expected: arguments are split onto their own lines with trailing comma

    Command: <guest-path> -

    Observed: arg2, )

  • removes unnecessary trailing commas: Real input produced the expected result: [1, 2, 3]

    Source: -[1, 2, 3,]

    Input: [1, 2, 3,]

    Expected: trailing comma removed from single-line list

    Command: <guest-path> -

    Observed: [1, 2, 3]

MCP
No
Local or hosted
local
Local: runs on your machine
Needs keys or browser
None seen
Maintained
Maintained
actively maintained: last commit 14 days ago; 10 commits and 5 merged PRs in 90 days; 0 open issues, 0 open PRs; 19 of 24 recent threads got a maintainer reply, median first reply 0.3h; no releases

Last commit Oct 13, 2026

Setup time
1 min 33 s
1 min 33 s to a working result
Issue
none found in recorded check
Examples
1 of 1 ran as expected
  • repository test suite (documented tox command) passes: command completed successfully

    Source: tox.ini

    Input: tests directory

    Expected: all tests pass

    Command: <guest-path> -m pytest tests

    Observed: ............ [ 47%] tests/features/match_test.py ......... [ 53%] tests/features/pep695_test.py ......... [ 59%] tests/features/remove_commas_test.py ........ [ 64%] tests/features/unhug_test.py ............................. [ 84%] tests/features/with_test.py ........... [ 91%] tests/main_test.py ............ [100%] ============================= 148 passed in 1.62s ==============================

  • pre-commit hook usage: pre-commit needs to clone the repo from GitHub and install its own environment; not run in this guest. Ran the CLI hook entry directly instead via the claims above.

    Source: README.md

    Expected: documented command completes successfully

    Observed: pre-commit needs to clone the repo from GitHub and install its own environment; not run in this guest. Ran the CLI hook entry directly instead via the claims above.

Evidence
README behavior checked
Agent interfaces
CLI
CLI

Observed interfaces were exercised by the checker. Documentation alone does not confirm compatibility.

Tested with
Claude Code / Haiku 5.5
  • Linux: Claude Code / Haiku 5.5 · agent 2.1.310 (Claude Code) · Checked operation passed · Oct 27, 2026 on 4aa21034cf9e

Each entry describes its recorded operation and source revision.

Safety
No unexpected network or file activity found in these checks

No problems traced to this repository code in these checks; a short run cannot prove safety.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

Full event, path and process lists for each observed setup:

Repair history and test corrections
Run details

Haiku 5.5

Native agent · Checked operation passed

Checked operation <guest-path> -

Agent-reported scope: Run add-trailing-comma on Python source via its documented CLI (stdin mode) and get trailing commas added; run the test suite

Run details
run
asottile--add-trailing-comma-claude-haiku-5-5-1793135839621073920
date
Oct 27, 2026
time to working
92.9s
product hosting / execution
Local command in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.310 (Claude Code)
platform
linux
reported cost
$0.008819
Recorded source
https://github.com/asottile/add-trailing-comma
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "4aa21034cf9e0aef19376abd3922943400b16ee1", "url": "https://github.com/asottile/add-trailing-comma"}
Test version
readme-d5b140d3c0f8b95c2dd6fe6fc381a303cacb92679582c22317d8e78b572f0cf2
revision
4aa21034cf9e0aef19376abd3922943400b16ee1
Current diagnosis: test · resolved

native Claude returned a different model

Repair record fix-cebcfa10cb08ec7216ef · current status JSON. Original run outcomes remain unchanged.

Failed run: asottile/add-trailing-comma · Oct 27, 2026 · Our test failed; no repo verdict.

Test-repair rerun: asottile/add-trailing-comma · Oct 27, 2026 · Checked operation passed.

Double-checks failed run: asottile/add-trailing-comma · Oct 27, 2026.

Fix: fix-cebcfa10cb08ec7216ef.

Safety: No problems traced to this repository code in these checks.

No problems traced to this repository code in these checks.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • adds trailing commas to function calls: Real input produced the expected result: arg2,

    Source: A tool (and pre-commit hook) to automatically add trailing commas to calls and

    Input: x( arg, arg2 )

    Expected: last argument gets a trailing comma

    Command: <guest-path> -

    Observed: arg2, )

  • unhugs leading paren and adds trailing comma: Real input produced the expected result: arg2,

    Source: -function_name(arg1,

    Input: function_name(arg1, arg2)

    Expected: arguments are split onto their own lines with trailing comma

    Command: <guest-path> -

    Observed: arg2, )

  • removes unnecessary trailing commas: Real input produced the expected result: [1, 2, 3]

    Source: -[1, 2, 3,]

    Input: [1, 2, 3,]

    Expected: trailing comma removed from single-line list

    Command: <guest-path> -

    Observed: [1, 2, 3]

Examples

  • repository test suite (documented tox command) passes: command completed successfully

    Source: tox.ini

    Input: tests directory

    Expected: all tests pass

    Command: <guest-path> -m pytest tests

    Observed: ............ [ 47%] tests/features/match_test.py ......... [ 53%] tests/features/pep695_test.py ......... [ 59%] tests/features/remove_commas_test.py ........ [ 64%] tests/features/unhug_test.py ............................. [ 84%] tests/features/with_test.py ........... [ 91%] tests/main_test.py ............ [100%] ============================= 148 passed in 1.62s ==============================

  • pre-commit hook usage: pre-commit needs to clone the repo from GitHub and install its own environment; not run in this guest. Ran the CLI hook entry directly instead via the claims above.

    Source: README.md

    Expected: documented command completes successfully

    Observed: pre-commit needs to clone the repo from GitHub and install its own environment; not run in this guest. Ran the CLI hook entry directly instead via the claims above.

Local or hosted: local

What the agent did

Run add-trailing-comma on Python source via its documented CLI (stdin mode) and get trailing commas added; run the test suite

cd <guest-path> && pwd && ls -la && git status 2>&1 | head -3; id -u; python3 --version; cat README.md 2>/dev/null | head -150
ls /inputs 2>&1; ls <guest-path> 2>&1; echo CDP=$CDP_URL $<env-var>
cd <guest-path> && sed -n 150,400p README.md; ls -la .coldpass; cat setup.py tox.ini; cat requirements-dev.txt
cd <guest-path> && grep -n -i "usage\|^#" README.md; sed -n 1,80p add_trailing_comma/_main.py | grep -n "argparse\|add_argument\|def main" ; which pip3 python3; python3 -m venv --help >/dev/null 2>&1 && echo venv_ok
cd <guest-path> && git init -q && git remote add origin https://github.com/asottile/add-trailing-comma && (git fetch --depth 1 origin 4aa21034cf9e0aef19376abd3922943400b16ee1 2>&1 | tail -3) && git reset --mixed FETCH_HEAD 2>&1 | tail -2; git log --oneline -1; python3 -m venv <guest-path> && <guest-path> install -q --upgrade pip && <guest-path> install -q -r requirements-dev.txt && <guest-path> install -q . 2>&1 | tail -5; ls <guest-path> | grep -i trailing
cd <guest-path> && sed -n 1,60p add_trailing_comma/_main.py; sed -n 56,120p add_trailing_comma/_main.py | grep -n "in_place\|print\|write" 
cd <guest-path> && printf 'x(\n    arg,\n    arg2\n)\n' | <guest-path> -; echo rc=$?; printf 'x = [\n    1, 2, 3\n]\n' | <guest-path> -; echo rc=$?; <guest-path> --version; <guest-path> -m pytest -q tests 2>&1 | tail -3
cd <guest-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":["<guest-path>","-"],"cwd":"<guest-path>","stdin":"x(\n    arg,\n    arg2\n)\n","expected_returncode":1,"expected_text":"    arg2,"}
EOF
cat > .coldpass/claims.json <<'EOF'
[
{"kind":"claim","claim":"adds trailing commas to function calls","source":"A tool (and pre-commit hook) to automatically add trailing commas to calls and","input":"x(\n    arg,\n    arg2\n)\n","expected":"last argument gets a trailing comma","probe_kind":"cli","argv":["<guest-path>","-"],"stdin":"x(\n    arg,\n    arg2\n)\n","expected_returncode":1,"expected_text":"    arg2,","cwd":"<guest-path>"},
{"kind":"claim","claim":"unhugs leading paren and adds trailing comma","source":"-function_name(arg1,","input":"function_name(arg1,\n              arg2)\n","expected":"arguments are split onto their own lines with trailing comma","probe_kind":"cli","argv":["<guest-path>","-"],"stdin":"function_name(arg1,\n              arg2)\n","expected_returncode":1,"expected_text":"    arg2,","cwd":"<guest-path>"},
{"kind":"claim","claim":"removes unnecessary trailing commas","source":"-[1, 2, 3,]","input":"[1, 2, 3,]\n","expected":"trailing comma removed from single-line list","probe_kind":"cli","argv":["<guest-path>","-"],"stdin":"[1, 2, 3,]\n","expected_returncode":1,"expected_text":"[1, 2, 3]","cwd":"<guest-path>"}
]
EOF
cat > .coldpass/examples.json <<'EOF'
[
{"kind":"example","claim":"repository test suite (documented tox command) passes","source":"tox.ini","input":"tests directory","expected":"all tests pass","argv":["<guest-path>","-m","pytest","tests"],"cwd":"<guest-path>","expected_text":"passed"},
{"kind":"example","claim":"pre-commit hook usage","source":"README.md","reason":"pre-commit needs to clone the repo from GitHub and install its own environment; not run in this guest. Ran the CLI hook entry directly instead via the claims above."}
]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"Entry points inspected (add_trailing_comma/_main.py, setup.py, README.md, tox.ini): this is a one-shot CLI and pre-commit hook with no scheduler, loop, daemon, webhook, or --once/--now mode; it runs once per invocation.","checks":[]}
EOF
<guest-path> -m json.tool .coldpass/*.json >/dev/null -I 2>&1; for f in .coldpass/*.json; do python3 -c "import json,sys;json.load(open(sys.argv[1]))" $f && echo ok $f; done; <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | tail -60
cd <guest-path> && ls -a; ls -d build *.egg-info add_trailing_comma.egg-info 2>/dev/null; git status --short | head; cat > .coldpass/report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Run add-trailing-comma on Python source via its documented CLI (stdin mode) and get trailing commas added; run the test suite","operation_scope":"Local CLI on Python 3.12.3 in a venv at <guest-path>; install from the local pinned checkout (commit 4aa21034cf9e0aef19376abd3922943400b16ee1); no browser or credentials needed","steps":["git init; git remote add origin https://github.com/asottile/add-trailing-comma; git fetch --depth 1 origin 4aa21034cf9e0aef19376abd3922943400b16ee1; git reset --mixed FETCH_HEAD","python3 -m venv <guest-path>","<guest-path> install -r requirements-dev.txt","<guest-path> install .","printf 'x(\\n    arg,\\n    arg2\\n)\\n' | <guest-path> -","<guest-path> -m pytest tests (148 passed)"],"deviations":["README install is 'pip install add-trailing-comma' from PyPI; instead installed the pinned local source checkout with 'pip install .' so the tested code is the snapshot under review.","pre-commit hook usage in README not run: it requires cloning the repo from GitHub and creating its own environment; the hook entry was exercised through the CLI instead.","The tool exits 1 when it rewrites input (documented in claims as expected_returncode 1); --version is not supported (help-only check, not used as evidence)."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
python3 -c "import json;json.load(open('.coldpass/report.json'));print('report ok')"
cd <guest-path> && rm -rf build add_trailing_comma.egg-info .pytest_cache && <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | python3 -c "import sys,json;d=json.loads(sys.stdin.read());print(d['valid'],d['problems'],d['replay']['status'])"
Earlier attempts (1)

Luna

Native agent · Checked operation passed

Checked operation /tmp/add-trailing-comma-venv/bin/python -m add_trailing_comma --exit-zero-even-if-changed -

Agent-reported scope: Format a multiline Python call from standard input with add-trailing-comma.

Run details
run
asottile--add-trailing-comma-gpt-6-luna-1793119085854823601
date
Oct 27, 2026
time to working
57.1s
product hosting / execution
Local command in the guest
recorded operation scope
product operation
model
gpt-6-luna
agent / version
codex / codex-cli 0.164.0
platform
linux
reported cost
not reported (not assumed free)
Recorded source
https://github.com/asottile/add-trailing-comma
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "4aa21034cf9e0aef19376abd3922943400b16ee1", "url": "https://github.com/asottile/add-trailing-comma"}
Test version
readme-ac930eb9fc75cc63c6057cdad501c59d2417e7471a7c5464042953dd69e0a284
revision
4aa21034cf9e0aef19376abd3922943400b16ee1
Whose fault: not assigned · resolved

Double-checks failed run: asottile/add-trailing-comma · Oct 27, 2026.

Safety: No problems traced to this repository code in these checks.

No problems traced to this repository code in these checks.

Reviewed as expected for a test run: attempted writes that failed, so nothing was written.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • Adds a trailing comma to multiline function calls.: Real input produced the expected result: function_call( argument, 5 ** 5, kwarg=foo, )

    Source: A tool (and pre-commit hook) to automatically add trailing commas to calls and

    Input: function_call( argument, 5 ** 5, kwarg=foo )

    Expected: function_call( argument, 5 ** 5, kwarg=foo, )

    Command: /tmp/add-trailing-comma-venv/bin/python -m add_trailing_comma --exit-zero-even-if-changed -

    Observed: function_call( argument, 5 ** 5, kwarg=foo, )

Examples

  • Format multiline call supplied on stdin: command completed successfully

    Source: README.md, multi-line method invocation style

    Input: function_call( argument, 5 ** 5, kwarg=foo )

    Expected: function_call( argument, 5 ** 5, kwarg=foo, )

    Command: /tmp/add-trailing-comma-venv/bin/python -m add_trailing_comma --exit-zero-even-if-changed -

    Observed: function_call( argument, 5 ** 5, kwarg=foo, )

Local or hosted: local

What the agent did

Format a multiline Python call from standard input with add-trailing-comma.

pwd && git status --short && python3 --version && sed -n '1,240p' README.md && rg --files -g 'pyproject.toml' -g 'setup.py' -g 'tox.ini' -g 'Makefile' -g 'tests/**' -g '.coldpass/**' -g 'setup.cfg' -g 'requirements*'
python3 --version; sed -n '1,240p' README.md; rg --files -g 'pyproject.toml' -g 'setup.py' -g 'tox.ini' -g 'Makefile' -g 'tests/**' -g '.coldpass/**' -g 'setup.cfg' -g 'requirements*'
sed -n '240,520p' README.md; find . -maxdepth 3 -type f | sort | head -100; python3 -m pip --version; python3 -m pip install add-trailing-comma; python3 -m pip show add-trailing-comma tokenize-rt || true
python3 -m venv /tmp/add-trailing-comma-venv
 /tmp/add-trailing-comma-venv/bin/python -m pip install add-trailing-comma
printf 'function_call(\n    argument,\n    5 ** 5,\n    kwarg=foo\n)\n' | /tmp/add-trailing-comma-venv/bin/python -m add_trailing_comma --exit-zero-even-if-changed -; sed -n '1,220p' setup.cfg; cat tox.ini; sed -n '1,220p' add_trailing_comma/__main__.py; cat .github/workflows/main.yml
mkdir -p .coldpass; cat > .coldpass/probe.json <<'EOF'
{"kind":"cli","argv":["/tmp/add-trailing-comma-venv/bin/python","-m","add_trailing_comma","--exit-zero-even-if-changed","-"],"cwd":"<guest-path>","stdin":"function_call(\n    argument,\n    5 ** 5,\n    kwarg=foo\n)\n","expected_text":"function_call(\n    argument,\n    5 ** 5,\n    kwarg=foo,\n)\n"}
EOF
cat > .coldpass/claims.json <<'EOF'
[{"kind":"claim","claim":"Adds a trailing comma to multiline function calls.","source":"A tool (and pre-commit hook) to automatically add trailing commas to calls and","input":"function_call(\n    argument,\n    5 ** 5,\n    kwarg=foo\n)\n","expected":"function_call(\n    argument,\n    5 ** 5,\n    kwarg=foo,\n)\n","probe_kind":"cli","argv":["/tmp/add-trailing-comma-venv/bin/python","-m","add_trailing_comma","--exit-zero-even-if-changed","-"],"stdin":"function_call(\n    argument,\n    5 ** 5,\n    kwarg=foo\n)\n","expected_text":"function_call(\n    argument,\n    5 ** 5,\n    kwarg=foo,\n)\n","cwd":"<guest-path>"}]
EOF
cat > .coldpass/examples.json <<'EOF'
[{"kind":"example","claim":"Format multiline call supplied on stdin","source":"README.md, multi-line method invocation style","input":"function_call(\n    argument,\n    5 ** 5,\n    kwarg=foo\n)\n","expected":"function_call(\n    argument,\n    5 ** 5,\n    kwarg=foo,\n)\n","argv":["/tmp/add-trailing-comma-venv/bin/python","-m","add_trailing_comma","--exit-zero-even-if-changed","-"],"cwd":"<guest-path>","stdin":"function_call(\n    argument,\n    5 ** 5,\n    kwarg=foo\n)\n","expected_text":"function_call(\n    argument,\n    5 ** 5,\n    kwarg=foo,\n)\n"}]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"Inspected README, setup entry points, and CI workflow: the product formats supplied source on each invocation and exposes no scheduler, loop, webhook, or cycle trigger.","checks":[]}
EOF
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
cat requirements-dev.txt
 /tmp/add-trailing-comma-venv/bin/python -m pip install -r requirements-dev.txt
/tmp/add-trailing-comma-venv/bin/python -m pytest tests
cat > .coldpass/report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Format a multiline Python call from standard input with add-trailing-comma.","operation_scope":"Python 3.12.3 virtual environment with add-trailing-comma 4.0.0 and tokenize-rt 6.2.0.","steps":["Read README installation and multiline-call example.","Created /tmp/add-trailing-comma-venv and installed add-trailing-comma.","Ran the documented formatter entry point against the README call; it added the trailing comma.","Ran the repository test suite: 148 passed.","Coldpass validation and replay passed, including the README claim, example, and cycle inspection."],"deviations":["System pip install failed with externally-managed-environment; installed dependencies using the supported venv instead."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay

No product verdict. Run record.

No product verdict. Run record.

No product verdict. Run record.