Skip to content

Release notes

Status: GA Access: open, no token API contract: 0.3.0 · capability 2026-09-03.1 View as Markdown Open in Claude Open in ChatGPT

Two logs, one page. Portal and API entries describe what changed for a reader or an API client (Keep a Changelog categories). Agent capability entries are the exact records the MCP server returns in start_here.whats_new and the changelog://entherium resource — the surface agents must watch. Machine-readable twin: changelog.json (JSON Feed 1.1). How each surface is versioned: Changelog surfaces · Versions.

2026-09-07 — Machine map under /api/, HEAD on probes, cleaner contract and API-host index

Section titled “2026-09-07 — Machine map under /api/, HEAD on probes, cleaner contract and API-host index”

Added

  • The machine-readable map of the API is reachable at /api/ (and /api) on every host; GET / keeps answering it where the edge routes the root to the API.
  • Public probes and documentation URLs answer HEAD (/healthz, /status.json, /api/status.json, /llms.txt, /mcp-info, /reference, /redoc).
  • robots.txt on the API host and honest 404 for stray root-level documents; /developers/ on the API host answers a real 301 like the mirror.

Changed

  • The API host’s own /llms.txt now describes the current surface (three MCP mounts, the error envelope, the read-only mount) and points at the portal index; the docs MCP reports the platform build as its version.
  • Contract descriptions no longer name source files, fleet sites or internal process; the owner-only Telegram Mini App endpoints left the public contract.
  • Docs MCP search ranks guides above generated reference pages and ignores stop-words, so natural questions find the right page first.
  • The MCP onboarding page fits a phone screen; release notes carry consumer-facing titles.
  • The machine map’s links are public ones (/mcp-info, the portal); the contract lists only the production server and only tags that carry operations.
  • Docs MCP: fetch and search report a miss as an MCP error (isError), and the search stems inflected words (authenticate finds Authentication).
  • Markdown twins of per-operation pages resolve on case-sensitive hosts (slugs are lower-case); the landing tagline states what the MCP covers.

2026-09-03 — Per-operation reference, typed MCP answers, read-only and docs MCP, status and release notes

Section titled “2026-09-03 — Per-operation reference, typed MCP answers, read-only and docs MCP, status and release notes”

Added

  • One page per REST operation (request curl → response → returns → parameters with defaults and constraints), generated from the frozen contract; the tag pages link to them.
  • Field-level Returns tables on every MCP tool page, from the tools’ declared outputSchema; the tools index shows the three mount points.
  • Read-only MCP mount /mcp/readonly/ (same token, read tools only) and the token-less docs MCP /mcp/docs/ (search / fetch / submit_feedback), with one-step connect commands for Claude Code, Cursor and VS Code.
  • Error envelope: every 4xx/5xx body now carries request_id and doc_url; the Errors reference is anchored per status code and lists what to do.
  • Idempotency, Versions and Release notes pages; changelog.json (JSON Feed 1.1) as the machine-readable changelog.
  • Public /api/status.json in the Statuspage v2 shape and a live status block on the Platform status page.
  • Skills catalog /.well-known/agent-skills/index.json with an installable SKILL.md on integrating over REST and MCP; search-index.json for tool-based search.

Changed

  • The landing page opens with a hero and three entry chips (Quickstart · Connecting to MCP · API reference).

2026-09-02 — Contract examples, one error schema, discovery layer and page badges

Section titled “2026-09-02 — Contract examples, one error schema, discovery layer and page badges”

Added

  • Request and response examples on the key contract schemas; a single ErrorResponse shape and declared 409/429 codes where they are raised.
  • MCP tool annotations (title, readOnlyHint, destructiveHint, idempotentHint) and parameter descriptions on every tool.
  • llms.txt v2 link relations in every page head and in the mirror’s Link headers; /.well-known/llms.txt and the RFC 9727 /.well-known/api-catalog.
  • agents.md; status / access / contract-version badges and View-as-Markdown / Open-in-assistant actions on every page; Russian twins for the generated reference pages.

Changed

  • Public surface hygiene: internal identifiers, vendor names and fictional example instances removed from the contract, the docs and llms.txt; the pipeline catalog no longer lists inference vendors.
  • Security headers on the documentation mirror.

Fixed

  • Token-mint path and the openapi.json link resolve correctly from every locale; favicon on all pages.

Added

  • The portal is published on a public mirror with canonical URLs and social previews; the same build is served from the API host under /developers/.

