# emet 1.4.5 — Unified pipeline and community evidence release

## Release summary

emet 1.4.5 turns the earlier collector-backed interactive work into a safer, more unified research pipeline. `interactive: true` no longer means “collector-only”; community platforms are selected explicitly with `platforms` or clear platform intent, then normalized as evidence. Social/community sources remain signals, not final truth, and factual/high-risk claims require authoritative follow-up.

## What's new

- **Thin facade architecture:** `lib/web-research.js` stays a pure re-export facade; implementation lives in layered modules under `lib/research/`, `lib/retrieval/`, and policy modules.
- **Checkpoint/community flow policy:** `interactive` selects checkpointing, while `platforms` selects community/media retrieval.
- **Community evidence packs:** Added routing overlays for `community-sentiment`, `community-complaints`, `feature-requests`, `social-verify`, and `video-transcript`.
- **Authority gate for social claims:** Sentiment, complaints, and feature-request summaries may be community-sufficient; verification claims, CVEs, deprecations, outages, and regulated domains require authoritative sources.
- **Normalized social signals:** Community candidates now carry `evidenceRole`, `platformStability`, `auth`, and `createdAt` metadata. Community sources are never marked authoritative by default.
- **Canonical result actions:** Final research returns `action: "final"`; checkpoint branches return schema actions such as `search`, with `legacyAction` kept for migration compatibility.
- **Stable community IDs:** Fallback result IDs are hash-based instead of index-only.
- **Package contents:** Release notes are now shipped via `docs/releases/` so npm installs include current and historical release text.

## Fixed

- Fixed `SEARCH_CACHE_TTL_MS is not defined` in the split search module.
- Kept `web_fetch` and `emet` as the only public tools; no new dependencies or public tool sprawl.

## Upgrade notes

- No database migration is required.
- Public MCP/Pi tool names remain `emet` and `web_fetch`.
- Existing collector response consumers should read canonical `action` first and use `legacyAction` only during migration.
- To update a global install: `npm install -g @black-knight.dev/emet@1.4.5`, then restart the MCP/Pi host.

## Verification

- `npm run check` passes locally.
- `npm pack --dry-run` includes `docs/releases/1.4.5.md` through the `docs/releases` package entry.
