[37m2026-03-19 08:12:54.830[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:12:54.835[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37mnative:7[39m[0m[0m[1m[37m PochiConfigManager[39m[22m[0m[0m add workspace config: /root/.pochi/config.jsonc [37m2026-03-19 08:12:55.033[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:503183[39m[0m[0m[1m[37m loadAgents[39m[22m[0m[0m Loaded 5 custom agents (5 valid, 0 invalid) [37m2026-03-19 08:12:55.034[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:503184[39m[0m[0m[1m[37m loadSkills[39m[22m[0m[0m Loaded 2 skills (2 valid, 0 invalid) [37m2026-03-19 08:12:55.105[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/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:12:56.701[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:415701[39m[0m[0m[1m[37m MCPHub[39m[22m[0m[0m MCP servers configuration changed via signal: [37m2026-03-19 08:12:56.701[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:415813[39m[0m[0m[1m[37m MCPHub[39m[22m[0m[0m Build MCPHub Status [37m2026-03-19 08:12:56.793[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:502609[39m[0m[0m[1m[37m TaskRunner[39m[22m[0m[0m Starting TaskRunner... [37m2026-03-19 08:12:56.889[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:12:57.086[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:496641[39m[0m[0m[1m[37m generateTaskTitle[39m[22m[0m[0m Generating task title, old: null, new: # Initialize a Jujutsu Repository and Configure User Identity [37m2026-03-19 08:13:06.153[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:13:07.737[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:496641[39m[0m[0m[1m[37m generateTaskTitle[39m[22m[0m[0m Generating task title, old: # Initialize a Jujutsu Repository and Configure User Identity, new: Initialize Jujutsu repository with Git backend and configure user identity [37m2026-03-19 08:13:22.994[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:13:31.463[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:13:36.690[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:13:48.945[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:13:54.789[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:13:59.957[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:14:07.279[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:14:12.737[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:14:19.559[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:14:25.336[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:14:30.194[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:14:36.746[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:14:42.123[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m [37m2026-03-19 08:14:58.170[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454339[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m Listing workspace files from /root with maxItems [33m500[39m
Hit:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:2 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
curl is already the newest version (7.81.0-1ubuntu1.23).
0 upgraded, 0 newly installed, 0 to remove and 18 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 cpython-3.12.12-linux-x86_64-gnu (download) (31.1MiB)
Downloading cpython-3.12.12-linux-x86_64-gnu (download)
Downloading pygments (1.2MiB)
Downloading pygments
Installed 5 packages in 44ms
============================= test session starts ==============================
platform linux -- Python 3.12.12, pytest-8.4.1, pluggy-1.6.0 -- /root/.cache/uv/archive-v0/Gx1I7rya-8QogeblvnjFJ/bin/python
cachedir: .pytest_cache
rootdir: /tests
collecting ... collected 8 items
../../tests/test_final_state.py::test_myproject_jj_directory_exists PASSED [ 12%]
../../tests/test_final_state.py::test_jj_status_succeeds PASSED [ 25%]
../../tests/test_final_state.py::test_user_name_is_alex_developer FAILED [ 37%]
../../tests/test_final_state.py::test_user_email_is_alex_at_example FAILED [ 50%]
../../tests/test_final_state.py::test_user_name_is_user_level FAILED [ 62%]
../../tests/test_final_state.py::test_user_email_is_user_level FAILED [ 75%]
../../tests/test_final_state.py::test_readme_still_exists PASSED [ 87%]
../../tests/test_final_state.py::test_readme_content_unchanged PASSED [100%]
=================================== FAILURES ===================================
_______________________ test_user_name_is_alex_developer _______________________
def test_user_name_is_alex_developer():
result = run_jj(["config", "get", "user.name"], cwd=REPO_DIR)
assert result.returncode == 0, (
f"jj config get user.name failed: {result.stderr}"
)
> assert result.stdout.strip() == "Alex Developer", (
f"user.name expected 'Alex Developer', got: '{result.stdout.strip()}'"
)
E AssertionError: user.name expected 'Alex Developer', got: ''
E assert '' == 'Alex Developer'
E
E - Alex Developer
/tests/test_final_state.py:40: AssertionError
______________________ test_user_email_is_alex_at_example ______________________
def test_user_email_is_alex_at_example():
result = run_jj(["config", "get", "user.email"], cwd=REPO_DIR)
assert result.returncode == 0, (
f"jj config get user.email failed: {result.stderr}"
)
> assert result.stdout.strip() == "alex@example.com", (
f"user.email expected 'alex@example.com', got: '{result.stdout.strip()}'"
)
E AssertionError: user.email expected 'alex@example.com', got: ''
E assert '' == 'alex@example.com'
E
E - alex@example.com
/tests/test_final_state.py:50: AssertionError
_________________________ test_user_name_is_user_level _________________________
def test_user_name_is_user_level():
result = run_jj(["config", "list", "--user", "user.name"], cwd=REPO_DIR)
assert result.returncode == 0, (
f"jj config list --user user.name failed: {result.stderr}"
)
> assert "Alex Developer" in result.stdout, (
f"user.name not found in user-level config. Output: '{result.stdout.strip()}'"
)
E AssertionError: user.name not found in user-level config. Output: ''
E assert 'Alex Developer' in ''
E + where '' = CompletedProcess(args=['jj', 'config', 'list', '--user', 'user.name'], returncode=0, stdout='', stderr='Warning: No matching config key for user.name\n').stdout
/tests/test_final_state.py:60: AssertionError
________________________ test_user_email_is_user_level _________________________
def test_user_email_is_user_level():
result = run_jj(["config", "list", "--user", "user.email"], cwd=REPO_DIR)
assert result.returncode == 0, (
f"jj config list --user user.email failed: {result.stderr}"
)
> assert "alex@example.com" in result.stdout, (
f"user.email not found in user-level config. Output: '{result.stdout.strip()}'"
)
E AssertionError: user.email not found in user-level config. Output: ''
E assert 'alex@example.com' in ''
E + where '' = CompletedProcess(args=['jj', 'config', 'list', '--user', 'user.email'], returncode=0, stdout='', stderr='Warning: No matching config key for user.email\n').stdout
/tests/test_final_state.py:70: AssertionError
=========================== short test summary info ============================
FAILED ../../tests/test_final_state.py::test_user_name_is_alex_developer - As...
FAILED ../../tests/test_final_state.py::test_user_email_is_alex_at_example - ...
FAILED ../../tests/test_final_state.py::test_user_name_is_user_level - Assert...
FAILED ../../tests/test_final_state.py::test_user_email_is_user_level - Asser...
========================= 4 failed, 4 passed in 0.16s ==========================