Skip to content

v1.4.2 — Stable: visible console + safe-to-close stack

Choose a tag to compare

@tuancookiez-hub tuancookiez-hub released this 22 Jun 18:51

Stable release

This is the verified-working v1.4.2 build. Code on main (commit dbcc359), the git tag (v1.4.2), and the wheel on PyPI (hyatlas-memory 1.4.2) are all in sync — no drift between source, runtime, and release artifact.

Upgrading is safe: pip install --upgrade hyatlas-memory is a drop-in replacement for any 1.x install. No breaking API changes, no config migration, no data migration.

What's in 1.4.2

🪟 hyatlas console — visible status window with live activity ticker

A read-only console window that shows:

  • Live service health (Qdrant :6333, upstream :19527, dashboard :8765) — green/red ● indicator, refreshed every 2s.
  • "Currently doing:" line — replaces in place with the latest interesting event.
  • "Last events:" tail — last 8 memory operations (writes, recalls, S1 extraction, S2 preprocessing, reconciliation, errors).

Cross-process by design. The console tails hyatlas-memory.log so writes from any Python process (Hermes agent, dashboard, MCP) appear live.

Strictly read-only. Closing the console does NOT stop the stack.

hyatlas console

hyatlas start is now safe to close

Previously, closing the visible console window sent a kill signal to the entire process tree — Qdrant + upstream + dashboard all died together. Services now always spawn with DETACHED_PROCESS. The visible console is a read-only log tailer; the stack runs independent of any window.

> hyatlas start                  # safe to Ctrl+C / close the terminal once "ready"
> hyatlas console                # open the status window whenever you want
> hyatlas stop                   # actually shut the stack down

🩹 Dashboard L5 graph 503 — root-cause path mismatch

Writer (l5_export_json.py) and reader (4 sites in dashboard.py) used different hardcoded paths for the L5 export JSON. Neither used Hermes' canonical home resolver. Single _l5_export_path() helper now shared by writer (2 sites) and reader (4 sites). Dashboard graph endpoint returns 200 with actual data.

🔇 Lint-clean CI

All 20 ruff violations from the v1.4.2 console code are fixed. ruff check src/ tests/ passes. 20/20 tests pass.

Install / upgrade

pip install --upgrade hyatlas-memory
hyatlas setup hermes

That sets the plugin shim and auto-starts Qdrant + upstream + dashboard on the next Hermes session. Two-command deployment.

Quick reference

hyatlas start           # start the stack
hyatlas stop            # stop the stack
hyatlas status          # what's running
hyatlas console         # live status window
hyatlas doctor          # full health check
hyatlas setup hermes    # install plugin + config

Full changelog

See CHANGELOG.md for the complete 1.4.2 entry and prior versions.

Verification

End-to-end live-tested:

  • Console window renders, health indicator updates every 2s
  • sync_turn from a separate venv Python — console ticker captured upstream pipeline's S1 extraction, S1 reconciliation, S2 preprocessing, cross-domain sweeper warning in real time
  • Closed the console window with stack running — services stayed up (regression test for the parent-process-group bug)
  • hyatlas console --help lists the subcommand
  • L5 graph endpoint returns 200 on the dashboard

Compatibility

  • Python 3.10+
  • Qdrant 1.x
  • Windows / macOS / Linux
  • Same ~/.hermes/hy_memory.json config format as 1.2.x / 1.4.0 / 1.4.1 — no migration needed