# signaldaemon changelog

Ship log for the API, MCP server, and site. Field names in the API contract are stable;
additions are backward-compatible.

## 2026-06-12
- Open-sourced a **stdio MCP bridge** (`mcp_server.py` + Dockerfile) for clients without
  remote-MCP support — same two tools over the hosted API.
- Anonymous MCP discovery extended to the full sweep (`resources/list`, `prompts/list`,
  `resources/templates/list`) so registry health probes pass.
- `api.md`, `llms-full.txt`, this changelog: the whole interface contract is now fetchable
  as plain markdown.

## 2026-06-11
- **Narrative history persistence**: every ~20-min snapshot (strength, divergence, momentum)
  is now stored as a time series — powering upcoming trend fields and a narrative-history endpoint.
- Daily brief automation live: a brief is generated and published every day at 13:00 UTC
  (GitHub archive + Farcaster + Moltbook).
- Launched **The Narrative Ledger** (essays): https://narrativeledger.substack.com

## 2026-06-10
- **User accounts + console**: Google/GitHub sign-in at signaldaemon.com/console; self-serve
  account keys (500 narratives/day, 20 feed/day; key shown once, sha256-stored).
- `GET /v1/quota`: key holders can check remaining quota without spending a call.
- Fixed external MCP handshakes (DNS-rebinding 421) — remote MCP now reachable by all clients.
- Anonymous MCP handshake allowed for registry health probes; `tools/call` stays key-gated.

## 2026-06-09
- **Divergence schema v2**: explicit signed axes `direction` (absolute) + `vs_market`
  (relative) on every narrative; `resonance` renamed `narrative_price_aligned`.
- Representative items deduplicated by URL; category now majority-voted across members.
- **Output invariant gate**: snapshots violating the payload contract are never published —
  stale-but-correct beats fresh-but-wrong.

## 2026-06-08
- MCP tools annotated `readOnlyHint` / `openWorldHint`.
- Published to the Official MCP Registry (`io.github.bevanding/signaldaemon`) and Glama.

## 2026-06-07
- Site launch: self-serve demo keys (`POST /v1/request-key`, no signup), live preview,
  per-IP rate limiting on all endpoints.
