## Developer Update (ElizaOS) — 2026-04-10 to 2026-04-16

> Note: Several daily activity artifacts for 2026-04-13..16 were not available in the provided dataset (missing `*.md` / `*.json`). This update is based on the aggregated GitHub PR/issue summaries and the latest available weekly summary.

---

### 1) Core Framework (runtime, architecture, plugin system)

#### Runtime hardening & observability (merged)
PR: **“feat: Bring Odi logging, Memory lock down, banner, other core enh”** — https://github.com/elizaos/eliza/pull/6562 (merged 2026-04-08)

Key architectural/runtime changes that affect most hosts:

- **Provider execution safety**
  - `composeState` now enforces **per-provider timeouts** (30s) and continues composing state even when a provider fails, yielding empty results instead of failing the full turn.
  - Adds provider timing instrumentation (useful for tracking slow providers and prompt inflation regressions).

- **Action-chain state recomposition optimization**
  - Action chains can now recompose state using `onlyInclude` to selectively refresh `RECENT_MESSAGES` / `ACTION_STATE` while preserving cached provider outputs.
  - This reduces prompt churn and improves determinism across multi-step action flows.

- **Memory persistence controls**
  - Introduces `DISABLE_MEMORY_CREATION` and `ALLOW_MEMORY_SOURCE_IDS` gates in the message pipeline, plus a guard in `runtime.evaluate()` to skip memory-dependent evaluators when memory creation is disabled.
  - This is important for regulated deployments (PII constraints), “stateless agents”, or hosts using external memory.

- **Logging upgrades**
  - Adds optional **file logging** gated by `LOG_FILE` with `output.log`, `prompts.log`, and `chat.log`, including prompt/response correlation and ANSI stripping.

- **Bootstrap UX**
  - Adds a startup banner driven by plugin init hooks and a preview script.

Documentation updates landed alongside these changes (README/CHANGELOG/ROADMAP/DESIGN).

#### Dev harness + runtime composition helpers (merged)
PR: **“feat: add agent/ like starter in develop”** — https://github.com/elizaos/eliza/pull/6702 (merged 2026-04-09)

- Adds a new `agent/` workspace: a stdin/stdout REPL harness around `@elizaos/core` to boot the repo quickly for local testing.
- Introduces **runtime composition utilities** (`packages/typescript/src/runtime-composition.ts`) and tests:
  - `loadCharacters()` now supports loading character definitions from **JSON file paths**, with optional `cwd` for relative resolution.
  - `createRuntimes()` threads a new `checkShouldRespond` option through runtime composition.

This PR also introduces a local-dev workflow for optional plugin submodules (`plugin-sql`, `plugin-ollama`, `plugin-local-ai`) to improve host iteration speed when hacking on providers/adapters.

#### Streaming callback type consolidation (merged bugfix)
PR: **“fix(core): consolidate StreamChunkCallback, remove dual-extractor CAUSING TTS garbling”** — https://github.com/elizaos/eliza/pull/6690

- Replaces multiple inline `onStreamChunk` type definitions with a single canonical `StreamChunkCallback` alias (in `types/components.ts`).
- Fix motivation: inconsistent streaming chunk typing/shape across runtime/message-service/model types was causing downstream extractors to mis-handle partial chunks (notably TTS “garbling” in some integrations).

Docs updated:
- Streaming responses guide: `packages/docs/guides/streaming-responses.mdx`
- Runtime messaging docs: `packages/docs/runtime/messaging.mdx`
- Types reference: `packages/docs/runtime/types-reference.mdx`

---

### 2) New Features (with technical details + examples)

#### A) Memory persistence lockdown (new runtime capability)
Merged in https://github.com/elizaos/eliza/pull/6562

You can now run agents in “no-persistence” mode while selectively allowlisting memory sources.

```bash
# Disable *all* memory creation (no message memories, no evaluator writes)
export DISABLE_MEMORY_CREATION=true
```

Or allowlist specific memory sources (when persistence is enabled):

```bash
# Only persist memories originating from these source IDs
export ALLOW_MEMORY_SOURCE_IDS="discord_message,telegram_message,user_note"
```

