[37m2026-03-19 08:10:50.343[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 08:10:50.660[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 08:10:50.662[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 08:10:50.702[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 08:10:52.112[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 08:10:52.112[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 08:10:52.211[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 08:10:52.225[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 with maxItems [33m500[39m [37m2026-03-19 08:10:52.414[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: # Task: Migrate a Git Repository to Jujutsu [37m2026-03-19 08:11:16.274[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 with maxItems [33m500[39m [37m2026-03-19 08:11:45.466[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m[39m[0m[0m[1m[37m generateTaskTitle[39m[22m[0m[0m Generating task title, old: # Task: Migrate a Git Repository to Jujutsu, new: Migrate a Git repository to Jujutsu with remote configuration and rebase [37m2026-03-19 08:12:05.567[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 with maxItems [33m500[39m [37m2026-03-19 08:12:49.843[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 with maxItems [33m500[39m [37m2026-03-19 08:13:43.024[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 with maxItems [33m500[39m [37m2026-03-19 08:15:23.884[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 with maxItems [33m500[39m [37m2026-03-19 08:18:45.562[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 with maxItems [33m500[39m [37m2026-03-19 08:19:03.250[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 with maxItems [33m500[39m [37m2026-03-19 08:19:11.277[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 with maxItems [33m500[39m [37m2026-03-19 08:19:21.591[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 with maxItems [33m500[39m [37m2026-03-19 08:19:26.396[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 with maxItems [33m500[39m [37m2026-03-19 08:19:39.812[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454315[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m handling listFile with dirPath /home/user/project and recursive [90mundefined[39m [37m2026-03-19 08:19:39.818[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 with maxItems [33m500[39m [37m2026-03-19 08:19:58.771[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454315[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m handling listFile with dirPath /home/user/project/project and recursive [90mundefined[39m [37m2026-03-19 08:19:58.775[39m[0m[0m [33m[1mWARN[22m[39m[0m[0m [37m/$bunfs/root/pochi:454201[39m[0m[0m[1m[37m ignoreWalk[39m[22m[0m[0m Error reading directory /home/user/project/project: ENOENT: no such file or directory, scandir '/home/user/project/project' [37m2026-03-19 08:19:58.777[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 with maxItems [33m500[39m [37m2026-03-19 08:20:09.485[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454315[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m handling listFile with dirPath /home/user and recursive [90mundefined[39m [37m2026-03-19 08:20:09.489[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 with maxItems [33m500[39m [37m2026-03-19 08:20:13.089[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/root/pochi:454315[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m handling listFile with dirPath /home/user/project and recursive [33mtrue[39m [37m2026-03-19 08:20:13.091[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 with maxItems [33m500[39m [37m2026-03-19 08:20:24.005[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 with maxItems [33m500[39m
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.5 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 5 packages in 14ms
============================= test session starts ==============================
platform linux -- Python 3.12.3, pytest-8.4.1, pluggy-1.6.0 -- /root/.cache/uv/archive-v0/8JFdKHv6ZOR22IdjciHbv/bin/python
cachedir: .pytest_cache
rootdir: /tests
collecting ... collected 3 items
../../tests/test_final_state.py::test_project_is_colocated_repo FAILED [ 33%]
../../tests/test_final_state.py::test_upstream_remote_added FAILED [ 66%]
../../tests/test_final_state.py::test_working_copy_rebased FAILED [100%]
=================================== FAILURES ===================================
________________________ test_project_is_colocated_repo ________________________
def test_project_is_colocated_repo():
dot_jj = os.path.join(PROJECT_REPO, ".jj")
dot_git = os.path.join(PROJECT_REPO, ".git")
> assert os.path.isdir(dot_jj), f"{PROJECT_REPO} is not a valid jj repository (.jj directory missing)."
E AssertionError: /home/user/project is not a valid jj repository (.jj directory missing).
E assert False
E + where False = <function isdir at 0x782b397b02c0>('/home/user/project/.jj')
E + where <function isdir at 0x782b397b02c0> = <module 'posixpath' (frozen)>.isdir
E + where <module 'posixpath' (frozen)> = os.path
/tests/test_final_state.py:10: AssertionError
__________________________ test_upstream_remote_added __________________________
def test_upstream_remote_added():
result = subprocess.run(
["jj", "git", "remote", "list"],
cwd=PROJECT_REPO,
capture_output=True,
text=True,
)
> assert result.returncode == 0, f"jj git remote list failed: {result.stderr}"
E AssertionError: jj git remote list failed: Error: There is no jj repo in "."
E Hint: It looks like this is a git repo. You can create a jj repo backed by it by running this:
E jj git init
E
E assert 1 == 0
E + where 1 = CompletedProcess(args=['jj', 'git', 'remote', 'list'], returncode=1, stdout='', stderr='Error: There is no jj repo in "."\nHint: It looks like this is a git repo. You can create a jj repo backed by it by running this:\njj git init\n').returncode
/tests/test_final_state.py:28: AssertionError
__________________________ test_working_copy_rebased ___________________________
def test_working_copy_rebased():
result = subprocess.run(
["jj", "log", "-r", "@", "--no-graph", "-T", "parents.map(|c| c.bookmarks()).join(', ')"],
cwd=PROJECT_REPO,
capture_output=True,
text=True,
)
> assert result.returncode == 0, f"jj log failed: {result.stderr}"
E AssertionError: jj log failed: Error: There is no jj repo in "."
E Hint: It looks like this is a git repo. You can create a jj repo backed by it by running this:
E jj git init
E
E assert 1 == 0
E + where 1 = CompletedProcess(args=['jj', 'log', '-r', '@', '--no-graph', '-T', "parents.map(|c| c.bookmarks()).join(', ')"], returncode=1, stdout='', stderr='Error: There is no jj repo in "."\nHint: It looks like this is a git repo. You can create a jj repo backed by it by running this:\njj git init\n').returncode
/tests/test_final_state.py:39: AssertionError
=========================== short test summary info ============================
FAILED ../../tests/test_final_state.py::test_project_is_colocated_repo - Asse...
FAILED ../../tests/test_final_state.py::test_upstream_remote_added - Assertio...
FAILED ../../tests/test_final_state.py::test_working_copy_rebased - Assertion...
============================== 3 failed in 0.05s ===============================