tribuchet: building on psi structuredAttrs is enabled Sourcing python-remove-tests-dir-hook Sourcing python-catch-conflicts-hook.sh Sourcing python-remove-bin-bytecode-hook.sh Sourcing pypa-build-hook Using pypaBuildPhase Sourcing python-runtime-deps-check-hook Using pythonRuntimeDepsCheckHook Sourcing pypa-install-hook Using pypaInstallPhase Sourcing python-imports-check-hook.sh Using pythonImportsCheckPhase Sourcing python-namespaces-hook Sourcing python-catch-conflicts-hook.sh Sourcing pytest-check-hook Using pytestCheckPhase Using versionCheckHook Running phase: unpackPhase unpacking source archive /nix/store/vgwas5q8z8fap28zyy10wawdkw3yshlh-source source root is source setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "source/tests/unit/test_skill.py" Running phase: patchPhase Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase no configure script, doing nothing Running phase: buildPhase Executing pypaBuildPhase Creating a wheel... pypa build flags: --no-isolation --outdir dist/ --wheel --skip-dependency-check * Building wheel... running bdist_wheel running build running build_py creating build/lib copying src/mcp_server.py -> build/lib creating build/lib/browser_harness copying src/browser_harness/__init__.py -> build/lib/browser_harness copying src/browser_harness/_ipc.py -> build/lib/browser_harness copying src/browser_harness/admin.py -> build/lib/browser_harness copying src/browser_harness/auth.py -> build/lib/browser_harness copying src/browser_harness/daemon.py -> build/lib/browser_harness copying src/browser_harness/helpers.py -> build/lib/browser_harness copying src/browser_harness/macos.py -> build/lib/browser_harness copying src/browser_harness/mcp_cli.py -> build/lib/browser_harness copying src/browser_harness/paths.py -> build/lib/browser_harness copying src/browser_harness/recorder.py -> build/lib/browser_harness copying src/browser_harness/run.py -> build/lib/browser_harness copying src/browser_harness/telemetry.py -> build/lib/browser_harness copying src/browser_harness/video.py -> build/lib/browser_harness copying src/browser_harness/video_render.py -> build/lib/browser_harness running egg_info creating src/browser_harness.egg-info writing src/browser_harness.egg-info/PKG-INFO writing dependency_links to src/browser_harness.egg-info/dependency_links.txt writing entry points to src/browser_harness.egg-info/entry_points.txt writing requirements to src/browser_harness.egg-info/requires.txt writing top-level names to src/browser_harness.egg-info/top_level.txt writing manifest file 'src/browser_harness.egg-info/SOURCES.txt' reading manifest file 'src/browser_harness.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'src/browser_harness.egg-info/SOURCES.txt' copying src/browser_harness/SKILL.md -> build/lib/browser_harness copying src/browser_harness/video-template.html -> build/lib/browser_harness installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64/wheel copying build/lib/mcp_server.py -> build/bdist.linux-x86_64/wheel/. creating build/bdist.linux-x86_64/wheel/browser_harness copying build/lib/browser_harness/__init__.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/_ipc.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/admin.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/auth.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/daemon.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/helpers.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/macos.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/mcp_cli.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/paths.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/recorder.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/run.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/telemetry.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/video.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/video_render.py -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/SKILL.md -> build/bdist.linux-x86_64/wheel/./browser_harness copying build/lib/browser_harness/video-template.html -> build/bdist.linux-x86_64/wheel/./browser_harness running install_egg_info Copying src/browser_harness.egg-info to build/bdist.linux-x86_64/wheel/./browser_harness-0.1.13-py3.14.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/browser_harness-0.1.13.dist-info/WHEEL creating '/build/source/dist/.tmp-ztt0zxus/browser_harness-0.1.13-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'mcp_server.py' adding 'browser_harness/SKILL.md' adding 'browser_harness/__init__.py' adding 'browser_harness/_ipc.py' adding 'browser_harness/admin.py' adding 'browser_harness/auth.py' adding 'browser_harness/daemon.py' adding 'browser_harness/helpers.py' adding 'browser_harness/macos.py' adding 'browser_harness/mcp_cli.py' adding 'browser_harness/paths.py' adding 'browser_harness/recorder.py' adding 'browser_harness/run.py' adding 'browser_harness/telemetry.py' adding 'browser_harness/video-template.html' adding 'browser_harness/video.py' adding 'browser_harness/video_render.py' adding 'browser_harness-0.1.13.dist-info/licenses/LICENSE' adding 'browser_harness-0.1.13.dist-info/METADATA' adding 'browser_harness-0.1.13.dist-info/WHEEL' adding 'browser_harness-0.1.13.dist-info/entry_points.txt' adding 'browser_harness-0.1.13.dist-info/top_level.txt' adding 'browser_harness-0.1.13.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Successfully built browser_harness-0.1.13-py3-none-any.whl Finished creating a wheel... /build/source/dist /build/source Unpacking to: unpacked/browser_harness-0.1.13...OK Repacking wheel as ./browser_harness-0.1.13-py3-none-any.whl...OK /build/source Finished executing pypaBuildPhase Running phase: pythonRuntimeDepsCheckHook Executing pythonRuntimeDepsCheck Checking runtime dependencies for browser_harness-0.1.13-py3-none-any.whl Finished executing pythonRuntimeDepsCheck Running phase: installPhase Executing pypaInstallPhase Successfully installed browser_harness-0.1.13-py3-none-any.whl Finished executing pypaInstallPhase Running phase: pythonOutputDistPhase Executing pythonOutputDistPhase Finished executing pythonOutputDistPhase Running phase: fixupPhase shrinking RPATHs of ELF executables and libraries in /nix/store/drjdl9lw9ckdr4fpdjdkpy4rpjzf4abm-python3.14-browser-harness-0.1.13-dist checking for references to /build/ in /nix/store/drjdl9lw9ckdr4fpdjdkpy4rpjzf4abm-python3.14-browser-harness-0.1.13-dist... patching script interpreter paths in /nix/store/drjdl9lw9ckdr4fpdjdkpy4rpjzf4abm-python3.14-browser-harness-0.1.13-dist shrinking RPATHs of ELF executables and libraries in /nix/store/pw31s387l6ff56pv663r7nw6szjwq41b-python3.14-browser-harness-0.1.13 checking for references to /build/ in /nix/store/pw31s387l6ff56pv663r7nw6szjwq41b-python3.14-browser-harness-0.1.13... patching script interpreter paths in /nix/store/pw31s387l6ff56pv663r7nw6szjwq41b-python3.14-browser-harness-0.1.13 stripping (with command strip and flags -S -p) in /nix/store/pw31s387l6ff56pv663r7nw6szjwq41b-python3.14-browser-harness-0.1.13/lib /nix/store/pw31s387l6ff56pv663r7nw6szjwq41b-python3.14-browser-harness-0.1.13/bin Rewriting #!/nix/store/xahxrjs30p3mw0a42bqg9ikgkikskw8m-python3-3.14.8/bin/python3.14 to #!/nix/store/xahxrjs30p3mw0a42bqg9ikgkikskw8m-python3-3.14.8 wrapping `/nix/store/pw31s387l6ff56pv663r7nw6szjwq41b-python3.14-browser-harness-0.1.13/bin/browser-harness'... Rewriting #!/nix/store/xahxrjs30p3mw0a42bqg9ikgkikskw8m-python3-3.14.8/bin/python3.14 to #!/nix/store/xahxrjs30p3mw0a42bqg9ikgkikskw8m-python3-3.14.8 wrapping `/nix/store/pw31s387l6ff56pv663r7nw6szjwq41b-python3.14-browser-harness-0.1.13/bin/browser-harness-mcp'... Executing pythonRemoveTestsDir Finished executing pythonRemoveTestsDir Running phase: installCheckPhase Executing versionCheckPhase Successfully managed to find version 0.1.13 in the output of the command /nix/store/pw31s387l6ff56pv663r7nw6szjwq41b-python3.14-browser-harness-0.1.13/bin/browser-harness --version 0.1.13 Finished versionCheckPhase no Makefile or custom installCheckPhase, doing nothing Running phase: pythonCatchConflictsPhase Running phase: pythonRemoveBinBytecodePhase Running phase: pythonImportsCheckPhase Executing pythonImportsCheckPhase Check whether the following modules can be imported: browser_harness browser_harness.daemon browser_harness.helpers mcp_server Running phase: pytestCheckPhase Executing pytestCheckPhase pytest flags: -m pytest tests/unit ============================= test session starts ============================== platform linux -- Python 3.14.8, pytest-9.1.1, pluggy-1.6.0 rootdir: /build/source configfile: pyproject.toml plugins: anyio-4.15.1 collected 251 items tests/unit/test_admin.py ............................................... [ 18%] ...................................... [ 33%] tests/unit/test_brave_origin.py .......... [ 37%] tests/unit/test_daemon.py ....................................... [ 53%] tests/unit/test_helpers.py ............................................. [ 71%] ........................... [ 82%] tests/unit/test_ipc.py ............. [ 87%] tests/unit/test_macos.py ........ [ 90%] tests/unit/test_mcp_cli.py . [ 90%] tests/unit/test_recorder.py ... [ 92%] tests/unit/test_run.py ................... [ 99%] tests/unit/test_skill.py . [100%] ============================= 251 passed in 4.87s ============================== Finished executing pytestCheckPhase Running phase: pytestcachePhase Running phase: pytestRemoveBytecodePhase