# Issue Triage — 2026-01-22

## 1) [Migration] Eligibility Mismatch & Snapshot Bug — Tangem Hardware Wallet (elizaos/eliza #6369)
- **Current Status:** OPEN (deadline pressure mentioned: Feb 4)
- **Impact Assessment:**
  - User Impact: **High** (likely affects multiple migrators; at least one confirmed high-balance holder)
  - Functional Impact: **Yes** (blocks migration/claim for affected wallets)
  - Brand Impact: **High** (trust + fairness + public perception of migration integrity)
- **Technical Classification:**
  - Issue Category: **Bug**
  - Component Affected: **Migration Portal / Snapshot Indexer (external service), Data pipeline**
  - Complexity: **Complex solution** (data reconciliation, wallet-provider edge cases, potentially backend whitelisting tooling)
- **Resource Requirements:**
  - Required Expertise: Snapshot/indexing, Solana wallet/address handling, backend ops/admin tooling, audit/reconciliation
  - Dependencies: Access to snapshot dataset + portal backend; decision on manual override policy
  - Estimated Effort: **4/5**
- **Recommended Priority:** **P0**
- **Specific Actionable Next Steps:**
  1. Reproduce by querying snapshot balance for the reported address at snapshot slot/time; confirm expected eligibility amount.
  2. Identify why portal only recognizes Solflare hot-wallet portion (address derivation, associated token accounts, wallet-connect limitation, or snapshot join key mismatch).
  3. Implement/execute a **manual eligibility override** workflow (whitelist + logged justification) while root cause is fixed.
  4. Add automated checks for “snapshot balance exists but portal shows 0/partial” to flag affected users proactively.
  5. Publish a short support runbook: required evidence, SLA, and remediation steps.
- **Potential Assignees:**  
  - **Odilitime** (core coordination), **madjin** (data pipeline reliability), plus a migration-portal/backend maintainer (not identified in provided data)

---

## 2) PostgreSQL migration uses PGLite/dataDir despite DATABASE_URL (UNTRACKED — Discord report: “PGLite → Postgres adapter conflict”)
- **Current Status:** Reported in Discord; workaround was “update to 1.7.2 + drop DB + fresh install”; root cause not confirmed in a tracked issue
- **Impact Assessment:**
  - User Impact: **High** (common setup path; migration from local dev to Postgres is frequent)
  - Functional Impact: **Yes** (blocks DB initialization/migrations; prevents agents from running)
  - Brand Impact: **High** (first-run experience and “it won’t connect to Postgres” reports)
- **Technical Classification:**
  - Issue Category: **Bug / UX**
  - Component Affected: **CLI + plugin-sql adapter selection, config/env precedence, migration runner**
  - Complexity: **Moderate effort** (adapter selection logic, config precedence, docs + detection)
- **Resource Requirements:**
  - Required Expertise: plugin-sql (pg/pglite), CLI start flow, env/config precedence
  - Dependencies: Confirm behavior across versions (1.6.5 → 1.7.2), determine stale config artifacts in `.eliza/`
  - Estimated Effort: **3/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. **Open a GitHub issue** with logs + minimal repro: start with PGLite, then switch to Postgres via env; observe adapter choice and migration failure.
  2. Add detection: if `DATABASE_URL` is Postgres but runtime selects PGLite/local datadir, emit a loud warning and explain fix.
  3. Add a CLI command or documented procedure for “reset local db adapter state” (without requiring users to discover “drop DB + fresh install”).
  4. Ensure adapter selection is solely derived from current config (no stale persisted adapter reference unless explicitly pinned).
- **Potential Assignees:** **0xbbjoker** (SQL/plugin reliability), **standujar** (plugin-sql/RLS/DB expertise), **wtfsayo** (infrastructure/CI), **YuriNachos** (CLI/runtime robustness)

---

## 3) Telegram plugin crash: TypeError during image processing (elizaos-plugins/plugin-telegram #23)
- **Current Status:** OPEN (reported; fix not shown in provided data)
- **Impact Assessment:**
  - User Impact: **Medium–High** (Telegram is a major deployment surface; image handling common)
  - Functional Impact: **Partial** (core chat may work; crashes on images can destabilize bot)
  - Brand Impact: **High** (public-facing bots “crash when users send images”)
- **Technical Classification:**
  - Issue Category: **Bug**
  - Component Affected: **Plugin System → Telegram plugin**
  - Complexity: **Moderate effort**
- **Resource Requirements:**
  - Required Expertise: Telegram Bot API message payloads, media handling pipeline, TS runtime safety
  - Dependencies: Repro sample message payload; verify with latest plugin-telegram + core 1.7.x
  - Estimated Effort: **3/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Reproduce with a minimal bot + a known failing image payload; capture stack trace and payload shape.
  2. Add defensive guards for optional fields (caption/entities/media arrays) and normalize Telegram image variants.
  3. Add a regression test fixture for the failing payload.
  4. Release patch version and note in changelog.
