• v1.4.0 8e7e39a6bc

    v1.4.0
    All checks were successful
    Checks / Functional checks (push) Successful in 14s
    Stable

    ClaudiuSchuster released this 2026-09-24 17:10:55 +00:00 | 120 commits to main since this release

    v1.4.0 — steering console + scroll-stable follow output 🎛️

    The observatory's first WRITE-capable action: a prompt dialog in the response modal AND the full transcript drawer runs a follow-up turn through the installed zcode-dispatch — the observatory still never writes the ZCode DB. Plus the scroll fix: both surfaces are now strictly position-stable with a follow-output toggle.

    • POST /api/session/<id>/steer — auto-detects cwd/model like the dispatcher's notify_parent (never guessed), writes the prompt to ~/.config/zcode-dispatch/observatory-steers/, spawns the INSTALLED dispatcher detached (--resume, no --timeout — long turns legal). 400 empty text · 404 unknown session · 409 steer already in flight (one driver per session) · 503 dispatcher missing.
    • GET /api/session/<id>/steer/latest — incremental result JSON + process liveness + exit code + response tail; survives an observatory restart via the newest result file on disk.
    • Prompt dialog (both surfaces) — multi-line (Enter sends, Shift+Enter newline), target line (title · model · cwd basename), send disabled only while steering, status walks sending → turn-running → terminal with the exit-code legend (0 ok · 3 busy/lock/mismatch — session has a running turn · 5 timeout, session intact), response tail (~500 chars) on completion.
    • Scroll stability — refresh cycles without new content never touch scrollTop (content-keyed render skip); follow output toggle top-right of the body in both surfaces: ON auto-scrolls new content, OFF never moves your position. Default ON for running sessions, OFF for terminal ones (persisted per page session); scrolling up pauses follow and shows a ↓ jump-to-latest pill.

    Verified: 22/22 CDP checks (scroll stability, follow semantics, steer lifecycle, busy exit-3, Shift+Enter), fixture API smoke, and a REAL end-to-end steer against a scratch session driven from the drawer UI (turn-running → completed exit 0, tail E2E-STEERED-OK 43). Gates: py_compile + --help, social-preview freshness, Super-Linter slim v8.7.0 EXIT 0.

    ⚠️ Owner action after station update: restart the observatory (zcode-observatory) — this release changes observatory.py, which the running process keeps in memory.

    Downloads