[37m2026-03-19 09:05:33.784[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37mnative:1[39m[0m[0m[1m[37m Pochi[39m[22m[0m[0m pochi v0.6.1 [37m2026-03-19 09:05:33.970[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:503183[39m[0m[0m[1m[37m loadAgents[39m[22m[0m[0m Loaded 5 custom agents (5 valid, 0 invalid) [37m2026-03-19 09:05:33.972[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:503184[39m[0m[0m[1m[37m loadSkills[39m[22m[0m[0m Loaded 2 skills (2 valid, 0 invalid) [37m2026-03-19 09:05:34.000[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:439420[39m[0m[0m[1m[37m PochiVendor[39m[22m[0m[0m JWT is expiring or missing, fetching a new one [37m2026-03-19 09:05:35.963[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:415701[39m[0m[0m[1m[37m MCPHub[39m[22m[0m[0m MCP servers configuration changed via signal: [37m2026-03-19 09:05:35.964[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:415813[39m[0m[0m[1m[37m MCPHub[39m[22m[0m[0m Build MCPHub Status [37m2026-03-19 09:05:36.163[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:502609[39m[0m[0m[1m[37m TaskRunner[39m[22m[0m[0m Starting TaskRunner... [37m2026-03-19 09:05:36.192[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /home/user/repo with maxItems [33m500[39m [37m2026-03-19 09:05:36.382[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:496641[39m[0m[0m[1m[37m generateTaskTitle[39m[22m[0m[0m Generating task title, old: null, new: The repository at `/home/user/repo` contains 12 commits interleaved between a human author and `bot@company.com`. Consecutive bot commits should be squashed into single commits with descriptions in the format `chore: [bot] squashed N automated commits`. Human commits must remain untouched. After rewriting, update the `main` bookmark and write a squash log to `/home/user/squash_log.txt` showing which original commits were merged into each squashed commit. [37m2026-03-19 09:05:46.298[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /home/user/repo with maxItems [33m500[39m [37m2026-03-19 09:05:48.210[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:496641[39m[0m[0m[1m[37m generateTaskTitle[39m[22m[0m[0m Generating task title, old: The repository at `/home/user/repo` contains 12 commits interleaved between a human author and `bot@company.com`. Consecutive bot commits should be squashed into single commits with descriptions in the format `chore: [bot] squashed N automated commits`. Human commits must remain untouched. After rewriting, update the `main` bookmark and write a squash log to `/home/user/squash_log.txt` showing which original commits were merged into each squashed commit., new: Squash consecutive bot commits and update main with squash log [37m2026-03-19 09:05:49.900[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /home/user/repo with maxItems [33m500[39m [37m2026-03-19 09:05:52.816[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /home/user/repo with maxItems [33m500[39m [37m2026-03-19 09:05:58.238[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /home/user/repo with maxItems [33m500[39m [37m2026-03-19 09:06:02.563[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /home/user/repo with maxItems [33m500[39m [37m2026-03-19 09:06:09.948[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /home/user/repo with maxItems [33m500[39m [37m2026-03-19 09:06:13.474[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /home/user/repo with maxItems [33m500[39m [37m2026-03-19 09:06:18.229[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /home/user/repo with maxItems [33m500[39m [37m2026-03-19 09:06:28.881[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m[39m[0m[0m[1m[37m TaskRunner[39m[22m[0m[0m Failed: [97m[101m[1m TypeError [22m[49m[39m[0m[0m undefined is not an object (evaluating 'getErrorTrace(error40).map'), 417706, 47, 417706, 47, /$bunfs/root/pochi[0m[0m error stack: • [33mpochi[39m[0m[0m prettyFormatErrorObj[0m[0m [37m/$bunfs/root/pochi:417706[39m[0m[0m • [33mpochi[39m[0m[0m <anonymous>[0m[0m [37m/$bunfs/root/pochi:417701[39m[0m[0m • [33mnative[39m[0m[0m reduce[0m[0m [37mnative:1[39m[0m[0m • [33mpochi[39m[0m[0m log[0m[0m [37m/$bunfs/root/pochi:417840[39m[0m[0m • [33mpochi[39m[0m[0m onError[0m[0m [37m/$bunfs/root/pochi:500813[39m[0m[0m • [33mpochi[39m[0m[0m makeRequest[0m[0m [37m/$bunfs/root/pochi:432009[39m[0m[0m • [33mpochi[39m[0m[0m async <anonymous>[0m[0m [37m/$bunfs/root/pochi:431766[39m[0m[0m • [33mpochi[39m[0m[0m async step[0m[0m [37m/$bunfs/root/pochi:502738[39m[0m[0m • [33mpochi[39m[0m[0m async run[0m[0m [37m/$bunfs/root/pochi:502615[39m[0m[0m • [33m[39m[0m[0m [0m[0m [37m[39m[0m[0m • [33mnative[39m[0m[0m processTicksAndRejections[0m[0m [37mnative:7[39m[0m[0m[0m[0m undefined is not an object (evaluating 'getErrorTrace(error40).map')
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:2 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
curl is already the newest version (8.5.0-2ubuntu10.8).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.
downloading uv 0.9.7 x86_64-unknown-linux-gnu
no checksums to verify
installing to /root/.local/bin
uv
uvx
everything's installed!
To add $HOME/.local/bin to your PATH, either restart your shell or run:
source $HOME/.local/bin/env (sh, bash, zsh)
source $HOME/.local/bin/env.fish (fish)
Downloading pygments (1.2MiB)
Downloading pygments
Installed 6 packages in 27ms
============================= test session starts ==============================
platform linux -- Python 3.12.3, pytest-8.4.1, pluggy-1.6.0
rootdir: /tests
plugins: json-ctrf-0.3.5
collected 7 items
../../../tests/test_outputs.py FF..F.. [100%]
=================================== FAILURES ===================================
____________________________ test_squash_log_exists ____________________________
def test_squash_log_exists():
> assert os.path.exists(SQUASH_LOG), f"squash_log.txt must exist at {SQUASH_LOG}"
E AssertionError: squash_log.txt must exist at /home/user/squash_log.txt
E assert False
E + where False = <function exists at 0x7589865f7560>('/home/user/squash_log.txt')
E + where <function exists at 0x7589865f7560> = <module 'posixpath' (frozen)>.exists
E + where <module 'posixpath' (frozen)> = os.path
/tests/test_outputs.py:20: AssertionError
____________________________ test_fewer_bot_commits ____________________________
def test_fewer_bot_commits():
result = run_jj(["log", "--no-graph", "-r", 'author("bot@company.com")',
"-T", "description.first_line() ++ '\n'"])
assert result.returncode == 0
lines = [l for l in result.stdout.splitlines() if l.strip()]
# Originally 8 bot commits in 3 consecutive groups; after squashing should be fewer
> assert len(lines) < 8, f"After squashing, should have fewer than 8 bot commits, got {len(lines)}"
E AssertionError: After squashing, should have fewer than 8 bot commits, got 8
E assert 8 < 8
E + where 8 = len(['chore: automated format fix 3', 'chore: automated lint fix 5', 'chore: automated lint fix 4', 'chore: automated format fix 2', 'chore: automated lint fix 3', 'chore: automated format fix 1', ...])
/tests/test_outputs.py:29: AssertionError
___________________ test_squash_log_mentions_merged_commits ____________________
def test_squash_log_mentions_merged_commits():
> with open(SQUASH_LOG) as f:
^^^^^^^^^^^^^^^^
E FileNotFoundError: [Errno 2] No such file or directory: '/home/user/squash_log.txt'
/tests/test_outputs.py:53: FileNotFoundError
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED ../../../tests/test_outputs.py::test_human_commits_preserved
PASSED ../../../tests/test_outputs.py::test_squashed_bot_commits_have_correct_format
PASSED ../../../tests/test_outputs.py::test_main_bookmark_still_valid
PASSED ../../../tests/test_outputs.py::test_data_and_main_py_intact
FAILED ../../../tests/test_outputs.py::test_squash_log_exists - AssertionErro...
FAILED ../../../tests/test_outputs.py::test_fewer_bot_commits - AssertionErro...
FAILED ../../../tests/test_outputs.py::test_squash_log_mentions_merged_commits
========================= 3 failed, 4 passed in 0.16s ==========================