Operational impact:
- Useful when deploying in environments where you must prevent accidental storage of user messages.
- Also useful for connector-heavy deployments where you only trust certain adapters to supply safe/filtered content.

#### B) Opt-in correlated prompt/response file logging
Merged in https://github.com/elizaos/eliza/pull/6562

```bash
# Writes logs into the directory containing LOG_FILE
export LOG_FILE="/var/log/elizaos/eliza.log"
```

What you get:
- `output.log` – structured runtime logs
- `prompts.log` – prompt text + metadata correlation (critical for debugging provider prompt inflation)
- `chat.log` – conversation transcripts, suitable for replay debugging

#### C) Local repo “agent harness” for fast iteration
Merged in https://github.com/elizaos/eliza/pull/6702

Boot a local runtime via the new `agent/` workspace (exact commands may vary by repo scripts, but the intent is a REPL-driven harness for runtime/message-service testing).

Character loading now supports file paths:

```ts
import { loadCharacters, createRuntimes } from "@elizaos/core/runtime-composition";

const characters = await loadCharacters([
  "./characters/default.character.json",
  "./characters/ops.character.json",
], { cwd: process.cwd() });

const runtimes = await createRuntimes({
  characters,
  // new: host can inject a customized shouldRespond decision function
  checkShouldRespond: async (ctx) => {
    // e.g. hard-bypass in specific channels
    if (ctx.room?.tags?.includes("silent")) return false;
    return ctx.defaultCheckShouldRespond();
  },
});
```

---

### 3) Bug Fixes (critical fixes + context)

#### A) TTS garbling from streaming callback shape drift (fixed)
PR: https://github.com/elizaos/eliza/pull/6690

Symptoms seen in connector stacks that:
- stream tokens via `onStreamChunk`, then
- run additional extraction/segmentation layers (e.g., TTS piping)

Root cause:
- Multiple competing `onStreamChunk` / streaming callback type definitions across core caused downstream chunk handlers to interpret partial payloads inconsistently.

Fix:
- One canonical `StreamChunkCallback` alias shared by runtime/message-service/model interfaces, reducing adapter-specific drift.

#### B) Connector action param loss for TOON encapsulation (pending merge, but high impact)
PR: **“Fix/toon action params”** — https://github.com/elizaos/eliza/pull/6709 (open)

Context:
- Non-streaming connectors using TOON encapsulation (e.g., Discord/Milady connector testing noted in PR) were failing to populate required action params (e.g. `RUN_IN_TERMINAL.command`) because the single-shot TOON schema did not request a `params` field.

Proposed fix highlights:
- Add `params` to the response schema so the LLM emits structured action parameters in TOON mode.
- Add several async/PTY-style actions to the “terminal action set” to prevent continuation loops that spam filler while background tasks run:
  - `CREATE_TASK`, `START_CODING_TASK`, `CODE_TASK`, `SPAWN_AGENT`, `SPAWN_CODING_AGENT`

If you maintain a connector using TOON, track this PR closely.

---

### 4) API Changes (developer-facing)

#### A) `HandlerCallback` signature extended (backward compatible)
Merged in https://github.com/elizaos/eliza/pull/6562

- `HandlerCallback` now accepts an **optional `actionName`**, enabling hosts/connectors to attribute emitted text to the action that produced it (without parsing content).

What to update:
- If you implement custom action handlers and pass callbacks around, ensure your callback implementation accepts the extra optional parameter (or uses rest args).

#### B) `shouldRespond` options shape extended (pending merge)
PR: https://github.com/elizaos/eliza/pull/6712 (open)

- `shouldRespond` refactors to accept `ShouldRespondOptions` (including `parentMessageAuthorEntityId`) to correctly disambiguate reply threads in group rooms.
- `basic-capabilities` is synced to the same options shape.

Even though this isn’t merged (per provided data), it is likely to affect multi-agent/group deployments once it lands.

#### C) Runtime composition helpers (new surface area for hosts)
Merged in https://github.com/elizaos/eliza/pull/6702

- `loadCharacters` accepts JSON file paths.
- `createRuntimes` gains `checkShouldRespond`.

Hosts embedding ElizaOS (custom servers, bots, orchestrators) can use these helpers instead of re-implementing runtime bootstrapping.

---

