# ElizaOS Developer Update (2026-03-04 → 2026-03-10)

This update consolidates engineering-relevant changes and discussions captured from Discord and available repo references during the week. **Note:** No GitHub PR/issue feed for 2026-03-10 was present in the provided dataset, so core merge-level changelogs are limited to what was announced/discussed publicly.

Relevant discussion threads:
- Discord 💬-discussion (context + announcements): https://discord.com/channels/1253563208833433701/1253563209462448241  
- Discord 💬-coders (implementation questions): https://discord.com/channels/1253563208833433701/1300025221834739744  

---

## 1) Core Framework (Architecture / Plugin System / Agent Runtime)

### Scheduled / autonomous agent execution patterns (runtime-level)
A recurring request this week was **timer-based agent behaviors in Discord**, analogous to X/Twitter’s `TWITTER_POST_INTERVAL_MIN/MAX`. Community guidance pointed to existing “autonomous agent” patterns rather than a bespoke Discord-only timer API:

- Autonomous TypeScript examples:  
  https://github.com/elizaOS/examples/tree/main/autonomous/typescript
- Trigger systems reference (milady-ai):  
  https://github.com/milady-ai/milady

**Practical implication:** If you need timed conversations or background jobs, implement them as **runtime triggers** (interval/cron-like) that enqueue “internal events” or “messages” into the same pipeline your Discord adapter consumes, instead of trying to bolt scheduling into the Discord transport itself.

---

## 2) New Features (Detailed)

### ZARQ risk intelligence integration (pre-trade scoring)
An ElizaOS plugin was announced providing **pre-trade risk scoring across 205 tokens** via ZARQ infrastructure (Discord announcement, 2026-03-08). This enables agent policies like:

- block/allow trades based on a risk threshold
- require “confirmations” for high-risk assets
- log risk attribution alongside execution decisions

**Where to look**
- The announcement did not include a direct PR/repo link in the provided data. Start by checking the ElizaOS plugin registry and recent additions:  
  https://github.com/elizaos-plugins/registry  
  (Search for “ZARQ” / “risk” / “pre-trade”.)

**Integration sketch (policy gating)**
Below is an example of how many teams wire risk scoring into an execution path—adapt the call sites to the actual plugin API once you locate it in the registry:

```ts
// PSEUDOCODE: adapt to the actual @elizaos/plugin-zarq API surface once confirmed.

type TradeIntent = { tokenMint: string; side: "buy" | "sell"; sizeUsd: number };
type RiskScore = { score: number; reasons: string[]; provider: "ZARQ" };

async function shouldExecuteTrade(intent: TradeIntent): Promise<{ ok: boolean; risk: RiskScore }> {
  const risk = await zarq.scoreToken({ tokenMint: intent.tokenMint });

  // Example thresholds
  if (risk.score >= 80) return { ok: false, risk };          // hard block
  if (risk.score >= 60) return { ok: false, risk };          // route to human/agent confirmation

  return { ok: true, risk };
}

async function executeTrade(intent: TradeIntent) {
  const { ok, risk } = await shouldExecuteTrade(intent);

  audit.log("trade_risk_check", { intent, risk, ok });

  if (!ok) {
    throw new Error(`Trade blocked by risk policy (score=${risk.score}): ${risk.reasons.join("; ")}`);
  }

  return broker.placeOrder(intent);
}
```

---

## 3) Bug Fixes (Critical fixes with context)

### No confirmed merged fixes this week (from provided telemetry)
The week’s most concrete “bug” signals were **developer-reported** rather than confirmed merged patches:

- **Model configuration inconsistencies across different agents** (reported by `BinaryCookies` in 💬-coders).  
  Impact: multi-agent deployments may accidentally run the wrong provider/model per agent, causing mismatched tool capability, cost blow-ups, or degraded reasoning.

Because no associated PR/issue link was included in the dataset, treat this as an **open investigation item**. If you can reproduce, capture:
- agent config(s)
- resolved runtime model per agent (logs)
- provider env vars
- minimal repo reproduction

