Releases: ArgusLabs-ai/ARGUS
Release list
v0.11.0
RunRecord.findings— one Finding per inspection, validator, anomaly, judge, crash, and tool-chain signal (stable id, full-sentence reason, source). Older records are back-filled on load. (#60)argus check --format jsonand--fail-on crashed,silent_failure,interrupted(#61)argus checkgrades the requested run, not the newest. (#64)argus replayaccepts--set,--delete,--patch, and--dry-run.pytest --arguswatchesainvoke/stream/astream. (#66)- CI runs
pytest tests/test_argus_ci_gate.py --arguson every PR. (#68) - Behavior profiles
chat_responseandcode_generation. (#65) - Truncation, stale-context, and trailing
etc.signatures. (#43, #45) - Warning-severity semantic signals no longer fail a node on their own. (#47)
- Dashboard
/runs/<id>deep links. (#63)
pip install argus-agents==0.11.0
v0.10.5
Rule 17 — double-encoded JSON detection: a string field that parses as a JSON object/array is flagged json_in_string (warning, advisory only). Fields where stringified payloads are expected (raw_response, log, payload, …) are skipped. (#26)
v0.10.4
v0.10.3
argus key set / argus key use now exit 1 on failure (unknown provider, no saved key) so scripts gating BYOK setup can detect it. (#40)
v0.10.2
Wave E stability fixes, silent no-op detection, and per-invoke persistence.
- Wave E: retry/cycle false positives, validator severity, replay verdict, confidence explanation (#32)
empty_outputfailure: a node returning a literal{}with successors downstream is flagged critical and blamed on the origin, not the downstream crash site (#31). Only literal{}is flagged; dicts with keys (even empty-valued) and router/conditional nodes are exempt- Per-invoke persistence: an attached
ArgusWatchernow writes a separate run record for everyinvoke()/stream()/batch(), not just the first - Restore the
test_no_ordering_anomaly_correct_ordercase that had been shadowed as dead code; single-source the correlator confidence weights and_INACTIVE_STATUSESconstant
Full changelog: https://github.com/ArgusLabs-ai/ARGUS/blob/master/CHANGELOG.md
v0.10.1 — GitHub & PyPI version alignment
Why this release
PyPI listed 0.10.0 as latest (0.10.0 > 0.9.3), while GitHub Latest was v0.9.3. 0.10.0 shipped on 14 Aug (same era as 0.9.1), so pip install argus-agents skipped the 0.9.2 / 0.9.3 work.
This tag republishes that work as 0.10.1 so GitHub and PyPI advertise the same package.
What's included (from 0.9.2 + 0.9.3)
argus check last/argus check <id>— CI gate; exit 1 on crash, silent failure, semantic fail, missing fields, or tool failurespytest --argus— auto-wrap LangGraphcompile()/invoke()in tests; unclean runs fail the testargus initwrites Cursor/Claude skills that attachArgusWatcherand debug from.argus/runs- Failed runs print a short
[argus]finding; clean runs stay silent - Empty dashboard shows which
.arguspath is served
Install
pip install argus-agents==0.10.1After the publish workflow finishes, pip install -U argus-agents also gets this version.
v0.9.3 — CI Gate & pytest Plugin
What's new
argus check last/argus check <id>— CI gate that exits 1 on crash, silent failure, semantic fail, missing fields, or tool failurespytest --argus— auto-wraps LangGraphcompile()/invoke()in tests; unclean runs fail the test without needingArgusWatcherin the test file- Heuristics-only in pytest (judge off); tests that never invoke a graph are unchanged
Docs
- Landing page guide updated with CI & testing section
- Website changelog updated
argus-debugskill updated (refreshed on nextargus init --force)- README already documented in prior commits
Install
pip install argus-agentsv0.9.2
argus initwrites Cursor/Claude skills that attach ArgusWatcher and debug from.argus/runs- Failed runs print a short
[argus]finding; clean runs stay silent - Empty dashboard shows which
.arguspath is served
v0.10.0 — One install, one attach()
What's new
Install
pip install argus-agentsis the full product (CLI + LangGraph + UI). No[cli]/[langgraph]extras needed.
Setup
- One API:
ArgusWatcher().attach(graph)works on aStateGraphor a compiled app. invoke()/ainvoke()persist automatically.finalize()is optional.batch/abatch/streamsave once when the outermost call returns (not after the first item).
LLM judge
- Opt-in with
argus key set(orOPENAI_API_KEY/ Anthropic / Google). - No key → heuristic-only. No
argus-agents[llm]extra. argus doctorreports BYOK vs heuristic-only.
Docs
- README, dashboard guide, and arguslabs.in match this path.
v0.9.1
pip install argus-agentsships CLI, LangGraph adapter, and UIArgusWatcher.attach(graph)is the one API (StateGraph or compiled);invoke()/batch()/stream()persist — nofinalize()required- LLM judge is opt-in via
argus key set(or env); no[llm]extra. No key → heuristics only - README, guide, and arguslabs.in docs match install + attach