Added

  • Platform concepts, guides, how-it-works deep dives, REST API reference generated from the contract, MCP tools reference generated from the server, llms.txt / llms-full.txt, Markdown twins of every page, manifest.json change detection.

Current capability version: 2026-09-03.1. Pass your cached value to start_here as last_seen_version to receive only the entries you have not adopted.

Added

  • Read-only MCP mount at /mcp/readonly/ — same bearer token, but only the tools with readOnlyHint=true are listed and callable (start_here, list_domains, my_capabilities, entherium_list_tasks, entherium_get_task, entherium_list_defects, entherium_search_chat). Use it as the default for evaluation and for clients that must never write; the full server stays at /mcp/.
  • Every MCP tool now declares an outputSchema: results arrive as structuredContent with typed fields (e.g. list_tasks → {total, tasks[{task_id, title, status, assignee, spec_ref, description, updated_at, note_count, last_note_at}]}); the write tools answer a typed ack {accepted, error?, task_id?}. Field-level tables are on each tool’s page in the developer docs.

Changed

  • Tools carry tags (read / write) alongside the annotations; a client can group them without inspecting hints.

Changed

  • entherium_search_chat now requires the read_all GLOBAL capability (agent_global_grant) — the work-chat archive is internal cross-contract team traffic. Team agents keep access via a granted read_all; client-scoped tokens get a truthful ‘not authorized’ payload.
  • Platform-wide read-all is PER-TOKEN now: the AGENT_READ_ALL env flag remains a global kill-switch, but each agent token also needs the read_all capability in its agent_global_grant row. Tokens without it read only their contract pool (client-scoped read-only tokens,.

Added

  • The docs portal’s How-it-works series grew from 5 to 19 deep-dive pages (engineering showcase): source discovery, ontologies & filtering, the writing framework, copywriting evaluation, scoring systems, media generation, publishing & the site fleet, SEO methodology & authorship, SEO analytics, the topic feedback loop, nightly orchestration, the run engine, observability & alerting, localization — in English and Russian, with structural/timing diagrams. The docs://portal resource now maps every deep dive individually (keys hiw_*): when a user asks HOW a mechanism works, hand them that page’s html link and fetch the md twin yourself.

Added

Added

  • You can now READ the task/defect board — you are no longer writing blind. entherium_list_tasks(status?, assignee?) lists tasks with their STATUS; entherium_get_task(task_id) returns one task IN FULL incl. its update log (who / what / when — every status change, reassign, spec-retarget and note, in time order); entherium_list_defects(status?, severity?) lists defects + incidents. Needs the manage_task capability. CALL entherium_list_tasks / entherium_list_defects BEFORE creating a task or filing a defect, to check it does not already exist (no duplicates).

Changed

  • The web board GET stays human-only; the agent’s read channel is these three MCP tools.

Added

  • The chat domain — the team’s WORK-CHAT is now archived in the platform and searchable: entherium_search_chat(query, chat='work', author?, since_days?) returns real replies (author, verbatim text, date). USE IT to gather CONTEXT before filing a task/defect from a chat request, and to clarify an existing one — who asked, in WHICH WORDS. A message with is_full: false is TRUNCATED and must NOT be quoted verbatim. Secrets are redacted.

Added

  • Traceability: tasks AND defects can now TARGET a platform feature by its SPEC id (spec_ref = “SPEC-NNN”). Pass spec_ref to entherium_create_task / entherium_report_defect, or retarget a task via the new entherium_target_task_spec tool. An unknown spec id is REJECTED (never silently unset). Tag work to the right spec so the platform context stays coherent.

Added

  • The tasks domain — create / assign / close TASKS for team members via the MCP tools entherium_create_task (returns the task_id), entherium_update_task_status, entherium_reassign_task, entherium_log_task_note. Requires the manage_task capability; give assignee as a person’s NAME. The read-only board is human-only.

Added

  • The tickets domain — file a defect via the MCP tool entherium_report_defect, or an improvement via entherium_propose_improvement (or POST /api/v1/tickets). Give FULL QA detail: steps_to_reproduce/expected/actual/evidence for a defect; problem/proposed_change/benefit for a suggestion. Low-detail reports are quarantined, not tracked. Write-only: a bare 202, nothing comes back.

Added

  • GET /api/v1/errors — the durable error sink is now readable with a read-only token: source / operation / exc_type of recent failures. Read this for WHY a run failed instead of inferring failure rates from run counts.
  • The errors domain now appears in list_domains / llms.txt / GET / (discovery map).