- **Potential Assignees:** **0xbbjoker** (recent plugin work), **wtfsayo** (stability), **standujar** (tests/rigor)

---

## 4) Discord plugin runtime error: “undefined message functions” (elizaos-plugins/plugin-discord #43)
- **Current Status:** OPEN (reported by BinaryBluePeach; Discord plugin version bump to 1.3.7 shipped, but this specific runtime error still needs confirmation)
- **Impact Assessment:**
  - User Impact: **High** (Discord is a primary integration)
  - Functional Impact: **Yes/Partial** (depending on the failing function path; can break message handling)
  - Brand Impact: **High**
- **Technical Classification:**
  - Issue Category: **Bug**
  - Component Affected: **Plugin System → Discord plugin**
  - Complexity: **Moderate effort**
- **Resource Requirements:**
  - Required Expertise: Discord event handlers, message abstraction, core-plugin interface compatibility
  - Dependencies: Validate against **elizaos 1.7.2 + plugin-discord 1.3.7**; identify whether fixed by version alignment or still reproducible
  - Estimated Effort: **3/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Confirm if issue reproduces on 1.3.7; if not, close with comment referencing fixed versions.
  2. If still reproduces: identify missing function binding (likely API mismatch) and add compatibility shim or explicit initialization checks.
  3. Add integration test for message handler path that previously produced undefined functions.
- **Potential Assignees:** **0xbbjoker** (Discord plugin release work), **Odilitime** (core/plugin interface changes)

---

## 5) fix(v2.0.0): Python example testing & fixes — potential post-merge regressions (elizaos/eliza PR #6358, merged 2026-01-22)
- **Current Status:** MERGED; automated review commentary flagged possible runtime errors (needs verification as a “trust but verify” hot spot)
- **Impact Assessment:**
  - User Impact: **Medium–High** (Python quickstart/examples are onboarding-critical for new developers)
  - Functional Impact: **Partial** (examples/plugins may fail at runtime; damages first-run experience)
  - Brand Impact: **High** (examples that don’t run are highly visible)
- **Technical Classification:**
  - Issue Category: **Bug / Documentation**
  - Component Affected: **Python runtime, plugin-inmemorydb, examples**
  - Complexity: **Moderate effort**
- **Resource Requirements:**
  - Required Expertise: Python runtime + adapters, pydantic model handling, packaging/requirements
  - Dependencies: CI coverage for Python examples; confirm requirements include dotenv; run example scripts end-to-end
  - Estimated Effort: **2/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Run `examples/chat/python/chat.py` from a clean env exactly as docs specify; verify no import/runtime errors.
  2. Add (or ensure) CI job that executes Python examples as smoke tests.
  3. If any failure is found, immediately open a bug issue and patch-release (or revert problematic hunks).
- **Potential Assignees:** **Odilitime** (author/maintainer), **matomoniwano** (Python core work)

---

## 6) Dashboard bug (elizaos/eliza #6382)
- **Current Status:** OPEN (insufficient detail in provided data)
- **Impact Assessment:**
  - User Impact: **Medium** (dashboard is a common surface)
  - Functional Impact: **Partial** (unknown; could impair management/discovery flows)
  - Brand Impact: **Medium**
- **Technical Classification:**
  - Issue Category: **Bug / UX**
  - Component Affected: **GUI / Dashboard**
  - Complexity: **Moderate effort** (pending repro)
- **Resource Requirements:**
  - Required Expertise: Frontend + API-client hooks, dashboard routing/state
  - Dependencies: Clear reproduction steps + screenshots/console logs
  - Estimated Effort: **2/5**
- **Recommended Priority:** **P2**
- **Specific Actionable Next Steps:**
  1. Request reporter to add: browser, steps, expected vs actual, console/network logs.
  2. Triage whether it’s a regression from agent discovery module/link-format work.
  3. Add an automated UI/integration test if it’s a regression-prone path.
- **Potential Assignees:** **borisudovicic** (product/UX triage), **YuriNachos** (robustness fixes), plus a frontend owner (not identified)

---

## 7) Potential excessive data storage (UNTRACKED — core-devs Discord)
- **Current Status:** Reported concern; not investigated
- **Impact Assessment:**
  - User Impact: **Medium** (could affect anyone running agents at scale)
  - Functional Impact: **Partial** (storage bloat → degraded performance/cost)
  - Brand Impact: **Medium–High** (cost surprises; “stores too much info”)
- **Technical Classification:**
  - Issue Category: **Performance / Privacy**
  - Component Affected: **Core Framework + DB adapters (plugin-sql, memory/logging)**
  - Complexity: **Complex solution** (requires measurement, policy, retention controls)
- **Resource Requirements:**
  - Required Expertise: DB/schema knowledge, observability, retention policy design
  - Dependencies: Decide on retention defaults, configurable TTLs, log levels, redaction rules
  - Estimated Effort: **4/5**
- **Recommended Priority:** **P2**
- **Specific Actionable Next Steps:**
  1. Create a GitHub issue with a concrete metric: DB growth/day, which tables/columns dominate, example workloads.
  2. Define retention policy for logs/memories/events; add configurable TTL + pruning job.
  3. Audit what is persisted by default (including any sensitive fields) and document it.
