Skip to content

Releases: sanskarpan/tag-agent

v0.6.4 — Adversarial QA Phase 3–8: all phases complete

16 Jun 05:54

Choose a tag to compare

Bug Fixes (Phases 3–8)

Phase 3 (DB concurrency): 20 concurrent writes passed, WAL mode verified, schema collision idempotent.

Phase 4 (SQL injection): 15 injection payloads across cron/loop/split — all rejected safely, no tables dropped.

Phase 6 (infrastructure failures):

  • read-only DB: unhandled sqlite3.OperationalError now caught in main() with user-friendly message (#335)

Phase 8 (--json coverage):

  • budget check --json with no budget: now returns {"budget": null, "unlimited": true} instead of plain text (#336)
  • queue-dep list: new subcommand to list DAG jobs with status (#337)
  • security --json top-level: added --json to parent parser so security --json works without specifying scan (#338)
  • queue-dep promote --json: added JSON output
  • Final sweep: 27/27 --json paths verified valid JSON

v0.6.3 — Adversarial QA: 9 bug fixes

16 Jun 04:29

Choose a tag to compare

Bug Fixes

  • Corrupted DB: open_db() now catches sqlite3.DatabaseError and prints a user-friendly error instead of crashing (#326)
  • Loop validation: loop start --max-iters 0 or negative values now rejected with clear error (#327)
  • Cron range validation: validate_cron_expression now checks field value ranges (e.g. minute 0-59) (#328)
  • Cron duplicate names: Adding a cron job with a duplicate name now errors instead of silently inserting (#329)
  • Cron @Aliases: @reboot, @daily, @weekly, @monthly, @hourly etc. now accepted as valid schedules (#330)
  • notify add --json: notify add now accepts --json and emits structured output (#331)
  • route-fallback same model: Rejected when primary == fallback (#332)
  • diff-context --json outside git: Now emits a JSON error object instead of empty stdout (#333)
  • split plan empty task: Empty task string is now rejected (#334)

v0.6.2 — Additional QA Bug Fixes

15 Jun 14:31
f7ed8d2

Choose a tag to compare

What's Changed

Follow-up patch to v0.6.1 with 3 additional bugs caught by exhaustive QA sweep.

Bug Fixes

  • fix(cache): cache stats --json returns [] instead of plain text when no data (#319, closes #318)
  • fix(diff-context): diff-context --json info line redirected to stderr; empty-diff path returns valid JSON (#322, closes #320)
  • fix(queue-dep): queue-dep add now accepts --json flag and returns structured output (#322, closes #321)

Full QA Coverage

All 25 --json paths across the CLI now return valid JSON:
dag show/list, lsp status, persona list/show, notify list, split list, tool-index status, agentops status/sessions, workspace map, otel-export, security scan, costs, trace list, eval list, runs, cache stats, cron list, budget list, route-fallback list, queue list, marketplace list, mcp-registry list, sandbox list, diff-context, queue-dep add

Test Results

591 passed, 63 skipped

Install

pip install tag-agent==0.6.2
# or
npx tag-agent@0.6.2

v0.6.1 — QA Bug Fix Patch

15 Jun 12:00
5750242

Choose a tag to compare

What's Changed

Patch release following the v0.6.0 QA audit. Fixes 5 bugs discovered through end-to-end testing of all 24 new features.

Bug Fixes

  • fix(dag): Add list_jobs_raw() for structured JSON output of queue jobs (#308, closes #304)
  • fix(security): Relax credential pattern matching to catch modern key formats (sk-proj-, newer Anthropic keys, AWS generic key patterns) (#309, closes #305)
  • fix(otel): Read INSTRUMENTATION_SCOPE version dynamically from tag.__version__ instead of hardcoding "0.5.0" (#310, closes #306)
  • fix(controller): Add --json flag to 11 subparsers (dag show/list, lsp status, persona list/show, notify list, split list, tool-index status, agentops status/sessions, workspace map) + JSON output paths to 6 cmd handlers (#311, closes #307)
  • fix(tests): Add missing tests/hermes_cli/conftest.py with _isolate_hermes_home fixture — converts 63 fixture errors into graceful skips when hermes package is absent (#313, closes #312)

Test Results

591 passed, 63 skipped

Install

pip install tag-agent==0.6.1
# or
npx tag-agent@0.6.1

v0.6.0: 24 new AI agent features (PRD-021 through PRD-044)

15 Jun 10:10
99cda0f

Choose a tag to compare

What's New in v0.6.0

This release ships 24 new features across 18 new modules, adding autonomous agent orchestration, observability, security, and IDE integration capabilities to TAG.

New Modules

Module PRD Feature
loop_agent.py PRD-021 Autonomous agent loop with iteration caps and SQLite journal
cron_scheduler.py PRD-022 Cron-scheduled agents with 5-field cron expressions
workspace.py PRD-024 Repo-map indexer and ASCII tree context injection
semantic_memory.py PRD-025 FTS5-backed semantic memory with confidence decay
eval_framework.py PRD-027 YAML-driven eval runner with pass/fail scoring
sandbox.py PRD-028 Isolated code execution (subprocess, Docker, E2B backends)
dag.py PRD-033 Dependency-aware task queue with topological DAG engine
security.py PRD-034 Secret scanning via Shannon entropy + 18 named patterns
lsp_server.py PRD-035 LSP 3.17 server exposing TAG profiles as code actions
api.py PRD-036 Web dashboard with SSE live stream (tag serve --web)
persona.py PRD-037 Agent style injection with 5 built-in personas
diff_context.py PRD-038 Git-diff scoped context injection
budget.py PRD-039 Per-profile daily/weekly/monthly token budget enforcement
notifications.py PRD-040 Slack, email, desktop, and webhook notification hooks
otel_semconv.py PRD-041 OTel GenAI span cost attribution (semconv v1.28.0)
split_agent.py PRD-042 Architect/editor agent split for structured refactors
tool_retrieval.py PRD-043 Vector-based tool retrieval with keyword fallback
integrations/agentops_bridge.py PRD-044 AgentOps session observability with zero-overhead fallback

New CLI Commands (24 total)

tag loop · tag cron · tag workspace · tag memory · tag profile · tag eval · tag sandbox · tag serve · tag cache · tag route · tag trace · tag dag · tag security · tag lsp · tag persona · tag context · tag budget · tag notify · tag otel · tag split · tag tools · tag agentops

Bug Fixes

  • DAG race condition: promote_ready_jobs now checks cursor.rowcount > 0 before claiming promotion — concurrent threads no longer double-count
  • LSP blocking: tag lsp with no subcommand defaults to non-blocking status (use tag lsp start for the server)
  • JSON output: --json flag now respected by all 7 new list subcommands

Test Coverage

263 new passing tests (82 + 120 + 61 cross-cutting concerns across all 24 features).

Full Changelog

See closed issues and merged PRs for the complete change history.