## Issue Triage — 2026-02-11

### 1) Fresh install crash in Agent Skills provider (`skill.description.toLowerCase is not a function`) — **DISC-20260209-SKILL1** (needs GitHub issue)
- **Current Status:** Reported on Discord (💬-coders). Confirmed “known bug” by Odilitime; no linked GitHub issue yet.
- **Impact Assessment:**
  - **User Impact:** **High** (hits new users doing fresh VPS installs; likely frequent)
  - **Functional Impact:** **Yes** (agent startup/runtime crashes in provider path)
  - **Brand Impact:** **High** (first-run experience looks broken)
- **Technical Classification:**
  - **Category:** Bug
  - **Component:** Plugin System (`@elizaos/plugin-agent-skills` provider `agent_skill_instructions`)
  - **Complexity:** **Simple fix** to **Moderate effort** (type guards / schema validation)
- **Resource Requirements:**
  - **Required Expertise:** TypeScript, provider pipeline, skills schema/data validation
  - **Dependencies:** None, but should add regression test + fixture for skills metadata
  - **Estimated Effort:** **2/5**
- **Recommended Priority:** **P0**
- **Specific Actionable Next Steps:**
  1. File GitHub issue in correct repo (core vs plugin repo) with stack trace + sample `skill` payload.
  2. Add runtime validation: coerce `description` to string or skip/format non-string values.
  3. Add unit/regression test covering non-string descriptions (object/null/number).
  4. Cut patch release for the plugin and pin/notify in docs if needed.
- **Potential Assignees:** **Odilitime** (already aware), **anchapin** (defensive-guards pattern), plugin maintainers for agent-skills

---

### 2) CI failures + bootstrap cache memory leak / test failures — **PR #6477** (elizaos/eliza)
- **Current Status:** Fix in progress via PR #6477 (submitted by Odilitime). Merge status not shown in provided data.
- **Impact Assessment:**
  - **User Impact:** **Medium** (end users indirectly affected via slowed releases)
  - **Functional Impact:** **Partial** (blocks merges/releases; can stall urgent fixes)
  - **Brand Impact:** **Medium** (contributors see unstable project hygiene)
- **Technical Classification:**
  - **Category:** Bug / Infrastructure
  - **Component:** CI/CD, bootstrap caching
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** CI pipelines (GitHub Actions), Node/Bun runtime memory profiling, caching strategy
  - **Dependencies:** Might depend on PR queue + baseline CI stabilization
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P0**
- **Specific Actionable Next Steps:**
  1. Triage failing workflows: identify deterministic vs flaky tests.
  2. Add a minimal reproduction for the cache leak (benchmark test or long-running test).
  3. Merge PR #6477 with a rollback plan; monitor CI over 24–48h.
  4. Add CI guardrail: fail fast on memory thresholds; upload heap snapshots on OOM.
- **Potential Assignees:** **Odilitime**, **lalalune** (core/runtime familiarity), CI owners/maintainers

---

### 3) URL messages trigger duplicate LLM calls (processed as text + attachment) — **#6486** (elizaos/eliza, OPEN)
- **Current Status:** Open GitHub issue with reproduction steps; 1 comment.
- **Impact Assessment:**
  - **User Impact:** **High** (common behavior: users paste URLs)
  - **Functional Impact:** **Partial** (responses still produced, but duplicated)
  - **Brand Impact:** **High** (visible duplicated output + “burning tokens” perception)
- **Technical Classification:**
  - **Category:** Bug / Performance
  - **Component:** Webapp message ingestion + attachment/preview pipeline; SSE streaming aggregation
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** Server message pipeline, attachment metadata handling, SSE streaming
  - **Dependencies:** Confirm whether URL previews are generated by client or server; align with webapp behavior
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Add tracing logs/correlation IDs to confirm dual-processing path (text vs attachment).
  2. Define single-source-of-truth rule: URL is either inline text OR attachment preview, not both.
  3. Add regression test: message containing URL produces exactly one model invocation.
  4. Ensure SSE stream final assembly dedupes duplicated deltas if upstream repeats.
- **Potential Assignees:** **lalalune** (message/runtime), server maintainers; **thewoweffect** (reporter) for verification

---

