> ## Documentation Index
> Fetch the complete documentation index at: https://artemiscity.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Weekly changelog for Artemis City covering new features, integrations, dashboard updates, governance changes, and bug fixes across the platform.

<Update label="July 15, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  A big week focused on ATP-aware routing, Hebbian observability, a real LLM bridge to Exo, and a proper legal-summarization eval pipeline.

  ### New features

  * **ATP-aware routing and end-to-end provenance tracing.** Task envelopes now carry Agent Translator Protocol (ATP) headers that resolve to routing scope, required capability, and action metadata before dispatch. Every execute and stream response returns an `atp` block plus a `provenance_id`, and run events link routing, dispatch, memory, learning, and task lifecycle through parent/child provenance IDs so an entire task can be replayed from a single ID. ATP headers are stripped from agent-visible content, and provenance logging is fail-closed. See [Translator Protocol](/Documentation/integrations/translator_protocol) and the [API reference](/api/api-reference).
  * **Hebbian Sentinel observability.** New Sentinel state and alert endpoints land on the FastAPI and Express layers, and the Executor's routing panel now surfaces per-candidate oscillation rate, alert flag, and sample count alongside trust and score. Operators can see routing instability in the dashboard the moment it starts, instead of waiting for a downstream failure. See [Trust scoring](/Documentation/governance/trust-scoring) and [Routing modes](/Documentation/architecture/routing-modes).
  * **Legal summarization evaluation pipeline.** The legal summarization experiment is now a configurable eval pipeline with Hub and local dataset loading, streaming, column/task mapping, an extractive baseline mode, and dependency-free ROUGE-style metrics with per-run and per-record aggregation. Dataset provenance is persisted alongside every run, and Hugging Face access uses `HF_TOKEN` (with an optional interactive fallback). A new `make legal-summarization` target plus a dependency-doctor mode (`--check-dependencies`) make first-run setup self-diagnosing. Useful as a reference workload for ATP and memory-bus tuning.
  * **Concept Demos hub.** The interactive Artemis, city postal, and memory-integration demos are consolidated under `Concept_Demos/` and wired into the root Makefile using locked `uv sync` installs, so a fresh clone can run every demo without hand-editing paths.

  ### Updates

  * **Real LLM calls through the v1 API.** `/api/v1/llm` (`chat`, `complete`, `config`) now delegates to the Python bridge and hits Exo for real instead of returning simulated controller output. Provider failures are reported as provider failures (no synthetic success unless an operator opts into a degraded local baseline), and every call records redacted Exo wire evidence — request/response IDs, endpoint, status, latency, hashes — for audit. Demo-era LLM routes that were never implemented now respond with an explicit `501`. See the [API reference](/api/api-reference).
  * **Exo timeout, retry, and compression controls.** New environment variables tune Exo request timeouts, retry behavior, and long-response compression, and oversized model outputs are routed through governed summarization and preserved as artifacts. Streaming responses now emit heartbeat events so idle SSE connections don't drop mid-generation. See [Environments](/Documentation/operations/environments).
  * **Rate limiting with `Retry-After`.** Protected LLM routes are now rate-limited and return a standards-compliant `Retry-After` header when a client exceeds its budget, so integrations can back off cleanly instead of hammering the API. See the [API reference](/api/api-reference).
  * **CI/CD consolidated on CircleCI.** The stale, overlapping GitHub Actions workflows (including one with invalid YAML and one referencing a missing action) have been removed. CircleCI is the single source of truth, GitHub Actions keeps only the promotion cascade, and docs now match the pipeline that actually runs. See [Environments](/Documentation/operations/environments).
  * **Coverage floor raised to 90%.** Python coverage is now standardized on a single `pyproject.toml` source list and enforced at a 90% floor across local runs and CI, with expanded contract and branch coverage for the bridge, dashboard API, orchestrator, kernel memory bus, CLI entry points, trust and registry round-trips, and legal summarization.
  * **Backend tables unified under one data folder.** Backend data sourcing for the registry, memory bus, and run logs is now consolidated under a single canonical `data/` folder, so self-hosted operators no longer have to reconcile parallel paths after upgrades. See [Environments](/Documentation/operations/environments).
  * **Legacy demo frontend removed.** The old `Concept_Demos/web/frontend` Vite app and the `quantum-harmony-marketplace` submodule reference have been deleted. If you were building against either, switch to the new demo entry points under `Concept_Demos/`.

  ### Bug fixes

  * **Streaming responses terminate cleanly on failure.** Startup wiring and streaming termination were fixed so a routing or execution failure closes the SSE stream and marks the task correctly instead of leaving the connection open or the task in an ambiguous state. See the [API reference](/api/api-reference).
  * **Provider outages no longer look like agent bugs.** LLM agent responses now separate provider failures from agent failures on the wire, so a downed Exo endpoint surfaces as a provider error with the recorded evidence instead of an opaque agent failure. Learning updates are gated to eligible outcomes so a failed call doesn't skew Hebbian weights.
  * **Obsidian parsing unified in FastAPI.** The FastAPI layer now reuses the canonical Obsidian parser used elsewhere in the stack, so task and note reads return the same structure regardless of which entry point served them. See [Agentic Memory Layer](/Documentation/integrations/agentic-memory-layer).