- **Potential Assignees:** **standujar** (DB + tests), **0xbbjoker** (DB/plugin), **wtfsayo** (infra)

---

## 8) App builder: remove timer and implement manual refresh request window (elizaos/eliza #6385)
- **Current Status:** OPEN
- **Impact Assessment:**
  - User Impact: **Low–Medium** (app builder users)
  - Functional Impact: **No** (workflow friction rather than breakage)
  - Brand Impact: **Medium** (polish of core product surface)
- **Technical Classification:**
  - Issue Category: **UX**
  - Component Affected: **GUI / App Builder**
  - Complexity: **Simple fix–Moderate effort**
- **Resource Requirements:**
  - Required Expertise: Frontend UX + state management
  - Dependencies: Clarify desired behavior (manual refresh cadence, cooldown, API cost controls)
  - Estimated Effort: **2/5**
- **Recommended Priority:** **P3**
- **Specific Actionable Next Steps:**
  1. Define UX spec: when refresh is enabled, cooldown rules, and messaging.
  2. Implement manual refresh + disable timer; instrument usage to confirm improvement.
- **Potential Assignees:** **borisudovicic** (product intent), frontend maintainer

---

## 9) Autonomous agent transactions on Safe: risk management, limits, approvals (UNTRACKED — Discord question)
- **Current Status:** Unanswered; no tracked issue
- **Impact Assessment:**
  - User Impact: **Medium** (affects teams building financial/autonomous agents)
  - Functional Impact: **Partial** (blocks safe deployment of autonomous agents)
  - Brand Impact: **High** (security posture and “agents can drain wallets” fears)
- **Technical Classification:**
  - Issue Category: **Security / Feature**
  - Component Affected: **Onchain integrations, agent action execution policy**
  - Complexity: **Architectural change**
- **Resource Requirements:**
  - Required Expertise: Smart wallet patterns (Safe), policy engines, approvals/workflows, threat modeling
  - Dependencies: Decide whether elizaOS provides a reference policy framework vs leaving to app layer
  - Estimated Effort: **5/5**
- **Recommended Priority:** **P2**
- **Specific Actionable Next Steps:**
  1. Open a design issue: “Transaction Policy & Approvals Framework (Safe)”.
  2. Define minimum viable controls: allowlists, per-action spend limits, simulation, human approval gates, time locks.
  3. Provide a reference implementation/plugin and documentation with threat model and recommended defaults.
- **Potential Assignees:** **metatev** (onchain architecture interest), plus security/onchain maintainers (not identified)

---

# Conclusion

## A) Top 5–10 highest priority issues to address immediately
1. **P0 — elizaos/eliza #6369:** Migration eligibility mismatch (Tangem snapshot) — time-sensitive and trust-critical  
2. **P1 — UNTRACKED:** Postgres migration selects PGLite/local datadir despite env — blocks deployments; needs a tracked issue + fix  
3. **P1 — plugin-telegram #23:** Telegram image-processing TypeError crash  
4. **P1 — plugin-discord #43:** Undefined message functions runtime error (verify if already fixed by 1.3.7; patch if not)  
5. **P1 — Post-merge verification:** elizaos/eliza PR #6358 Python examples/plugins must run cleanly (add CI smoke tests)  
6. **P2 — elizaos/eliza #6382:** Dashboard bug (after repro is clarified)  
7. **P2 — UNTRACKED:** Excessive data storage concern (measure + retention/pruning plan)  
8. **P2 — UNTRACKED:** Safe transaction risk/approval framework design issue  
9. **P3 — elizaos/eliza #6385:** App builder refresh UX improvement

## B) Patterns / themes indicating deeper architectural problems
- **Config + adapter selection drift:** Multiple reports suggest the runtime can behave as if old adapter choices persist (PGLite vs Postgres). This hints at **stateful local artifacts** or **non-obvious precedence rules** (env vs files vs defaults).
- **Plugin/core version coupling:** Discord and Telegram issues cluster around compatibility, indicating the ecosystem needs stronger **interface contracts**, **compatibility matrices**, and **automated cross-repo integration tests**.
- **Operational reliability gaps in “public surfaces”:** Migration portal correctness and Python examples are both onboarding-critical; failures here create outsized brand damage versus their code size.

## C) Process improvements to prevent repeats
1. **Introduce “Setup & Migration” CI smoke tests**: matrix across PGLite → Postgres switching, fresh install, and upgrade paths.
2. **Add cross-repo compatibility gates**: when core releases, automatically run Discord/Telegram plugin integration tests against the new core version before tagging plugin releases.
3. **Make untracked Discord issues actionable**: adopt a rule that any blocking user report must be converted to a GitHub issue within 24 hours with repro + logs template.
4. **Onboarding quality bar**: require that docs-flagged “quickstart/examples” run in CI from a clean environment (Python, TS, Rust as applicable).