# ElizaOS Developer Update (2026-03-03)
Week of **2026-02-24** to **2026-03-02**

> Note on sources: this update is based on the provided GitHub/Discord aggregates for the week. No new core-repo PR/issue links were included in the dataset for this specific window, so “Core Framework” items below focus on architecture guidance and ecosystem work discussed by developers.

---

## 1) Core Framework

### Task scheduling should go through `plugin-bootstrap` task service (not ad-hoc cron loops)
A recurring theme this week was **how to implement autonomous / scheduled agent behavior** in ElizaOS v2. The recommended pattern (per maintainer guidance in Discord) is to **integrate with `plugin-bootstrap`’s task service** rather than running an independent interval/cron inside a plugin.

*Technical rationale:*
- Centralized lifecycle management (start/stop tied to agent runtime)
- Consistent observability and error handling
- Avoids duplicate schedulers competing for runtime resources

This directly impacted the **Heartbeat plugin** implementation (see “New Features”).

**Discussion context:** Discord #coders (2026-03-02)  
https://discord.com/channels/1253563208833433701/1300025221834739744

### v2 branch/channel ambiguity (production selection)
Builders are still unsure whether to target **`v2-develop`** vs **`alpha`** for production-like deployments, and whether autonomy should be “built-in” vs implemented via plugins. This remains unresolved in the provided week’s data, but it’s a key operational concern for anyone shipping agents.

**Discussion context:** Discord (2026-02-28)  
(see zeitgaist + autonomy questions)  
https://discord.com/channels/1253563208833433701/1300025221834739744

---

## 2) New Features

### `plugin-heartbeat`: scheduled recurring tasks with operational controls
A new Heartbeat plugin was introduced as an **internal scheduler** for agents (cron-like), with:
- quiet hours
- error budgets
- dynamic task management

After maintainer feedback, it was updated to rely on **`plugin-bootstrap` tasks** rather than a standalone scheduler loop.

**Dev thread:** Discord #coders (2026-03-02)  
https://discord.com/channels/1253563208833433701/1300025221834739744

**Illustrative integration pattern (TypeScript)**
```ts
// Pseudocode: API names may differ depending on plugin-bootstrap version.
// Goal: register periodic work through the shared task service.

import { definePlugin } from "@elizaos/core";
// import { tasks } from "@elizaos/plugin-bootstrap"; // conceptual

export default definePlugin({
  name: "heartbeat",
  setup(ctx) {
    const taskService = ctx.services.tasks; // provided by plugin-bootstrap

    taskService.register({
      id: "heartbeat:daily-checkin",
      // e.g., cron or fixed interval depending on task service capabilities
      schedule: { cron: "*/5 * * * *" }, // every 5 minutes
      quietHours: { start: "00:00", end: "06:00", tz: "UTC" },
      errorBudget: { maxFailuresPerHour: 3, backoffMs: 60_000 },

      run: async () => {
        // do periodic autonomous work (maintenance, summaries, monitoring, etc.)
        await ctx.agent.act("SOME_ACTION", { /* ... */ });
      },
    });

    return () => taskService.unregister("heartbeat:daily-checkin");
  },
});
```

### `plugin-mem0`: persistent memory via “database-first inference routing” (self-updating RAG)
A MEM0 integration plugin was released, described as:
- a **self-updating RAG** approach
- “base URL for inference” where **every response routes through a DB layer first**
- persistent long-term memory with:
  - auto-capture
  - auto-recall
  - explicit `remember` / `recall` / `forget`

**Dev thread:** Discord #coders (2026-03-02)  
https://discord.com/channels/1253563208833433701/1300025221834739744

**Illustrative configuration**
```ts
// Pseudocode: demonstrate the architecture pattern discussed in Discord.

const agent = await createAgent({
  model: {
    provider: "openai", // or any supported provider
    // MEM0 sits in front of the model as a routing layer:
    baseUrl: process.env.MEM0_BASE_URL, // "https://<mem0-host>/v1"
    apiKey: process.env.MEM0_API_KEY,
  },
  plugins: [
    mem0Plugin({
      autoCapture: true,
      autoRecall: true,
      // optional: tag memories per room/user/agent
      namespace: "support-bot-prod",
    }),
  ],
});
```

**Illustrative usage (tools/actions)**
```ts
await agent.act("MEMORY_REMEMBER", {
  key: "user.preference.language",
  value: "en-US",
});

const memories = await agent.act("MEMORY_RECALL", {
  query: "What language does the user prefer?",
  topK: 5,
});

await agent.act("MEMORY_FORGET", {
  key: "user.preference.language",
});
```

### `plugin-skill-loader`: convert OpenClaw `SKILL.md` into ElizaOS plugins
A skill-loader plugin was introduced to bridge OpenClaw and ElizaOS by converting skill definitions (e.g., `SKILL.md`) into runnable ElizaOS plugins. Components called out:
- parser
- converter
- runtime loader
- standalone plugin generator

**Dev thread:** Discord #coders (2026-03-02)  
https://discord.com/channels/1253563208833433701/1300025221834739744

**Illustrative workflow**
```bash
# Pseudocode CLI flow; exact command names may differ.
# Goal: generate an ElizaOS plugin skeleton from an OpenClaw SKILL.md file.

npx @elizaos/skill-loader ./skills/SKILL.md --out ./plugins/plugin-from-skill
```