</Update>

<Update label="July 10, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  The Quantum Harmony plugin marketplace expands with three new scaffolding and governance plugins, and `ramble-on` gets a resilience pass.

  ### New features

  * **Three new marketplace plugins for agent scaffolding and provenance.** The Quantum Harmony marketplace adds `project-scaffolder` (lays a project's `.agents/` governance frame — instructions, index, seeded logs), `agent-definition` (writes an Agent Card to `agents/<name>/AGENTS.md`, inheriting parent governance), and `atp-provenance-logging` (line-item action provenance with parent + child `prov_id` in agent logs, and halt-and-alert on log failure). They stack cleanly with the existing `agent-scaffolder` and `artemis-transmission-protocol` plugins to define, scaffold, communicate, and audit agents end to end. See [Translator Protocol](/Documentation/integrations/translator_protocol) and [Trust scoring](/Documentation/governance/trust-scoring).
  * **Anaconda Agent Studio skill pack.** A new `anaconda-agent-studio` skill scaffolds agents for the Anaconda Agent Studio runtime — `agent.yaml` / `pixi.toml` layout, `@tool` authoring against `anaconda_agent_runtime`, MCP tool servers, multi-agent orchestration, and a migration path for existing Claude skills. Bundled alongside the ATP skill so a single install covers the Artemis City → Agent Studio bridge. See [Environments](/Documentation/operations/environments).
  * **ATP packaged as a Claude plugin.** The Artemis Transmission Protocol skill is now distributed as `artemis-transmission-protocol@1.1.0` on the marketplace, with a pre-seeded tag registry, portable `persona.py` loading, and a bundled `scripts/` + `assets/` layout so a fresh install works without hand-editing paths. See [Translator Protocol](/Documentation/integrations/translator_protocol).

  ### Updates

  * **`ramble-on` 1.3.0: cross-provider fallback and safer key handling.** The signal-translation plugin now transparently fails over to a secondary provider when the primary returns an auth error, 404, or 429 quota response, so a single vendor outage doesn't drop the request. A shared key inspector runs at three checkpoints (seed script, on-demand tool, load-time warning) and reports a masked fingerprint plus structural issues, catching malformed pastes without exposing the secret. The retired `claude-3-5-sonnet-latest` default was swapped for `claude-opus-4-8`, and the server version string is now aligned across `plugin.json`, `mcp/package.json`, the marketplace entry, and the running MCP server's `SERVER_INFO`.
  * **`ramble-on` 1.2.0: esbuild-bundled MCP sidecar.** The plugin's MCP sidecar is now bundled with esbuild, producing a smaller, self-contained install and stable file paths. Unsupported HTTP methods on the sidecar now return a normalized error instead of crashing the transport.
  * **MCP architecture reference.** A new marketplace-level architecture doc walks the MCP tool lifecycle and sidecar model used by `ramble-on` and the ATP plugin, so plugin authors have a single reference for how tools are discovered, invoked, and torn down.
</Update>

<Update label="June 21, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  A quiet week — one infrastructure update for self-hosted operators.

  ### Updates

  * **Unified CircleCI pipeline for self-hosted forks.** CircleCI is now the single source of truth for CI/CD, with parallel checks (docs mirror, Python 3.11/3.12/3.13 matrix, TypeScript API, secrets scan) and branch-gated workflows for `dev`, `staging`, and `prod`. `dev` auto-deploys on green, and the `dev → staging → prod` promotion cascade is wired in behind approval gates that match the environment policy. Per-version pytest results, coverage, and a Bandit security report are stored as build artifacts, and advisory linters (Black, isort, Flake8) run once per build. See [Environments](/Documentation/operations/environments).
</Update>

<Update label="June 20, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  Artemis City v0.7.0 is out. Highlights below.

  ### New features

  * **Sandbox City simulation environment.** A new metaphorical simulation layer maps system functions to named "zones" — Post Office (secure transfer), Town Hall (governance), Library (memory archives), Workshop (agent onboarding and validation), Public Square (CLI and interface layer), and Watchtower (monitoring). Useful for visualizing agent interactions and onboarding new operators. See [Living City](/Documentation/Introduction/LIVING_CITY).
  * **Vector store seed script.** A standalone seed script is now bundled with the API tree so self-hosted operators can bootstrap a fresh vector store with a usable corpus in one step, instead of relying on an empty index. See [Environments](/Documentation/operations/environments).

  ### Updates

  * **Express API now bridged through the Python core.** The agent registry, ATP, memory, trust, and Hebbian endpoints on the Node/Express API now route every mutation through the Python orchestrator instead of an in-memory TypeScript shim. Behavior and responses are consistent between the Express layer and a direct Python call, and Obsidian vault path handling was hardened along the way. The public route surface is unchanged. See the [API reference](/api/api-reference).
  * **Automated dev → staging → prod promotion cascade.** Self-hosted CI now fast-forwards `dev` to `staging` and `staging` to `prod` automatically once the test gate passes, instead of requiring a manual promotion PR for each hop. The deploy workflow is now reusable, and a pre-commit branch guard blocks accidental commits to protected branches. See [Environments](/Documentation/operations/environments).
  * **CircleCI runnable out of the box.** The CircleCI config was simplified, the Python orb was updated, and pytest is now wired in, so a fresh fork of the repo passes CI without manual tweaks. Dependency submission was fixed at the same time.

  ### Bug fixes

  * **Reflected XSS hardening on the agent card endpoint.** The agent card markdown endpoint now responds with `text/plain` and `X-Content-Type-Options: nosniff` so browsers can't render an attacker-influenced response as HTML. Markdown rendering continues to work in clients that opt in explicitly. See the [API reference](/api/api-reference).
</Update>

<Update label="June 15, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### New features

  * **Trust-aware routing.** The Hebbian router now blends a third signal — composite + Hebbian + trust — so high-trust agents are preferred when capabilities tie. Operators can also set a trust floor that excludes any agent below the threshold from candidacy before scoring. Both controls are opt-in via `ARTEMIS_HEBBIAN_ROUTING_BETA` and `ARTEMIS_ROUTING_TRUST_FLOOR` (default `0.0`, off). When the trust source is unavailable, routing falls back to a neutral prior instead of blocking, and a floor that excludes every candidate now raises a dedicated error instead of silently routing to a fallback capability. See [Trust scoring](/Documentation/governance/trust-scoring) and [Routing modes](/Documentation/architecture/routing-modes).
  * **Streaming task execution.** A new `POST /api/cli/execute/stream` endpoint returns a Server-Sent Events stream with four event types — `routing`, `token`, `complete`, `error` — so dashboard and CLI clients can render LLM output token by token. Non-streaming agents are served by the same path with a single token event, so clients don't need to branch on agent type. See the [API reference](/api/api-reference).
  * **Live streaming in the dashboard Executor.** The Executor view gains a Stream response checkbox plus a live token buffer that fills in as the model produces output, then rolls into the final result summary on completion. The routing panel now also surfaces a per-candidate trust column and a trust-floor badge when one is configured.

  ### Updates

  * **Exo LLM endpoint wired up end-to-end.** The built-in LLM agent now targets `/v1/chat/completions` directly (previously a misconfigured base URL returned `405 Method Not Allowed`), default `max_tokens` was raised from 600 to 4000 so reasoning-mode models like Qwen3 finish before hitting the budget, and the default request timeout was raised from 5s to 60s to match real local-inference latencies. The default `EXO_MODEL_ID` is now `mlx-community/Qwen3-0.6B-4bit` — the smallest text-gen model in the registry — so a fresh self-hosted install boots with a working model. See [Environments](/Documentation/operations/environments).
  * **Reasoning fallback when models exhaust the token budget.** When a reasoning-mode model fills its budget thinking and emits no final answer, responses now fall back to the model's `reasoning_content` prefixed with a clear `[Model hit max_tokens during reasoning — increase max_tokens to get a final answer.]` note, instead of returning an empty result.
  * **Dark-theme contrast across the dashboard.** Native `<select>` dropdowns in Executor, Tasks, and Database now use the dark surface palette so menu items are legible. The Executor's blue / teal / purple / gray callouts and the Database's event-row panel were re-skinned with translucent dark backgrounds and explicit text colors. The Reports modal now styles headings, paragraphs, code blocks, blockquotes, tables, lists, and links for the dark theme, so report bodies are readable end to end.

  ### Bug fixes

  * **Trust-floor exclusion no longer silently falls back.** When every candidate for a requested capability is below the configured trust floor, the router now raises an explicit error instead of returning `None` and letting the orchestrator fall back to a different capability (typically `llm_chat`). This preserves the operator's policy — a trust-gated request will not be served by an un-gated capability.
  * **Trust source failures no longer block routing.** If `TrustInterface` fails to initialize, the orchestrator now zeroes out the trust blend and trust floor for the run instead of leaving every agent at the 0.5 neutral prior — which, with a floor above 0.5, would have excluded everyone and made the system look hung. A warning is logged so operators can repair the trust source.
  * **Streaming routing failures now update task state.** When routing fails during a streaming execution (missing capability, trust-floor exclusion, etc.), the task note is now marked `routing_failed` before the error event is yielded, matching the non-streaming contract. Tasks no longer get stuck at `in progress` with no execution record.
  * **Streaming responses redact internal error detail.** The streaming executor's `error` and `complete` events now return generic messages (`"Streaming executor crashed; see server logs."`, `"Hebbian persistence failed; see server logs."`) instead of raw exception strings. Full detail still lands in the server log. See the [API reference](/api/api-reference).
  * **Hebbian persistence failures surface to streaming clients.** If the post-execution Hebbian weight update fails on a streaming task, the `complete` event now reports a generic persistence error in its `error` field, so the client knows the learning update was lost even though the task itself succeeded. Previously the failure was swallowed.
  * **Code-scanning autofixes.** Cleared eight log-injection findings by routing every logged user-controlled value through the recognized sanitizer pattern, plus stack-trace-exposure findings on the new streaming error paths.
</Update>

<Update label="June 13, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### New features

  * **Anaconda Agent Studio integration.** External agents running under Anaconda Agent Studio (Oracle, Compsuite, Packrat, Compressor, Loki) can now be registered into the Artemis City agent registry and routed to through the same capability-based path as built-in agents. Each external agent keeps its own persona, system prompt, and tools — Artemis City is the transport and governance layer. Opt in by setting `ANACONDA_AGENT_PORTS` (and optionally `ANACONDA_DESKTOP_URL`) before starting the orchestrator. See [Environments](/Documentation/operations/environments) and the [API reference](/api/api-reference).
  * **Versioned rollback for system state.** A new rollback manager lets operators create, list, restore, and prune versioned checkpoints of Artemis City's state, with retention policies and provenance logging on every transition. This gives self-update and routing changes a durable, auditable safety net. See [Trust scoring](/Documentation/governance/trust-scoring).

  ### Updates

  * **Orchestrator auto-discovers external agents at startup.** When `ANACONDA_AGENT_PORTS` is configured, the orchestrator now registers each matching Anaconda Agent Studio agent as part of its standard startup sequence and logs which agents joined the registry. When the variable is unset, startup is unchanged — the integration is fully opt-in and any discovery or network failure is logged without blocking boot.
  * **Bearer auth on external agent calls.** Requests to Anaconda Agent Studio's per-agent endpoints and the Desktop discovery endpoint now send an `Authorization: Bearer` header on every call. The key resolves in order: explicit caller argument → `ANACONDA_API_KEY` environment variable → a permissive default that works with the Agent Studio Beta out of the box. A single environment variable now configures the whole stack.

  ### Bug fixes

  * **Streaming responses from external agents parse correctly.** External agents return Server-Sent Events even when a non-streaming response is requested. The integration now consumes the stream end-to-end and separates the model's reasoning (`reasoning_content`) from the user-facing response (`content`) so callers can surface answers and audit reasoning independently, instead of failing on the first non-JSON line.
</Update>

<Update label="June 9, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### New features

  * **Refreshed dashboard design.** The web dashboard ships a new "Glass Robo" look — dark navy surface, glass panels, semantic kernel/memory/attention accents, and JetBrains Mono + Inter typography applied across every page. The sidebar is grouped into Operate and Inspect sections with an inline health card that polls orchestrator state every few seconds, and the home page now opens on a cluster overview with KPI tiles for Agents, Hebbian, Vectors, and Reports plus an Agent Topology panel. See the [API reference](/api/api-reference) for the endpoints driving each view.

  ### Updates

  * **Drift-resistant secrets setup.** `setup_secrets.sh` no longer rotates keys on every run. It now discovers canonical values from existing `.env` files, fills gaps without overwriting, and syncs the same value into every consumer so the FastAPI dashboard and orchestrator can't fall out of sync. Two new modes ship: `--check` exits non-zero on drift (CI-friendly) and `--regenerate` force-rotates all canonical keys. See [Secrets setup](/Documentation/operations/secrets-setup).
  * **Dashboard auth wired end-to-end.** The web dashboard now sends `X-API-Key` on every request and reads `FASTAPI_API_KEY` / `MCP_API_KEY` from the project root `.env` automatically, so running `setup_secrets.sh` followed by the dashboard no longer 401s. A new `make api` target boots the FastAPI dashboard backend on `:8000` alongside `make frontend`.
  * **Dashboard data sources unified.** The Agents, Database, Hebbian Stats, Vector Stats, and Runs endpoints now read from the canonical repo-root `data/` directory used by the orchestrator instead of an empty parallel path, so all five views populate on a fresh install. Container operators can override individual stores via `ARTEMIS_DATA_DIR`, `ARTEMIS_REGISTRY_DB`, `ARTEMIS_HEBBIAN_DB`, `ARTEMIS_VECTOR_DB`, and `ARTEMIS_RUN_LOG_DB`. See [Environments](/Documentation/operations/environments).
  * **Unified `docker-compose.yaml`.** The root compose file is now `docker-compose.yaml` (matching the devcontainer and every other reference in the repo). Self-hosted operators should pull the latest file; the memory-layer subdirectory's compose file is unchanged.

  ### Bug fixes

  * **LLM provider keys no longer leaked over the API.** `POST /api/v1/llm/provider` and `GET /api/v1/llm/providers` previously echoed the upstream provider `apiKey` (resolved from server env vars) back to any caller holding the dashboard's `X-API-Key`. Both responses now redact `apiKey` and return `apiKeyConfigured: boolean` instead. Chat and completion paths still use the real key server-side. See the [API reference](/api/api-reference).
  * **Client options can't override server-side LLM credentials.** Client-supplied `options.apiKey` and `options.baseUrl` on the provider configure endpoint can no longer overwrite the env-derived key and base URL. Non-object `options` payloads are also coerced to `{}` instead of being spread.
  * **Docker runtime image fixes.** The runtime image's `ARTEMIS_REPO_ROOT` now points at the correct working directory so the TypeScript-to-Python bridge resolves, the production stage runs `npm ci --omit=dev` so the API can boot, `EXPOSE` matches the documented `API_PORT`, and the container healthcheck honors `API_PORT` overrides instead of probing a hard-coded port.
  * **Trust score store isolation.** Trust-interface tests now use a per-test SQLite database instead of sharing the project default store, so local runs no longer carry decay or penalty state across test invocations. See [Trust scoring](/Documentation/governance/trust-scoring).
  * **Code-scanning autofixes.** Picked up GitHub code-scanning autofixes for a log-injection finding and a disabled-certificate-validation finding.
</Update>

<Update label="June 6, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### Updates

  * **Unified CLI entry point.** CLI logic is now consolidated under `app.kernel.cli` so the terminal, demo, and bridge flows all share the same kernel surface. The legacy `artemis_cli.py` entry still works, so existing scripts and shortcuts continue to run unchanged. See the [Kernel CLI](/Documentation/architecture/kernel-cli) reference.
  * **`.env`-aware Makefile targets.** Make targets for the demo, CLI, and server now auto-load values from a local `.env` before running, so self-hosters no longer need to `export` variables by hand for each session. See [Secrets setup](/Documentation/operations/secrets-setup).
  * **Container image cleanup.** The Python image was renamed from `Dockerfile.python` to `Dockerfile-python` and `docker-compose.yml` was updated to match. A new `.dockerignore` keeps secrets and build artifacts out of image context, producing smaller, safer builds. Self-hosted operators rebuilding images should pull the latest compose file. See [Environments](/Documentation/operations/environments).
</Update>

<Update label="June 5, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### New features

  * **Governance checkpoints and rollback.** Deployment, scheduled, and manual checkpoints now persist a hashed snapshot of agent state with a configurable retention window, and a rollback manager verifies integrity before returning a checkpoint for restore. Operators get a durable safety net for self-update and routing changes. See [Trust scoring](/Documentation/governance/trust-scoring).
  * **Per-agent sandbox with tool whitelisting.** Agents now run against a per-agent allowlist of tools, paths, and operations. Denied calls are recorded as typed violations (`unauthorized_tool`, `unauthorized_path`, `rate_limit`, `missing_capability`, `unsafe_network`), and an agent is auto-quarantined on its third strike. See [Metrics](/Documentation/governance/metrics).
  * **Artemis persona and reflection layer.** The flagship Artemis agent ships with a structured persona (reflective, architectural, conversational, technical, and poetic response modes) and a reflection module for higher-level planning and summarization. See [Living City](/Documentation/Introduction/LIVING_CITY).
  * **Legal-judgment summarization experiment.** A new CLI experiment (`python -m src.Experiments.legal_summarization.main`) runs single-document and batch summaries across English and Urdu judgments, with run history, side-by-side run comparison, and a dataset describe mode. Useful as a reference workload for ATP and memory-bus tuning.

  ### Updates

  * **Approval-tier thresholds clarified.** Self-update tiers now publish their exact boundaries: `auto` requires trust > 0.9, \< 1% code change, backwards-compatible, and no new dependencies; `monitored` covers trust 0.7–0.9, 1–10% change, additive API, with new deps gated on review; everything else (including any policy or governance change, regardless of trust) routes to `human`. See [Trust scoring](/Documentation/governance/trust-scoring).
  * **Agentic Memory Layer hardening.** The MCP server gains explicit auth middleware, request logging, and dedicated tools for note read/update/delete, frontmatter and tag management, global search, and search-and-replace against the Obsidian vault. See [Agentic Memory Layer](/Documentation/integrations/agentic-memory-layer).
</Update>

<Update label="June 4, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### New features

  * **Trust-score engine and self-update approval tiers.** A new governance service computes a per-agent trust score from weighted sub-metrics (success rate, security, code quality, audit, uptime) and exposes a per-component breakdown for transparency. A companion approval governor classifies proposed agent self-updates into `auto`, `monitored`, or `human` review tiers — breaking changes, large diffs, policy or governance edits, unknown agents, and low-trust agents are routed to humans automatically. Two new endpoints land under `/api/v1/governance`: `POST /agents/{id}/trust` computes and persists a trust score, and `POST /updates` returns the approval tier for a proposed update. See [Trust scoring](/Documentation/governance/trust-scoring) and the [API reference](/api/api-reference).

  ### Bug fixes

  * **Security: remediated Dependabot alerts across Python and Node dependencies.** Vulnerable lower bounds were raised to the first clean release for `requests`, `python-multipart`, `setuptools`, `black`, `pyarrow`, `pytest`, `pydantic`, `fastapi`, `httpx`, and `wheel`, alongside `npm audit fix` for the web dashboard. Self-hosted operators should re-resolve their lockfiles to pick up the patched versions.
</Update>

<Update label="May 30, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### New features

  * **Kernel CLI and built-in agents.** The kernel layer is now importable as `app.kernel` and ships a terminal entry point at `python -m app.kernel.cli` with one-shot, plan-file, and interactive modes. Two concrete agents are wired in: a `daemon` system anchor (also the default fallback for unimplemented routes) and a `planner` that drafts execution plans. Routes without a concrete handler now fall back to the daemon and log the gap, and responses report the agent that actually handled the command. See the [Kernel CLI](https://www.artemiscity.com/architecture/kernel-cli) reference.

  ### Updates

  * **`daemon` replaces `codex_daemon`.** The default route in `agent_router.yaml` was renamed from `codex_daemon` to `daemon`. Update any custom router configs or scripts that referenced the old name.
  * **Installable `app` package.** The Hatch wheel now ships the `app/` tree, so installed consumers can `import app.kernel.kernel` and run `python -m app.kernel.cli` without a source checkout.
</Update>

<Update label="May 28, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### Updates

  * **Agentic Memory Layer now talks to the real Obsidian Local REST API.** The MCP server's vault client was rewritten against the documented Local REST API v4.x surface: file CRUD targets `/vault/{path}` with segment-wise URL encoding and `text/markdown` content types, search uses `POST /search/simple/?query=…`, and frontmatter/tag edits go through `PATCH /vault/{path}` with the documented `Operation` / `Target-Type` / `Target` headers. Tag add/remove now does read-modify-write so duplicates and missing arrays are handled cleanly, and `listNotes` walks the vault depth-first via `GET /vault/{dir}/`. Exported function signatures are unchanged, so existing MCP tool wrappers keep working without edits. See [Agentic Memory Layer](https://www.artemiscity.com/integrations/agentic-memory-layer).
  * **Environment branching docs reference branch protection rulesets.** [Environments](https://www.artemiscity.com/operations/environments) now points to the `Protect dev`, `Protect staging`, and `Protect prod` rulesets that enforce required CI checks and approvals on each environment branch.

  ### Bug fixes

  * **Removed unconfigured security workflows.** The placeholder APIsec and Jscrambler starter workflows have been removed from CI. They were never wired up and were failing on every push to `staging` and `prod`. Real scanners will be re-added once accounts and secrets are provisioned.
</Update>

<Update label="May 21, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### New features

  * **Environment branching (dev / staging / prod).** Three long-lived environment branches now map 1:1 to GitHub Environments and deploy targets, with per-environment YAML under `config/environments/` and an `ARTEMIS_ENV`-keyed Python loader. CI validates all three configs on every push, `deploy.yml` routes pushes to the matching GitHub Environment, and a manual `Promote` workflow opens draft `dev → staging` and `staging → prod` PRs. Setup steps and the secrets model are documented in [Environments](https://www.artemiscity.com/operations/environments).
</Update>

<Update label="May 16, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### New features

  * **Web dashboard UI.** A new browser-based dashboard lands with dedicated views for Agents, Tasks, an Executor, Reports, and a Database explorer. Operators can now monitor and drive runs without leaving the browser. See the [API reference](https://www.artemiscity.com/api-reference) for the endpoints powering each view.
  * **Versioned v1 web API.** Agents, ATP, memory, trust, LLM, and health endpoints are now grouped under a stable `/v1` namespace with auth and logging middleware, so integrations can target a versioned surface instead of unversioned routes. Full schema in the [API reference](https://www.artemiscity.com/api-reference).
  * **Agent Translator Protocol (ATP).** First-class ATP support ships with a parser, validator, and shared models, giving agents a structured way to negotiate task envelopes and translation boundaries across the city. Background in the [Translator Protocol](https://www.artemiscity.com/integrations/translator_protocol) guide.
  * **Artemis CLI.** A command-line interface is now available for driving the orchestrator from a terminal, alongside an `agent_router` configuration for declarative routing setups.
  * **Postal service & trust interface.** A new postal service handles inter-agent message delivery, and a dedicated trust interface exposes scoring, validation, and credentialed-reviewer signals to clients. See [Trust scoring](https://www.artemiscity.com/governance/trust-scoring).

  ### Updates

  * **Memory client with decay.** A reusable memory client now talks to the hybrid memory bus on behalf of agents and applies decay so stale entries fall out of routing automatically. See [Hybrid memory bus](https://www.artemiscity.com/memory/hybrid-memory-bus) and [Hebbian learning](https://www.artemiscity.com/memory/hebbian-learning).
  * **Vector store seeding.** A seeding workflow is available for bootstrapping the vector store on a fresh deployment, so new environments start with a usable corpus instead of an empty index.
  * **Containerized deploys.** A separate Docker dependency set is now maintained alongside the standard install, keeping self-hosted images lean.
  * **Health checks.** A built-in health check surfaces orchestrator, memory bus, and API status in one call for uptime monitoring and load balancers.
  * **Refreshed architecture docs.** [Architecture](https://www.artemiscity.com/architecture/system-diagram), [Living City](https://www.artemiscity.com/architecture/LIVING_CITY), [Memory bus](https://www.artemiscity.com/memory/hybrid-memory-bus), and [API reference](https://www.artemiscity.com/api-reference) have been updated to reflect the new dashboard, v1 API, and ATP surfaces.

  ### Bug fixes

  * **API reference grammar.** Minor copy fixes in the API reference for clearer endpoint descriptions.
</Update>

<Update label="May 15, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### New features

  * **Whitepaper v3 release.** Artemis City v3 introduces the Domain-Locked Hebbian Marketplace, replacing the v2 binary weight rule with a continuous morphological learning formula (ΔW = tanh(a · x · y)). In simulation, the new routing outperforms unconstrained routing by 81.2% and runs at 180× lower compute cost than k-NN lookup. Read the full [v3 whitepaper](https://www.artemiscity.com/concepts/whitepaper).
  * **Active Sentinel & Immune System.** The sentinel layer now actively reroutes traffic when it detects routing oscillation in a domain, instead of just raising passive alerts. Interventions concentrate automatically in volatile domains, so stable workflows are left untouched. See [Trust scoring](https://www.artemiscity.com/governance/trust-scoring) and [Metrics](https://www.artemiscity.com/governance/metrics).
  * **Hebbian + k-NN reconciliation layer.** Hebbian routing now acts as a cheap O(1) elimination layer that defers to k-NN verification only on disagreement. Reconciled decisions run at 71.9% of pure k-NN cost while improving accuracy — useful for high-stakes domains that need an auditable decision trail. Details in the [routing modes](https://www.artemiscity.com/architecture/routing-modes) reference.

  ### Updates

  * **Distributed weight resilience.** Corpus corruption is now contained to a single agent instead of propagating system-wide. The routing graph automatically deselects poisoned agents within a few tasks. See [Hebbian learning](https://www.artemiscity.com/memory/hebbian-learning).
  * **Missing-flow detection.** When a new task type appears that no agent has been trained on, the system surfaces a clear 7.2× failure-rate spike that triggers a kernel-level expansion workflow rather than silent degradation. See the [AOS kernel](https://www.artemiscity.com/architecture/aos-kernel) reference.
  * **Faster failure recovery.** Hebbian agents now recover from failure events in 4–5 steps versus 17–24 for monolithic baselines, a 4–5× improvement in adaptation speed.
  * **Human validators as weighted reviewers.** Credentialed human reviews now carry more weight than hobbyist feedback in agent scoring, with validated reviews exposed as a tradeable signal inside the marketplace. See [Trust scoring](https://www.artemiscity.com/governance/trust-scoring).
  * **Memory bus SLOs published.** Documented write latency under 200 ms p95 (500 ms p99), read latency under 50 ms p95 for cache hits, and sync lag under 300 ms between the Obsidian vault and Supabase index. See [Hybrid memory bus](https://www.artemiscity.com/memory/hybrid-memory-bus).
</Update>

<Update label="May 5, 2026" tags={["Release"]} description="Weekly update">
  ## What shipped

  ### New features

  * **Hugging Face integration.** Artemis City agents can now reach Hugging Face models through the orchestrator. This expands the catalog of models available to agents without custom adapter work. See [Translator Protocol](https://www.artemiscity.com/integrations/translator_protocol) for how agents negotiate model and encoding boundaries.
  * **Vault-backed task and agent endpoints.** The dashboard API can now list tasks directly from your Obsidian vault and read the agent registry from local storage, so the dashboard stays useful even when the orchestrator is offline. See the [API reference](https://www.artemiscity.com/api-reference) for endpoint details.

  ### Updates

  * **Docker install path.** A dedicated dependency set is now available for containerized deployments, simplifying setup for self-hosted environments.
  * **Dashboard performance.** Web dashboard build tooling was upgraded for faster page loads and improved browser compatibility.
  * **Architecture documentation.** Refreshed system diagrams and the [Living City](https://www.artemiscity.com/architecture/LIVING_CITY) reference to reflect current routing and orchestration behavior.

  ### Bug fixes

  * **Agent listing resilience.** Listing registered agents no longer fails when the orchestrator hasn't initialized; results are read from the agent registry directly.
  * **Task parsing.** Task notes with frontmatter and inline metadata are parsed more reliably, including subtask checkboxes.
</Update>
