git_interop_migration_checkpoint__QaD86uV

Status: Failed
Started: 3/19 10:48
Execution: 19.2s
Test: 9.5s
2026-03-19 02:48:34.568	DEBUG	native:1	Pochi	pochi v0.6.0
2026-03-19 02:48:34.573	DEBUG	native:7	PochiConfigManager	add workspace config: /root/.pochi/config.jsonc
2026-03-19 02:48:34.671	DEBUG	/$bunfs/pochi:503027	loadAgents	Loaded 4 custom agents (4 valid, 0 invalid)
2026-03-19 02:48:34.672	DEBUG	/$bunfs/pochi:503028	loadSkills	Loaded 2 skills (2 valid, 0 invalid)
2026-03-19 02:48:34.692	DEBUG	/$bunfs/pochi:439288	PochiVendor	JWT is expiring or missing, fetching a new one
2026-03-19 02:48:37.271	DEBUG	/$bunfs/pochi:415701	MCPHub	MCP servers configuration changed via signal:
2026-03-19 02:48:37.271	DEBUG	/$bunfs/pochi:415813	MCPHub	Build MCPHub Status
2026-03-19 02:48:37.384	DEBUG	/$bunfs/pochi:502453	TaskRunner	Starting TaskRunner...
2026-03-19 02:48:37.468	DEBUG	/$bunfs/pochi:454195	listFiles	Listing workspace files from /root with maxItems 500
2026-03-19 02:48:37.580	DEBUG	/$bunfs/pochi:496495	generateTaskTitle	Generating task title, old: null, new: You are a developer migrating from Git to Jujutsu (jj). You have a local Git repository in `/home/user/project` that has a `main` branch. You need to initialize a co-located jj repository, create a new jj commit that modifies `app.py` to add a new function `def migrate(): pass`, and then export this jj commit to a new Git branch named `jj-migration` so that your Git-using teammates can see it.
2026-03-19 02:48:48.908	DEBUG	/$bunfs/pochi:454195	listFiles	Listing workspace files from /root with maxItems 500
2026-03-19 02:48:49.483	WARN		GitStatus	readGitStatus timed out after 12000ms, returning undefined
2026-03-19 02:48:51.652	DEBUG		TaskRunner	Failed:

 TypeError  undefined is not an object (evaluating 'getErrorTrace(error40).map'), 417706, 47, 417706, 47, /$bunfs/root/pochi
error stack:
  • pochi	prettyFormatErrorObj
	/$bunfs/pochi:417706
  • pochi	<anonymous>
	/$bunfs/pochi:417701
  • native	reduce
	native:1
  • pochi	log
	/$bunfs/pochi:417840
  • pochi	onError
	/$bunfs/pochi:500661
  • pochi	makeRequest
	/$bunfs/pochi:432009
  • pochi	async <anonymous>
	/$bunfs/pochi:431766
  • pochi	async step
	/$bunfs/pochi:502582
  • pochi	async run
	/$bunfs/pochi:502459
  • 	
	
  • native	processTicksAndRejections
	native:7
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 16ms
============================= 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 5 items

../tests/test_final_state.py FFFFF                                       [100%]

=================================== FAILURES ===================================
_________________________ test_dot_jj_directory_exists _________________________

    def test_dot_jj_directory_exists():
        dot_jj = os.path.join(REPO_DIR, ".jj")
>       assert os.path.isdir(dot_jj), f"{REPO_DIR} 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 0x7494b6ca82c0>('/home/user/project/.jj')
E        +    where <function isdir at 0x7494b6ca82c0> = <module 'posixpath' (frozen)>.isdir
E        +      where <module 'posixpath' (frozen)> = os.path

/tests/test_final_state.py:12: AssertionError
_______________________ test_app_py_has_migrate_function _______________________

    def test_app_py_has_migrate_function():
        app_py_path = os.path.join(REPO_DIR, "app.py")
        with open(app_py_path, "r") as f:
            content = f.read()
>       assert "def migrate():" in content, "The 'migrate' function was not found in app.py."
E       AssertionError: The 'migrate' function was not found in app.py.
E       assert 'def migrate():' in 'def main():\n    pass\n'

/tests/test_final_state.py:18: AssertionError
________________ test_jj_bookmark_exists_and_points_to_migrate _________________

    def test_jj_bookmark_exists_and_points_to_migrate():
        # Check if the bookmark exists
        result = run_cmd(["jj", "bookmark", "list"])
>       assert result.returncode == 0, f"jj bookmark list failed: {result.stderr}"
E       AssertionError: jj bookmark 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', 'bookmark', '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:23: AssertionError
____________________________ test_git_branch_exists ____________________________

    def test_git_branch_exists():
        result = run_cmd(["git", "branch"])
        assert result.returncode == 0, f"git branch failed: {result.stderr}"
>       assert "jj-migration" in result.stdout, "The Git branch 'jj-migration' does not exist."
E       AssertionError: The Git branch 'jj-migration' does not exist.
E       assert 'jj-migration' in '* main\n'
E        +  where '* main\n' = CompletedProcess(args=['git', 'branch'], returncode=0, stdout='* main\n', stderr='').stdout

/tests/test_final_state.py:35: AssertionError
_____________ test_git_branch_points_to_same_commit_as_jj_bookmark _____________

    def test_git_branch_points_to_same_commit_as_jj_bookmark():
        # Get the git commit hash for the branch
        git_result = run_cmd(["git", "rev-parse", "jj-migration"])
>       assert git_result.returncode == 0, f"git rev-parse failed: {git_result.stderr}"
E       AssertionError: git rev-parse failed: fatal: ambiguous argument 'jj-migration': unknown revision or path not in the working tree.
E         Use '--' to separate paths from revisions, like this:
E         'git <command> [<revision>...] -- [<file>...]'
E         
E       assert 128 == 0
E        +  where 128 = CompletedProcess(args=['git', 'rev-parse', 'jj-migration'], returncode=128, stdout='jj-migration\n', stderr="fatal: am...orking tree.\nUse '--' to separate paths from revisions, like this:\n'git <command> [<revision>...] -- [<file>...]'\n").returncode

/tests/test_final_state.py:40: AssertionError
=========================== short test summary info ============================
FAILED ../tests/test_final_state.py::test_dot_jj_directory_exists - Assertion...
FAILED ../tests/test_final_state.py::test_app_py_has_migrate_function - Asser...
FAILED ../tests/test_final_state.py::test_jj_bookmark_exists_and_points_to_migrate
FAILED ../tests/test_final_state.py::test_git_branch_exists - AssertionError:...
FAILED ../tests/test_final_state.py::test_git_branch_points_to_same_commit_as_jj_bookmark
============================== 5 failed in 0.05s ===============================