RTK 0.45: what changed since our analysis
Tools
In April, we published an analysis of RTK 0.30.0 based on real assisted-programming sessions. The conclusion was straightforward: an output-compression tool can save tokens, but become counterproductive when it hides a traceback or a value an agent needs to continue.
RTK has evolved since then. This update checks the two most notable cases with RTK 0.45.0, installed locally at the time of the test.
What is fixed: curl JSON responses
In RTK 0.30.0, a JSON response obtained through rtk curl could be turned into a type schema. A JWT token became string, preventing the agent from using it in its next request.
That behaviour is no longer reproduced in 0.45.0. Against an external API, RTK now preserves the values in the JSON body. The masked-JWT case described in the April article should therefore be read as historical behaviour from version 0.30.0.
Version 0.36.0 had already introduced an initial fix for internal addresses and localhost. In the version checked here, JSON response preservation is more general.
What remains fragile: some pytest summaries
The pytest story is more nuanced. RTK fixed direct detection of the summary line produced by pytest -q in 0.36.0. A collection error with a traceback was not hidden in our direct macOS test with RTK 0.45.0.
One reproducible case remains. If a project sets addopts = -q in pytest.ini:
# Raw result
$ pytest test_quiet_mode.py
2 passed
# RTK 0.45.0 summary
$ rtk pytest test_quiet_mode.py
Pytest: No tests collected
The tests did run, but the summary is incorrect. RTK adds quiet mode itself when it does not see a quiet flag in the command arguments. It cannot detect the equivalent option declared in pytest.ini.
This case is tracked in issue #2960. It confirms that the pytest problem is not fully resolved, but does not support the idea that every pytest output is still hidden in 0.45.0.
What this changes for the original article
The April analysis remains relevant on a methodological point: compression should be evaluated for the information it loses and the additional turns it can create for an agent.
The examples should now be distinguished:
- the
curland JSON case is fixed in the version checked; - the
pytestcase is partly fixed, with at least one remaining reproducible regression; - an empty or ambiguous RTK result still warrants a direct command run before changing code.
The practical rule remains simple: use RTK where output format is stable, and return to the raw command as soon as a summary does not match what was expected.