Before / after
============================= test session starts ==============================
platform linux -- Python 3.11.4, pytest-7.4.0
collected 14 items
tests/test_auth.py ..........F. [100%]
=================================== FAILURES ===================================
_____________________________ test_empty_password ______________________________
def test_empty_password():
> assert login("user", "") == 400
E AssertionError: assert 200 == 400
tests/test_auth.py:44: AssertionError
=========================== short test summary info ============================
FAILED tests/test_auth.py::test_empty_password - AssertionError: assert 200 == 400
========================= 1 failed, 13 passed in 0.42s ==========================
status=failed exit=1 passed=13 failed=1 command="python -m pytest" FAIL tests/test_auth.py::test_empty_password AssertionError: assert 200 == 400 omitted=passing_tests,progress,full_stack_traces parser=pytest truncated=false
How it works
project=python files=24 dirs=6 important=pyproject.toml,src,tests root: pyproject.toml,src,tests,README.md omitted: .git,__pycache__
file=src/auth.py lines=284 imports=5 exports=0 funcs=login:22-62,logout:70-110 use: aish view src/auth.py:22-62 omitted=full_file
query=login matches=12 files=3 backend=rg src/auth.py count=5 lines=22,44,91 src/LoginPage.tsx count=4 lines=8,31
branch=main changed=4 staged=1 unstaged=2 untracked=1 M src/auth.py A tests/test_auth.py ?? notes.md
diff=unstaged files=3 added=42 removed=18 M src/auth.py +22 -7 next: aish diff src/auth.py
status=failed exit=1 passed=? failed=2 command="python -m pytest" FAIL tests/test_auth.py::test_empty_password AssertionError: expected 400 omitted=passing_tests,progress,full_stack_traces
status=failed exit=2 warnings=1 command="npm install" ERROR npm ERR! code ERESOLVE omitted=progress,downloads,successful_steps
Works with your agent
claude
codex
cursor
opencode
Run aish init once and it writes routing rules so each of these agents prefers aish over raw shell commands automatically.
Measured, not guessed
77.2%
smaller git diff output
73.1%
smaller pytest failure output
5/5
fixtures, evidence fully preserved
From aish benchmark, deterministic fixture-backed comparisons of raw vs. compact output. Evidence preserved: paths, line numbers, test IDs, errors, commands, exit codes.