workspace_conflict_cross_boundar__mZWQEyM

Status: Failed
Started: 3/19 16:10
Execution: 1m 8.8s
Test: 10.0s
2026-03-19 08:22:29.868	DEBUG	native:1	Pochi	pochi v0.6.1
2026-03-19 08:22:29.872	DEBUG	native:7	PochiConfigManager	add workspace config: /root/.pochi/config.jsonc
2026-03-19 08:22:29.976	DEBUG	/$bunfs/pochi:503183	loadAgents	Loaded 5 custom agents (5 valid, 0 invalid)
2026-03-19 08:22:29.976	DEBUG	/$bunfs/pochi:503184	loadSkills	Loaded 2 skills (2 valid, 0 invalid)
2026-03-19 08:22:30.072	DEBUG	/$bunfs/pochi:439420	PochiVendor	JWT is expiring or missing, fetching a new one
2026-03-19 08:22:31.597	DEBUG	/$bunfs/pochi:415701	MCPHub	MCP servers configuration changed via signal:
2026-03-19 08:22:31.598	DEBUG	/$bunfs/pochi:415813	MCPHub	Build MCPHub Status
2026-03-19 08:22:31.761	DEBUG	/$bunfs/pochi:502609	TaskRunner	Starting TaskRunner...
2026-03-19 08:22:31.782	DEBUG	/$bunfs/pochi:454339	listFiles	Listing workspace files from /root with maxItems 500
2026-03-19 08:22:31.969	DEBUG	/$bunfs/pochi:496641	generateTaskTitle	Generating task title, old: null, new: You are a contributor managing two workspaces that independently modified the same file, creating a cross-workspace conflict.
2026-03-19 08:23:35.594	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:500813
  • pochi	makeRequest
	/$bunfs/pochi:432009
  • 	
	
  • 	
	
  • 	
	
  • 	
	
  • 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 33ms
============================= 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 8 items

../tests/test_outputs.py F.F.FFFF                                        [100%]

=================================== FAILURES ===================================
___________________ test_feature_b_has_feature_a_as_ancestor ___________________

    def test_feature_b_has_feature_a_as_ancestor():
        result = run_jj(
            ["log", "--no-graph", "-r", "ancestors(feature-b)", "-T", 'description ++ "\n"']
        )
        assert result.returncode == 0, f"jj log failed: {result.stderr}"
>       assert "feat: add users endpoint" in result.stdout, \
            "feature-a commit not found in ancestry of feature-b (rebase not done)."
E       AssertionError: feature-a commit not found in ancestry of feature-b (rebase not done).
E       assert 'feat: add users endpoint' in 'feat: add products endpoint\n\ninit: base api\n\n\n'
E        +  where 'feat: add products endpoint\n\ninit: base api\n\n\n' = CompletedProcess(args=['jj', 'log', '--no-graph', '-r', 'ancestors(feature-b)', '-T', 'description ++ "\n"'], returncode=0, stdout='feat: add products endpoint\n\ninit: base api\n\n\n', stderr='').stdout

/tests/test_outputs.py:21: AssertionError
________________________ test_api_py_has_users_endpoint ________________________

    def test_api_py_has_users_endpoint():
        result = run_jj(["file", "show", "src/api.py", "-r", "feature-b"])
        assert result.returncode == 0, f"Could not show src/api.py: {result.stderr}"
>       assert "/users" in result.stdout, "Missing /users endpoint in resolved src/api.py."
E       AssertionError: Missing /users endpoint in resolved src/api.py.
E       assert '/users' in 'from flask import Flask\napp = Flask(__name__)\n\n@app.route("/")\ndef index():\n    return "hello world"\n\n@app.route("/products")\ndef get_products():\n    return {"products": []}\n'
E        +  where 'from flask import Flask\napp = Flask(__name__)\n\n@app.route("/")\ndef index():\n    return "hello world"\n\n@app.route("/products")\ndef get_products():\n    return {"products": []}\n' = CompletedProcess(args=['jj', 'file', 'show', 'src/api.py', '-r', 'feature-b'], returncode=0, stdout='from flask import...:\n    return "hello world"\n\n@app.route("/products")\ndef get_products():\n    return {"products": []}\n', stderr='').stdout

/tests/test_outputs.py:36: AssertionError
___________________ test_main_has_both_features_as_ancestors ___________________

    def test_main_has_both_features_as_ancestors():
        result = run_jj(
            ["log", "--no-graph", "-r", "ancestors(main)", "-T", 'description ++ "\n"']
        )
        assert result.returncode == 0, f"jj log ancestors(main) failed: {result.stderr}"
>       assert "feat: add users endpoint" in result.stdout, \
            "main ancestry missing feat: add users endpoint."
E       AssertionError: main ancestry missing feat: add users endpoint.
E       assert 'feat: add users endpoint' in 'init: base api\n\n\n'
E        +  where 'init: base api\n\n\n' = CompletedProcess(args=['jj', 'log', '--no-graph', '-r', 'ancestors(main)', '-T', 'description ++ "\n"'], returncode=0, stdout='init: base api\n\n\n', stderr='').stdout

/tests/test_outputs.py:50: AssertionError
__________________________ test_main_is_merge_commit ___________________________

    def test_main_is_merge_commit():
        result = run_jj(["log", "--no-graph", "-r", "main", "-T", 'parents.len() ++ "\n"'])
        assert result.returncode == 0, f"jj log main failed: {result.stderr}"
>       assert result.stdout.strip() == "2", \
            f"main should be a merge commit with 2 parents, got: {result.stdout.strip()}"
E       AssertionError: main should be a merge commit with 2 parents, got: 1
E       assert '1' == '2'
E         
E         - 2
E         + 1

/tests/test_outputs.py:59: AssertionError
_____________________________ test_log_file_exists _____________________________

    def test_log_file_exists():
>       assert os.path.isfile(LOG_FILE), f"{LOG_FILE} not found."
E       AssertionError: /home/user/cross_boundary_log.txt not found.
E       assert False
E        +  where False = <function isfile at 0x7267622e8220>('/home/user/cross_boundary_log.txt')
E        +    where <function isfile at 0x7267622e8220> = <module 'posixpath' (frozen)>.isfile
E        +      where <module 'posixpath' (frozen)> = os.path

/tests/test_outputs.py:64: AssertionError
____________________________ test_log_file_content _____________________________

    def test_log_file_content():
>       with open(LOG_FILE) as f:
             ^^^^^^^^^^^^^^
E       FileNotFoundError: [Errno 2] No such file or directory: '/home/user/cross_boundary_log.txt'

/tests/test_outputs.py:68: FileNotFoundError
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED ../tests/test_outputs.py::test_api_py_at_feature_b_has_no_conflicts
PASSED ../tests/test_outputs.py::test_api_py_has_products_endpoint
FAILED ../tests/test_outputs.py::test_feature_b_has_feature_a_as_ancestor - A...
FAILED ../tests/test_outputs.py::test_api_py_has_users_endpoint - AssertionEr...
FAILED ../tests/test_outputs.py::test_main_has_both_features_as_ancestors - A...
FAILED ../tests/test_outputs.py::test_main_is_merge_commit - AssertionError: ...
FAILED ../tests/test_outputs.py::test_log_file_exists - AssertionError: /home...
FAILED ../tests/test_outputs.py::test_log_file_content - FileNotFoundError: [...
========================= 6 failed, 2 passed in 0.14s ==========================