### 4) PostgreSQL “logs” table hot-spot causing slow responses — **DISC-20260208-DB1** (needs GitHub issue)
- **Current Status:** Reported on Discord; Stan confirmed a “major optimization plan” is in progress.
- **Impact Assessment:**
  - **User Impact:** **High** (degrades latency broadly under load)
  - **Functional Impact:** **Partial** (system works but can become sluggish/unusable)
  - **Brand Impact:** **High** (perceived as “slow AI” / “unscalable”)
- **Technical Classification:**
  - **Category:** Performance
  - **Component:** Core Framework DB layer / server logging / query patterns
  - **Complexity:** **Complex solution** (indexing/partitioning/retention policy/async logging)
- **Resource Requirements:**
  - **Required Expertise:** Postgres performance, schema/index design, observability
  - **Dependencies:** Production metrics; decision on log retention & storage strategy
  - **Estimated Effort:** **5/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. File GitHub issue with baseline metrics (QPS, slow queries, table size, top queries).
  2. Implement immediate mitigations: indexes, retention TTL, batched inserts, async queue.
  3. Medium-term: partition logs by time/agent; move verbose logs to external store (S3/ClickHouse).
  4. Add load test + performance regression gate for DB-heavy endpoints.
- **Potential Assignees:** **Stan (standujar)** (already tracking), core infra maintainers

---

### 5) Missing `MAX_EMBEDDING_TOKENS` constant in latest plugin versions (breaks compatibility) — **DISC-20260208-PLUG1** (needs GitHub issue)
- **Current Status:** Reported on Discord; unclear which repos/versions affected; workaround is rollback or PRs across plugin repos.
- **Impact Assessment:**
  - **User Impact:** **High** (plugin installs/updates break; ecosystem reliability hit)
  - **Functional Impact:** **Partial** (blocks embeddings/features dependent on constant)
  - **Brand Impact:** **High** (version skew makes project feel unstable)
- **Technical Classification:**
  - **Category:** Bug / DX
  - **Component:** Plugin System + shared constants/contracts
  - **Complexity:** **Moderate effort** (but cross-repo coordination)
- **Resource Requirements:**
  - **Required Expertise:** Monorepo/release management, TypeScript package contracts
  - **Dependencies:** Identify canonical location of constant; decide on deprecation/compat strategy
  - **Estimated Effort:** **4/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Create a tracking issue listing affected plugin repos + versions.
  2. Add constant to a single canonical package (e.g., `@elizaos/core`), re-export for plugins.
  3. Add compatibility shim for older plugins; publish patch releases.
  4. Add CI “contract tests” verifying required exports across plugin builds.
- **Potential Assignees:** **lalalune** (core packaging), **odilitime** (plugin-bootstrap), plugin maintainers

---

### 6) Model selection ignores configuration (e.g., uses `claude-haiku-3.5` unexpectedly) — **DISC-20260208-MODEL1** (needs GitHub issue)
- **Current Status:** Reported on Discord; no linked issue; suggests config precedence/setting resolution bug.
- **Impact Assessment:**
  - **User Impact:** **Medium–High** (common configuration scenario)
  - **Functional Impact:** **Partial** (works, but wrong model/cost/quality)
  - **Brand Impact:** **Medium** (users distrust config + cost predictability)
- **Technical Classification:**
  - **Category:** Bug
  - **Component:** Model Integration / runtime settings resolution
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** Runtime config, settings precedence (agent vs request vs env), model router
  - **Dependencies:** Potential interaction with new per-request `RequestContext` work
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. File issue with exact config snippet + observed model logs.
  2. Add debug endpoint/log line printing effective model selection path (with precedence explanation).
  3. Add regression tests for model selection (agent config, env override, request context override).
- **Potential Assignees:** **lalalune**, core runtime maintainers

---

### 7) Custom character files not loading; agent defaults to “eliza” personality — **DISC-20260208-CHAR1** (needs GitHub issue)
- **Current Status:** Reported on Discord; current workaround: only onboarding flow supports character creation; character editor “being wired in.”
- **Impact Assessment:**
  - **User Impact:** **High** (core value prop is custom agents/personas)
  - **Functional Impact:** **Partial** (agent runs but not as configured)
  - **Brand Impact:** **High** (appears “non-configurable” / “broken customization”)
- **Technical Classification:**
  - **Category:** Bug / UX
  - **Component:** Agent configuration / character loading pipeline
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** Config loader, file discovery, runtime initialization
  - **Dependencies:** Upcoming character editor work; align file format + storage location
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P2** (upgrade to P1 if reproducible in default install path)
- **Specific Actionable Next Steps:**
  1. Clarify supported character file locations and precedence (docs + code assertions).
  2. Add startup validation: warn if character file path provided but not found/parsed.
  3. Add test fixture for non-onboarding character injection.
