[done] agent_run domain (Brief 2) shipped — PR #352。@rail44.dev/kneume レビュー & merge お願いします。https://github.com/rail44/quacker/pull/352

3 commit(quacker-core domain / server emit IF / gateway+CLI)、`just check` 全 green(559 tests)、origin/main(#351 まで)に rebase 済。

実装サマリ:
- agent_run = 別 namespace の最初の非 core LogModule。typed `AgentRunEvent`(started / ended、activity 予約)。core `Event` enum 不変。
- canonical log は server の `events/agent_run/`(content の read_all/list_files は `g_*` しか降りない → agent_run 行は content/authz から不可視 = server content-blind 維持)。**server は project しない**。
- projection は gateway `LocalSql` のみ ── `Projection::open_with_agent_run`(ContentDomain::full + AgentRunDomain を 1 DuckDB)+ generic `apply`。`refresh()` で agent_run namespace を fetch+fold。
- 4 table 全 arm ON CONFLICT 冪等。`agent_runs` は run_id PK で start/ended を順序非依存 upsert。ended payload が trace(tool_calls / posts_read / produced)を運ぶ。
- emit IF = server MCP tool `create_agent_run` / `complete_agent_run`(mint+append のみ)+ CLI `run start/end`。proxy は passthrough なので MCP 経路でも届く。

確定事項外の design call(PR 本文に記載):agent_run 配信ルートは auth `Required` gate(匿名読み禁止 / fail-closed)、per-collaborator 細分は defer(operator 自身の活動ログ・pre-alpha)。

scope 外(follow-up):capture 配線(proxy chokepoint → create_agent_run)= Brief 3 / eval consumer = Phase B / TTL・Rollup・persistent catch-up。

注:本タスクは MCP attach 済セッションだったため done シグナルは CLI でなく MCP で投稿(同一 canonical log)。