### APEX Oracle v0.5.0: deep-market analytics for Solana trading agents (via `APEX_TOKEN_SCAN`)
APEX Oracle v0.5.0 shipped as an analytics layer intended to outperform naive token safety checks by detecting:
- **Organic Absorption Ratio (OAR):** volume recycling / wash trading patterns using Helius history
- **Funding DNA:** ancestor wallet tracing to flag Sybil farms
- **Jito/MEV toxicity:** slot density + sandwich risk

An ElizaOS integration was announced with a TypeScript wrapper exposing an `APEX_TOKEN_SCAN` action returning **structured JSON optimized for LLM context**. They are looking for **5 developers** to stress-test the API and report metric impact on win rate.

**Dev thread:** Discord #coders (2026-03-02)  
https://discord.com/channels/1253563208833433701/1300025221834739744

**Illustrative agent integration**
```ts
const scan = await agent.act("APEX_TOKEN_SCAN", {
  chain: "solana",
  mint: "So11111111111111111111111111111111111111112",
  // optional knobs (examples)
  includeFundingDNA: true,
  includeMEV: true,
});

if (scan.oar < 0.35 || scan.mevToxicity?.level === "high") {
  // incorporate into decision policy
  return { decision: "SKIP", reason: "High wash-trade/MEV risk" };
}
```

---

## 3) Bug Fixes (critical / high-impact)

### Heartbeat plugin reliability fix: removed duplicate scheduler model
The main “bug class” addressed in-week was architectural: the Heartbeat plugin initially behaved like an independent cron subsystem; after feedback it was changed to use the **platform task service** via plugin-bootstrap. This reduces:
- orphaned intervals on agent restart
- duplicated task execution when multiple runtimes run side-by-side
- inconsistent backoff/error handling

**Context:** Discord #coders (2026-03-02)  
https://discord.com/channels/1253563208833433701/1300025221834739744

### auto.fun “stuck balance” reports (platform integration issue; root cause not published)
Multiple users reported balances stuck in **auto.fun**; at least one user indicated it was resolved, but no remediation steps were shared in the dataset. Treat this as an ongoing reliability concern if your agent automates deposits/withdrawals on that platform.

**Context:** Discord #discussion (2026-03-02)  
https://discord.com/channels/1253563208833433701/1253563209462448241

### Wrong Milady agent running (deployment/config issue; under investigation)
A report indicated the “wrong” Milady agent version may be running (BSC version mentioned as possibly incorrect). No fix details were included this week; if you run multiple deployments, audit:
- environment config + secrets
- agent registry selection
- container tags / pinned commit SHAs

**Context:** Discord #discussion (2026-03-02)  
https://discord.com/channels/1253563208833433701/1253563209462448241

---

## 4) API Changes (developer-facing)

### New action surfaces introduced by ecosystem plugins
While no core API diffs were provided in the dataset, several plugin-level APIs were introduced/standardized:

- **`APEX_TOKEN_SCAN`** action (APEX Oracle integration) returning structured JSON suitable for direct prompting/context injection.
- MEM0 memory verbs such as **remember/recall/forget** (exact action identifiers may vary by plugin implementation).
- Heartbeat scheduling now expects the presence of a **task service** provided by plugin-bootstrap.

*Developer takeaway:* if you build plugins that schedule work, align to the platform task service to avoid incompatible lifecycle behavior.

---

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

No shipped updates to official Twitter/Telegram/Discord/Farcaster plugins were included in this week’s provided GitHub/Discord aggregates.

Operationally, Discord moderation surfaced as a concern: persistent **scam bot targeting of new users** continues to impact onboarding.

**Context:** Discord (2026-03-01)  
https://discord.com/channels/1253563208833433701/1253563209462448241

---

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

No provider integration changes (new models, auth changes, routing changes) were included in the provided dataset for this week.

---

## 7) Breaking Changes / Migration Warnings (V1 → V2)

### Token migration is closed (irreversible operational change)
The **ai16z → elizaos token migration window has ended**; users can no longer convert via the previous process.

If your apps/agents reference migration endpoints or flows, remove them and update user-facing messaging accordingly.

**Context:** Discord (2026-03-01)  
https://discord.com/channels/1253563208833433701/1253563209462448241

### v2 operational warning: don’t ship “cron loops” inside plugins
For V2 builders, treat this as a de-facto breaking expectation: scheduled autonomy should be implemented through the shared task service (plugin-bootstrap). Plugins that spin their own timers may behave unpredictably across:
- hot reloads
- multi-agent hosts
- container restarts
- future runtime lifecycle changes

---

## Links & References (week)

- Discord #coders (Heartbeat/MEM0/Skill-loader/APEX):  
  https://discord.com/channels/1253563208833433701/1300025221834739744
- Discord #discussion (token clarification, auto.fun, Milady):  
  https://discord.com/channels/1253563208833433701/1253563209462448241
- Discord #partners (Venice-style compute/tokenomics discussion):  
  https://discord.com/channels/1253563208833433701/1301363808421543988
- zeitgaist (VPS orchestration project): https://github.com/NewSoulOnTheBlock/zeitgaist  
- plugin-conway (Conway.tech integration): https://github.com/NewSoulOnTheBlock/plugin-conway