…and file it in `elizaos/eliza` with expected vs actual behavior once you confirm the exact configuration path.

---

## 4) API Changes (Developer-facing)

### No API-breaking merges confirmed this week
No concrete PR references for API diffs were present for 2026-03-04→2026-03-10.

**However:** Developers are actively depending on “autonomous trigger” patterns for scheduling (see links above). If you’re publishing plugins/adapters, consider documenting:
- what event/message shape your adapter accepts
- whether your adapter can be driven from internal triggers without a real inbound platform event

---

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

### Discord: scheduled agent-to-agent conversations
The key integration discussion was **Discord timed interactions**:

- Request: “Agents talk to each other in Discord on a timer, similar to Twitter interval posting.”
- Answer: use autonomous TypeScript examples + milady trigger systems:
  - https://github.com/elizaOS/examples/tree/main/autonomous/typescript
  - https://github.com/milady-ai/milady

**Implementation pattern (interval trigger → Discord send)**
```ts
// PSEUDOCODE: structure mirrors common "autonomous loop" patterns.
// Replace discordClient + agentRuntime calls with your project’s actual interfaces.

const MIN_MS = 15 * 60_000;
const MAX_MS = 45 * 60_000;

function randomInterval() {
  return Math.floor(MIN_MS + Math.random() * (MAX_MS - MIN_MS));
}

async function runScheduledDialogueLoop() {
  while (true) {
    await sleep(randomInterval());

    // 1) Generate a message using agent A
    const msgA = await agentA.generate({
      prompt: "Start a short debate with agentB about: 'pricing strategy for SMB procurement'",
      context: { channel: "discord" },
    });

    // 2) Send to Discord
    await discordClient.sendMessage({
      channelId: process.env.DISCORD_CHANNEL_ID!,
      content: msgA,
    });

    // 3) Optionally have agent B respond (either immediately or on its own interval)
    const msgB = await agentB.generate({
      prompt: `Reply to this message from agentA:\n\n${msgA}`,
      context: { channel: "discord" },
    });

    await discordClient.sendMessage({
      channelId: process.env.DISCORD_CHANNEL_ID!,
      content: msgB,
    });
  }
}
```

### Twitter/X parity reference
The question explicitly referenced `TWITTER_POST_INTERVAL_MIN/MAX` as the desired UX parity. If you maintain both X and Discord presences, unify scheduling logic at the runtime layer so adapters remain thin.

---

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

### Voice provider cost pressure: ElevenLabs vs Google
Developers flagged **ElevenLabs cost** concerns and requested a **Google voice plugin** as a cheaper alternative (💬-coders).

Status (this week): **request only / no linked implementation**.

If you build this plugin, clarify in the README:
- API (TTS) used (e.g., Google Cloud Text-to-Speech)
- caching strategy (avoid re-synth on identical text)
- streaming vs file synthesis
- latency + cost benchmarks per 1k chars
- how audio is delivered per adapter (Discord voice, file upload, etc.)

---

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

### No new breaking changes confirmed in code this week
Community commentary mentioned token “migration” outcomes in a non-technical context, but **no framework V1→V2 runtime migration guide changes** or breaking API changes were surfaced in the provided GitHub/PR data for this week.

**Recommended defensive steps for plugin/app developers:**
- Pin `@elizaos/*` package versions and upgrade intentionally.
- Add a startup assertion that logs resolved provider/model per agent to catch misconfiguration early.
- If you depend on autonomous triggers, keep them isolated from adapter internals so future adapter changes don’t break scheduling.

--- 

## Pointers / Open Engineering Items From Community
- Investigate + fix **per-agent model configuration** inconsistencies (reported in 💬-coders):  
  https://discord.com/channels/1253563208833433701/1300025221834739744
- Consider building/publishing a **Google voice (TTS) plugin** as an ElevenLabs alternative (request):  
  https://discord.com/channels/1253563208833433701/1300025221834739744
- Locate and document the newly announced **ZARQ risk scoring plugin** (pre-trade, 205 tokens), likely via plugin registry:  
  https://github.com/elizaos-plugins/registry