# Changelog All notable changes to MAESTRO are documented here. The format is loosely based on [Keep a Changelog](https://keepachangelog.com/), and the project aims to follow semantic versioning. ## Unreleased ### Added - Research pieces (`research` / `sns-research` / `sns-deep-sweep`) now write date-stamped outputs (e.g. `output/report-2026-07-09.md`, `output/deepdive/2026-07-09/`) so repeated runs in a persistent workspace accumulate instead of overwriting the previous report. The agent system prompt now always includes the current date/time (2026-07-09). - Draft autosave for the new-task dialog, chat composer, feedback comments, and continue instructions — text survives an accidental close or reload. Files can be attached by pasting (Ctrl+V) into the new-task dialog (2026-07-09). - Settings: a "Skill quotas" section plus editors for several previously config-file-only options (max stream time, subtask debounce, summary headroom, .msg size limit, TLS minimum version, worker health-check interval) (2026-07-09). ### Fixed - Delegate run cards showed "0 tool calls" (and empty tool/file breakdowns) regardless of actual activity; tool events now carry their own run attribution (2026-07-09). ## v0.2.0 (2026-07-09) A month of work since the initial release, centered on shared workspaces, agent-to-agent (A2A) collaboration, and much deeper visibility into what agents are doing. ### Added - **Shared workspaces** — the workspace is now the single home for everything: a workspace rail, per-workspace chats with search/filtering, colors and descriptions, running-count badges, workspace-scoped schedules, reusable invite links, and credential sharing with scoped grants. The separate "Tasks" tab is gone. - **Workspace tool policy** — enable/disable tools per workspace from Settings → Tools; piece YAML no longer controls tool availability. Agents can request a missing tool or Python package mid-task and use it as soon as you approve in chat; workspaces can also pre-install extra Python packages. - **A2A protocol support** — publish an Agent Card, delegate skills to external agents with per-delegation resource limits, run long A2A tasks non-blocking, and list/revoke delegations from Settings (OAuth-based authorization server underneath). - **SSH integration** — register SSH connections per workspace, run one-shot remote operations, or open an interactive console where you and the agent share one PTY (multiple sessions with tab switching). - **Delegate observability** — sub-agent (delegate) runs are now visible: live cards with the currently running tool, result previews and abort reasons, LLM token counts, child-run rollups, and a live console. LLM execution itself shows live state, attempt badges, and classified interruption reasons. - **Workspace apps** — self-contained HTML mini-apps that read/write workspace files, generated with starter templates and a self-E2E pass, shareable via read-only public links. - **Files tab upgrades** — folder create/rename/move/delete/download, drag-and-drop organization, touch support, a details view (size, modified time), file provenance (which task created a file), a protected `readonly/` area, and automatic recognition of files you drop into the workspace. - **Richer previews and reading** — Excel/PowerPoint/Word preview, PDF page-range reads, and a single `Read` tool that auto-detects .xlsx/.docx/.pdf/.pptx/.msg. - **X (Twitter) research** — tools restored (new transaction-id scheme), home timeline support, full text of long-form X Articles, and an "SNS deep sweep" piece that triages a timeline and deep-dives each post with a clean-context sub-agent. - **Cross-task recall** — agents can search other chats in the workspace (`SearchWorkspaceTasks`), search their own long conversations, and subtasks can look back at their own transcript; multi-keyword AND search included. - **Memory & learning** — lessons captured mid-task into persistent memory / AGENTS.md, a Memory & Learning settings tab with reflection history and revert, and an extended mission brief that pins user constraints and decisions. - **English UI** — recently added screens are fully localized (i18next); UI is bilingual Japanese/English throughout. ### Changed - Chat screen: taller conversation viewport, a card-style auto-growing composer, an always-visible context-usage gauge, and tool rows with execution timestamps. - Research pieces split large investigations into serial delegate runs to keep the orchestrator context small. - Context handling keeps more of the recent conversation verbatim when compacting and retains longer histories on large-context models. - Job time limits are configurable from Settings, with clearer hard-kill reasons (default 180 minutes). ### Fixed - A context-limit livelock that aborted tasks seconds after start with "max iterations (200) exceeded" while doing no work. - Docker: clean `docker compose up --build` reliably installs Chromium (npm bin-name collision), and Windows/WSL2 checkouts build cleanly (`.env` optional, LF pinned via `.gitattributes`). - HTTPS redirect kept firing after HSTS was disabled (sticky-HSTS opt-in fix). - Shift_JIS and other non-UTF-8 Japanese text was misdetected as binary; BOM handling fixed. - Raw HTML in chat messages no longer breaks the conversation layout. - Models that require the system message first no longer error mid-task. - Skills whose folder name diverged from their display name could not be deleted or edited. - Attaching a file with an existing name no longer overwrites it silently — the old version is evacuated to `old/`. ## v0.1.0 — Initial public release (2026-06-02) First open-source release of MAESTRO, an agent orchestration platform: - Runs tasks against any OpenAI-compatible LLM endpoint (Ollama, vLLM, …). - LLM-classified task routing into **Pieces** (YAML workflows) of **movements**. - Sandboxed tool runtime (Read/Write/Edit/Bash/Glob/Grep, Office, Web, Browser, Image, Data/SQLite, Knowledge/RAG, SSH, MCP, sub-tasks, and more). - Bash tool sandbox (bwrap-based filesystem/network/env isolation with a hardened fallback) and a declarative pre-baked Python toolchain. - Optional LLM Gateway (virtual keys, budgets, metrics), reflection-based learning, scheduled tasks, and a React web UI. - Apache-2.0 licensed.