- **Potential Assignees:** **Bill Ding** (mentioned), core runtime/config maintainers

---

### 8) Babylon feedback: “share to farcaster” link displays incorrectly — **DISC-20260210-BAB1** (needs GitHub issue)
- **Current Status:** Reported in core-devs; no technical details captured; unknown scope.
- **Impact Assessment:**
  - **User Impact:** **Medium** (affects sharing/virality loop)
  - **Functional Impact:** **No** (doesn’t block core agent runtime)
  - **Brand Impact:** **Medium** (public sharing is visible; broken link looks sloppy)
- **Technical Classification:**
  - **Category:** Bug / UX
  - **Component:** Babylon feedback UI / social sharing integration
  - **Complexity:** **Simple fix** (likely URL encoding/template issue)
- **Resource Requirements:**
  - **Required Expertise:** Frontend routing/URL building, Farcaster share URL format
  - **Dependencies:** Identify repo/module owning Babylon feedback feature
  - **Estimated Effort:** **2/5**
- **Recommended Priority:** **P2**
- **Specific Actionable Next Steps:**
  1. Reproduce and capture the malformed link + expected Farcaster compose URL.
  2. Add unit test for share link generator (encoding, hashtags, text length).
  3. Confirm where “Babylon feedback goes” (storage/endpoint) and document it.
- **Potential Assignees:** Frontend/UI maintainers; **Agent Joshua ₱ | TEE** (reporter) for repro support

---

### 9) Scam support tickets + need autoban/anti-scam automation — **DISC-20260209-SEC1** (needs GitHub issue / ops ticket)
- **Current Status:** Active scam attempts reported; community confirmed fraudulent “support desk” Discord.
- **Impact Assessment:**
  - **User Impact:** **High** (users can lose funds/keys)
  - **Functional Impact:** **No** (not core runtime), but impacts community safety
  - **Brand Impact:** **High** (security perception + reputational damage)
- **Technical Classification:**
  - **Category:** Security (community/ops), UX
  - **Component:** Discord moderation tooling, support process
  - **Complexity:** **Moderate effort** (bots, automations, workflows)
- **Resource Requirements:**
  - **Required Expertise:** Discord moderation bots, threat modeling, community ops
  - **Dependencies:** Access to Discord admin/mod tooling; policy decisions
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Pin/lock official support channels and publish “official links only” banner.
  2. Add automated detection (keyword + invite-link heuristics) and timed mutes/bans.
  3. Add a simple verification command (`/official`) returning canonical URLs.
  4. Create an incident playbook and escalation path.
- **Potential Assignees:** Discord mods/admins; security-minded contributors; community ops leads

---

### 10) Token migration deadline missed: no clear remediation guidance — **DISC-20260209-DOC1** (docs/support)
- **Current Status:** User asked if tokens are lost after missing migration deadline; unanswered in provided logs.
- **Impact Assessment:**
  - **User Impact:** **Medium–High** (affected cohort unknown; high severity for those impacted)
  - **Functional Impact:** **No** (not framework runtime), but high trust implications
  - **Brand Impact:** **High** (feeds “rugpull/FUD” narratives)
- **Technical Classification:**
  - **Category:** Documentation / UX (support)
  - **Component:** Project communications, migration tooling/status pages
  - **Complexity:** **Simple fix** (publish clear answer), possibly **Moderate** if tooling needed
- **Resource Requirements:**
  - **Required Expertise:** Project ops, web/docs, onchain/migration knowledge
  - **Dependencies:** Confirm final policy (hard deadline vs manual exceptions)
  - **Estimated Effort:** **2/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Publish an “If you missed migration” FAQ with definitive guidance.
  2. Add verification steps to avoid scams (official contracts/domains only).
  3. Provide a single canonical status page linked in Discord + GitHub README.
- **Potential Assignees:** **Kenk** (comms/roadmap pointers), core team member owning migration comms, docs maintainers

---

### 11) Eliza character file & prompt engineering iteration — **#6447** (elizaos/eliza, OPEN)
- **Current Status:** Open; scoped as iterative improvement; mentions testing with Sonnet model; acceptance criteria defined.
- **Impact Assessment:**
  - **User Impact:** **Medium** (improves default experience for many)
  - **Functional Impact:** **No**
  - **Brand Impact:** **Medium** (default agent quality shapes first impressions)
