[37m2026-03-19 08:18:40.533[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:18:40.538[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:18:40.625[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:18:40.626[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:18:40.644[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:18:42.031[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:18:42.032[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:18:42.133[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:18:42.145[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:18:42.240[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: You are a repo maintainer enforcing secure configuration for your team's jj repository. [37m2026-03-19 08:19:05.501[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:19:13.335[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:19:19.879[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:19:23.262[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:19:27.073[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m[39m[0m[0m[1m[37m generateTaskTitle[39m[22m[0m[0m Generating task title, old: You are a repo maintainer enforcing secure configuration for your team's jj repository., new: Initialize secure jj repository with signing configuration [37m2026-03-19 08:19:35.574[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:19:53.643[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:20:08.899[39m[0m[0m [32m[1mDEBUG[22m[39m[0m[0m [37m/$bunfs/pochi:454315[39m[0m[0m[1m[37m listFiles[39m[22m[0m[0m handling listFile with dirPath /home/user/secure_repo and recursive [90mundefined[39m [37m2026-03-19 08:20:08.901[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:20:13.068[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:20:23.857[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:22:53.448[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/pochi:417706[39m[0m[0m • [33mpochi[39m[0m[0m <anonymous>[0m[0m [37m/$bunfs/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/pochi:417840[39m[0m[0m • [33mpochi[39m[0m[0m onError[0m[0m [37m/$bunfs/pochi:500813[39m[0m[0m • [33mpochi[39m[0m[0m makeRequest[0m[0m [37m/$bunfs/pochi:432009[39m[0m[0m • [33m[39m[0m[0m [0m[0m [37m[39m[0m[0m • [33m[39m[0m[0m [0m[0m [37m[39m[0m[0m • [33m[39m[0m[0m [0m[0m [37m[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 8 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 15ms
============================= test session starts ==============================
platform linux -- Python 3.12.3, pytest-8.4.1, pluggy-1.6.0 -- /root/.cache/uv/archive-v0/if8c-bbzWP7oq4YlpxyUr/bin/python
cachedir: .pytest_cache
rootdir: /tests
collecting ... collected 4 items
../../tests/test_final_state.py::test_repo_exists FAILED [ 25%]
../../tests/test_final_state.py::test_config_toml_contents FAILED [ 50%]
../../tests/test_final_state.py::test_audit_log_exists FAILED [ 75%]
../../tests/test_final_state.py::test_audit_log_in_commit FAILED [100%]
=================================== FAILURES ===================================
_______________________________ test_repo_exists _______________________________
def test_repo_exists():
assert os.path.exists(REPO_DIR), f"Repository directory {REPO_DIR} does not exist."
> assert os.path.isdir(os.path.join(REPO_DIR, ".jj")), f"{REPO_DIR} is not a valid jj repository."
E AssertionError: /home/user/secure_repo is not a valid jj repository.
E assert False
E + where False = <function isdir at 0x78ee52a102c0>('/home/user/secure_repo/.jj')
E + where <function isdir at 0x78ee52a102c0> = <module 'posixpath' (frozen)>.isdir
E + where <module 'posixpath' (frozen)> = os.path
E + and '/home/user/secure_repo/.jj' = <function join at 0x78ee52a10c20>('/home/user/secure_repo', '.jj')
E + where <function join at 0x78ee52a10c20> = <module 'posixpath' (frozen)>.join
E + where <module 'posixpath' (frozen)> = os.path
/tests/test_final_state.py:9: AssertionError
__________________________ test_config_toml_contents ___________________________
def test_config_toml_contents():
config_path = os.path.join(REPO_DIR, ".jj/repo/config.toml")
> assert os.path.exists(config_path), f"Config file {config_path} does not exist."
E AssertionError: Config file /home/user/secure_repo/.jj/repo/config.toml does not exist.
E assert False
E + where False = <function exists at 0x78ee52c53560>('/home/user/secure_repo/.jj/repo/config.toml')
E + where <function exists at 0x78ee52c53560> = <module 'posixpath' (frozen)>.exists
E + where <module 'posixpath' (frozen)> = os.path
/tests/test_final_state.py:13: AssertionError
____________________________ test_audit_log_exists _____________________________
def test_audit_log_exists():
audit_file = os.path.join(REPO_DIR, "audit.log")
> assert os.path.exists(audit_file), f"audit.log does not exist in the working copy."
E AssertionError: audit.log does not exist in the working copy.
E assert False
E + where False = <function exists at 0x78ee52c53560>('/home/user/secure_repo/audit.log')
E + where <function exists at 0x78ee52c53560> = <module 'posixpath' (frozen)>.exists
E + where <module 'posixpath' (frozen)> = os.path
/tests/test_final_state.py:25: AssertionError
___________________________ test_audit_log_in_commit ___________________________
def test_audit_log_in_commit():
result = subprocess.run(["jj", "log", "-T", "description"], cwd=REPO_DIR, 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
E assert 1 == 0
E + where 1 = CompletedProcess(args=['jj', 'log', '-T', 'description'], returncode=1, stdout='', stderr='Error: There is no jj repo in "."\n').returncode
/tests/test_final_state.py:29: AssertionError
=========================== short test summary info ============================
FAILED ../../tests/test_final_state.py::test_repo_exists - AssertionError: /h...
FAILED ../../tests/test_final_state.py::test_config_toml_contents - Assertion...
FAILED ../../tests/test_final_state.py::test_audit_log_exists - AssertionErro...
FAILED ../../tests/test_final_state.py::test_audit_log_in_commit - AssertionE...
============================== 4 failed in 0.04s ===============================