### 5) Social Media Integrations (Twitter/Telegram/Discord/Farcaster)

#### Discord / group-room behavior (in progress)
PR: https://github.com/elizaos/eliza/pull/6712 (open)

- Adds deterministic addressee resolution for group rooms:
  - `NameVariationRegistry`
  - `evaluateGroupAddresseeOverride`
- Tightens prompt guidance to reduce ping-pong loops and improve closure behavior in multi-party rooms.

Important: reviewers flagged a **P1 logic bug** in aliasing when `entityId !== agentId` that can prevent address resolution. If you deploy multiple agents in one room, wait for this to be fixed before relying on the new routing logic.

#### Telegram example updates (merged as part of core hardening)
PR: https://github.com/elizaos/eliza/pull/6562 includes updates to `examples/telegram/typescript/telegram-agent.ts` (model selection and related docs). If you maintain Telegram deployments, re-check the example config after upgrading.

No Farcaster/Twitter-specific PR activity was present in the provided dataset for this interval.

---

### 6) Model Provider Updates (OpenAI/Anthropic/DeepSeek/OpenRouter/etc.)

#### OpenRouter plugin Windows checkout friction (ecosystem)
PR: https://github.com/elizaos-plugins/plugin-openrouter/pull/25 (from the latest available weekly summary)

- Addresses Windows-specific git checkout blocks to improve onboarding for `plugin-openrouter`.
- If you have contributors on Windows hitting path/FS issues, point them to this PR and ensure your registry reference is updated once merged.

#### Local model providers as submodules (dev workflow)
Merged in https://github.com/elizaos/eliza/pull/6702

- Adds optional dev submodules for:
  - `plugin-ollama`
  - `plugin-local-ai`
- Goal: speed up local iteration on provider adapters without waiting for registry releases.

---

### 7) Breaking Changes / V1 → V2 migration warnings

No explicit “V1 → V2” cutover PR was included in the provided dataset, but several changes this week can break assumptions in existing hosts:

1) **Latency profile changes due to provider timeouts**
   - `composeState` provider timeout behavior changed (per-provider 30s; total timeout defaults were discussed in review notes).
   - If you run latency-sensitive agents, validate your P95/P99 after upgrading and consider pruning slow providers or reducing provider work.

2) **Memory persistence behavior**
   - If you set `DISABLE_MEMORY_CREATION=true`, evaluators that expect persisted memories may be skipped (by design).
   - If you set `ALLOW_MEMORY_SOURCE_IDS`, ensure your connectors set stable `sourceId`s that match your allowlist, or you may silently stop persisting key memories.

3) **Streaming integrations**
   - After https://github.com/elizaos/eliza/pull/6690, adapters that defined their own streaming callback types should align to the canonical `StreamChunkCallback` to avoid subtle partial-chunk handling bugs.

4) **Group-room routing (upcoming)**
   - If/when https://github.com/elizaos/eliza/pull/6712 lands, multi-party response behavior may change (agents speaking less in group rooms by default, stronger anti-loop guidance). Plan to regression test Discord group channels and reply threads.

---

## Relevant Issues / Proposals (ecosystem direction)

- Agent identity + trust direction:
  - **AgentID framework (discussion)** — https://github.com/elizaos/eliza/issues/6688
- Economic incentives:
  - **AIGEN Protocol** — https://github.com/elizaos/eliza/issues/6708
- CLI / macOS installer failure report:
  - **`elizaos create` fails due to bun postinstall** — https://github.com/elizaos/eliza/issues/6704
- Plugin proposals (market + safety + authorization):
  - MAXIA marketplace plugin proposal — https://github.com/elizaos/eliza/issues/6700
  - SafeAgent token safety checks — https://github.com/elizaos/eliza/issues/6706
  - SINT capability-token enforcement — https://github.com/elizaos/eliza/issues/6707

Ecosystem registry additions (from latest available weekly summary):
- `plugin-signalfuse` — https://github.com/elizaos-plugins/registry/pull/333  
- `@madeonsol/plugin-madeonsol` — https://github.com/elizaos-plugins/registry/pull/334  
- `@razzgames/elizaos-plugin` — https://github.com/elizaos-plugins/registry/pull/335  

---