- **Technical Classification:**
  - **Category:** UX / Documentation (prompt/content)
  - **Component:** Default character config + examples
  - **Complexity:** **Moderate effort** (iterative testing + example curation)
- **Resource Requirements:**
  - **Required Expertise:** Prompt engineering, evaluation harness, model cost/quality tradeoffs
  - **Dependencies:** Any pending PRs adding examples / model switch noted in issue
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P2**
- **Specific Actionable Next Steps:**
  1. Merge/land “message examples” PR(s) referenced in the issue.
  2. Establish a lightweight eval script/scenario to compare models + prompt revisions.
  3. Add versioned changelog entries for character updates (so behavior changes are expected).
- **Potential Assignees:** **borisudovicic** (author), contributors focused on UX/content, scenario/eval maintainers

---

### 12) Twitter plugin: quote repost not native (posts quoted text + link only) — **DISC-20260208-TW1** (needs GitHub issue)
- **Current Status:** Reported; suggestion was to file an issue or PR; not confirmed whether API limitations or implementation bug.
- **Impact Assessment:**
  - **User Impact:** **Low–Medium** (subset using Twitter automation)
  - **Functional Impact:** **Partial** (posting works; quote-tweet UX degraded)
  - **Brand Impact:** **Medium** (social output quality is public)
- **Technical Classification:**
  - **Category:** Bug / Feature gap
  - **Component:** Plugin System (Twitter integration)
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** Twitter/X API, plugin implementation, rate limits/auth
  - **Dependencies:** API tier/permissions; confirm endpoints for quote tweets
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P3**
- **Specific Actionable Next Steps:**
  1. File issue with expected behavior + API constraints.
  2. Implement native quote tweet if supported; otherwise document limitation.
  3. Add integration test stub (mocked) for quote tweet payload formatting.
- **Potential Assignees:** Plugin maintainers; community contributor comfortable with X API

---

## Highest-Priority Focus (Top 5–10 to address immediately)
1. **P0:** Fresh install crash in Agent Skills provider — **DISC-20260209-SKILL1**
2. **P0:** CI failures + bootstrap cache memory leak fix path — **PR #6477**
3. **P1:** Duplicate LLM calls when message contains URL — **#6486**
4. **P1:** Postgres logs table performance bottleneck — **DISC-20260208-DB1**
5. **P1:** Missing `MAX_EMBEDDING_TOKENS` constant / plugin contract breakage — **DISC-20260208-PLUG1**
6. **P1:** Model selection ignoring config — **DISC-20260208-MODEL1**
7. **P1:** Anti-scam automation + official support hardening — **DISC-20260209-SEC1**
8. **P1:** Publish remediation guidance for missed token migration deadline — **DISC-20260209-DOC1**
9. **P2:** Babylon Farcaster share link incorrect — **DISC-20260210-BAB1**
10. **P2:** Character system improvements (defaulting to Eliza / editor path) — **DISC-20260208-CHAR1** + **#6447**

---

## Patterns / Themes Suggesting Deeper Issues
- **Reliability gaps from weak schema/type validation** (multiple crashes avoided only after adding null checks; now seeing `.toLowerCase` type failures).
- **Plugin ecosystem contract/version drift** (missing constants; “works locally but not deployed”; unclear compatibility guarantees).
- **Configuration precedence opacity** (model selection and character loading not matching user intent; likely compounded by multi-tenant/request-context changes).
- **Infra scaling pressure centered on logging** (logs table hot-spot indicates observability design competing with latency).
- **Operational security + comms as product stability factors** (scam prevalence and unclear migration guidance directly degrade trust, regardless of code quality).

---

## Process Recommendations (Prevention)
1. **Add “fresh install” smoke tests** (VPS-like setup + minimal agent run) to CI to catch first-run crashes (skills provider, plugin registry auth, etc.).
2. **Introduce plugin contract tests + compatibility matrix**: automated checks ensuring required exports/constants exist across `@elizaos/*` packages and official plugins.
3. **Performance regression gates** for DB-heavy endpoints (including log write paths) with clear SLOs (p95 latency targets).
4. **Config observability**: a standard debug output for “effective settings” (model, character, provider list, auth mode) to reduce support load.
5. **Security/comms runbook**: pinned official links, automated scam detection, and a predictable cadence for high-impact FAQs (migration, bridges, staking) to reduce repeated confusion and exploitability.