## Issue Triage — 2025-12-25 (elizaOS)

### 1) Conversation duplication across agents’ chat history — **#6282**
- **Current Status:** Open (newly reported)
- **Impact Assessment:**
  - **User Impact:** **Critical** (data from one agent appearing in another can affect many users once reproduced)
  - **Functional Impact:** **Yes** (breaks core chat isolation expectations)
  - **Brand Impact:** **High** (looks like privacy/data isolation failure)
- **Technical Classification:**
  - **Category:** Bug (potentially also Security-adjacent / data isolation)
  - **Component Affected:** Client Chat UI + Server messaging/session storage (rooms/conversations mapping)
  - **Complexity:** **Complex solution** (likely involves storage keys, agentId/roomId scoping, caching)
- **Resource Requirements:**
  - **Required Expertise:** Messaging model (rooms/sessions), DB schema + server API, client state management/query caching
  - **Dependencies:** May depend on ongoing “standardize message handling across plugins” work; verify interaction with SSE/streaming changes
  - **Estimated Effort:** **4/5**
- **Recommended Priority:** **P0**
- **Specific Actionable Next Steps:**
  1. **Reproduce with a minimal scenario**: 2 agents, 2 rooms, confirm whether duplication happens on server fetch or client render/cache.
  2. Add **instrumentation**: log `(entityId, agentId, roomId, sessionId)` on message fetch + message append paths.
  3. Audit client query keys (React Query / cache keys): ensure they include **agentId + roomId** (not just room name or index).
  4. Audit server endpoints returning conversations: ensure filters include **agentId** (and entityId if isolation enabled).
  5. Add **regression tests**: “messages from agent A never appear in agent B room list/history”.
  6. If data isolation feature flag is involved, verify behavior under both `ENABLE_DATA_ISOLATION=true/false`.
- **Potential Assignees:**
  - **standujar** (server/auth/data isolation expertise; JWT + multi-tenant work)
  - **wtfsayo** (client/chat behavior and migrations; recent client fixes)
  - **0xbbjoker** (QA + cross-cutting bugfix support; strong review activity)

---

### 2) CI job failing due to Claude billing top-up requirement — **(Discord report; create GitHub issue)**
- **Current Status:** Known incident reported in Discord (#core-devs); not tracked as a GitHub issue in provided data
- **Impact Assessment:**
  - **User Impact:** Medium (indirect, but slows releases and fixes)
  - **Functional Impact:** **Yes** (blocks CI signal; can block merges/releases)
  - **Brand Impact:** Medium (public CI failures reduce trust)
- **Technical Classification:**
  - **Category:** Performance/Process (DevOps reliability)
  - **Component Affected:** GitHub Actions / CI pipeline
  - **Complexity:** **Simple fix** (funding + fallback behavior)
- **Resource Requirements:**
  - **Required Expertise:** CI/Actions maintenance; vendor billing/keys management
  - **Dependencies:** None, but should coordinate with maintainers controlling secrets/billing
  - **Estimated Effort:** **1/5**
- **Recommended Priority:** **P0**
- **Specific Actionable Next Steps:**
  1. **Top up billing** / restore quota immediately.
  2. Add CI guardrails: if vendor step fails, **fail fast with clear message** (not cascading failures).
  3. Add monitoring: notify maintainers when remaining quota below threshold.
  4. Create a lightweight runbook in repo docs: “CI vendor billing incident response”.
- **Potential Assignees:**
  - **ChristopherTrimboli** (ecosystem/CI dependency work)
  - **madjin** (platform maintenance patterns; infra-oriented work on website APIs)
  - **odilitime** (core team, operational ownership implied from Discord presence)

---

### 3) Snapshot eligibility + Tangem wallet connection unsupported; Discord impersonation/scam risk — **#6211**
- **Current Status:** Open
- **Impact Assessment:**
  - **User Impact:** **High** (affects migration users; Tangem users blocked; support channel trust issues)
  - **Functional Impact:** **Partial** (blocks migration for subset; introduces social engineering risk)
  - **Brand Impact:** **High** (security perception + support integrity)
- **Technical Classification:**
  - **Category:** Security + UX + Documentation
  - **Component Affected:** Migration portal wallet-connect integration; support processes; docs/communications
  - **Complexity:** **Moderate effort** (wallet support + comms + possible manual remediation tooling)
- **Resource Requirements:**
  - **Required Expertise:** WalletConnect/wallet integrations, security comms, backend tooling for eligibility/whitelisting
  - **Dependencies:** Migration backend rules; portal deployment; policy decisions on manual overrides
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P1** (P0 if active impersonation is ongoing and unmitigated)
- **Specific Actionable Next Steps:**
  1. Publish **official guidance** in GitHub + website: “No DMs, no manual sends, official links only”.
  2. Add migration portal UX: “Can’t connect wallet?” flow with **supported-wallet list** and safe alternatives.
  3. Decide policy: **manual eligibility remediation** (proof-of-ownership process) vs “not supported”.
  4. If remediation allowed, build an internal/admin tool to whitelist an address after verification.
  5. Add a dedicated GitHub Discussion/Support page to reduce reliance on Discord tickets during impersonation waves.
- **Potential Assignees:**
  - **odilitime** (project comms + core ownership)
  - **standujar** (server-side identity/eligibility mechanics)
  - **madjin** (docs/communications infrastructure)

---

### 4) “My Agents/Dashboard → open chat should show most recent conversation” — **#6281**
- **Current Status:** Open
- **Impact Assessment:**
  - **User Impact:** Medium (common navigation path)
  - **Functional Impact:** Partial (workflow friction; does not fully block)
  - **Brand Impact:** Medium (polish/usability)
- **Technical Classification:**
  - **Category:** UX / Bug (depending on expected behavior)
  - **Component Affected:** Client dashboard routing + conversation selection logic
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** Client routing/state, conversation list ordering semantics
  - **Dependencies:** Should be addressed after/with #6282 to avoid masking deeper conversation-scoping issues
  - **Estimated Effort:** **2/5**
- **Recommended Priority:** **P2** (upgrade to P1 if tied to #6282 root cause)
- **Specific Actionable Next Steps:**
  1. Define “most recent” precisely (latest message timestamp vs latest opened).
  2. Ensure list ordering is deterministic and uses server timestamps.
  3. Implement route behavior: if no conversation explicitly selected, auto-select top item.
  4. Add UI test: open agent from dashboard loads latest conversation consistently.
- **Potential Assignees:**
  - **wtfsayo** (client UX fixes)
  - **0xbbjoker** (QA/regression coverage)
  - **borisudovicic** (reporter; can validate acceptance criteria)

---

### 5) Monorepo documentation needs fixing / outdated or false information — **#6284**
- **Current Status:** Open (Discord notes indicate ongoing updates by Stan)
- **Impact Assessment:**
  - **User Impact:** Medium (developer onboarding, correct setup)
  - **Functional Impact:** No (unless docs cause broken installs/config)
  - **Brand Impact:** Medium (trust and adoption)
- **Technical Classification:**
  - **Category:** Documentation
  - **Component Affected:** Monorepo docs (setup, architecture, build/run instructions)
  - **Complexity:** **Moderate effort** (audit + updates + examples)
- **Resource Requirements:**
  - **Required Expertise:** Repo architecture knowledge; CLI/server/client setup familiarity
  - **Dependencies:** Needs alignment with recent core changes (message service API, streaming/SSE, auth flags)
  - **Estimated Effort:** **2/5**
- **Recommended Priority:** **P2**
- **Specific Actionable Next Steps:**
  1. Identify top “broken paths”: install, create agent, run locally, deploy, cloud login.
  2. Update docs to reflect **current** Node/Bun expectations and pin versions.
  3. Add a “Docs versioned by release” note where behavior changed (e.g., messageService API migration).
  4. Add a short “Known issues” section linking to active install/version problems.
- **Potential Assignees:**
  - **ChristopherTrimboli** (CLI + ecosystem integration knowledge)
  - **standujar** (server/auth sections)
  - **odilitime** (overall alignment and review)

---

### 6) Spacing in numbered items — **#6283**
- **Current Status:** Open
- **Impact Assessment:**
  - **User Impact:** Low–Medium (UI polish; readability)
  - **Functional Impact:** No
  - **Brand Impact:** Low–Medium
- **Technical Classification:**
  - **Category:** UX (rendering)
  - **Component Affected:** Client markdown renderer/CSS
  - **Complexity:** **Simple fix**
- **Resource Requirements:**
  - **Required Expertise:** CSS/markdown rendering
  - **Dependencies:** None
  - **Estimated Effort:** **1/5**
- **Recommended Priority:** **P3**
- **Specific Actionable Next Steps:**
  1. Capture before/after screenshots and the markdown snippet that reproduces.
  2. Adjust list CSS rules with regression check against blockquotes/headings (recent spacing fixes exist).
  3. Add visual regression test if available (or Cypress snapshot).
- **Potential Assignees:**
  - **wtfsayo** (recent markdown spacing work)
  - **0xbbjoker** (quick UI fix + review)

---

### 7) Starknet plugin: “Error parsing String to BigInt” when creating unruggable token — **(Discord report; create GitHub issue in plugin-starknet)**
- **Current Status:** Known bug reported by user; odilitime pushed changes and offered review; no issue ID provided here
- **Impact Assessment:**
  - **User Impact:** Medium (subset using Starknet token deployment)
  - **Functional Impact:** Partial (blocks a specific action path)
  - **Brand Impact:** Medium (Web3 plugin reliability)
- **Technical Classification:**
  - **Category:** Bug
  - **Component Affected:** plugin-starknet action `DEPLOY_STARKNET_UNRUGGABLE_MEME_TOKEN` (unruggable.ts parsing)
  - **Complexity:** **Moderate effort** (input validation + conversion + tests)
- **Resource Requirements:**
  - **Required Expertise:** TypeScript, Starknet types, BigInt handling, input schema validation
  - **Dependencies:** Need reproducible payload + expected formats (decimal/hex, commas, whitespace)
  - **Estimated Effort:** **2/5**
- **Recommended Priority:** **P2**
- **Specific Actionable Next Steps:**
  1. Open a GitHub issue in the correct repo with reproduction payload + stack trace.
  2. Normalize numeric inputs: trim, reject non-digit chars, handle hex prefix.
  3. Add schema validation + clear error messages for users.
  4. Add unit tests for parsing edge cases.
- **Potential Assignees:**
  - **odilitime** (already working on plugin-starknet)
  - **standujar** (TypeScript rigor + tests support)

---

### 8) Bun/Node/NPM version inconsistencies + DTS generation issues — **(Discord report; create GitHub issues)**
- **Current Status:** Reported in Discord (#core-devs); not tracked as GitHub issues in provided data
- **Impact Assessment:**
  - **User Impact:** Medium (install/build friction; contributor pain)
  - **Functional Impact:** Partial (breaks local dev/build; may break publishing)
  - **Brand Impact:** Medium (DX quality)
- **Technical Classification:**
  - **Category:** Bug / Tooling
  - **Component Affected:** Monorepo build tooling, type generation (DTS), runtime version pinning
  - **Complexity:** **Moderate effort**
- **Resource Requirements:**
  - **Required Expertise:** Build tooling (Bun), TS config/emit, package scripts, CI matrices
  - **Dependencies:** Align with docs update (#6284) and CI stabilization
  - **Estimated Effort:** **3/5**
- **Recommended Priority:** **P1**
- **Specific Actionable Next Steps:**
  1. Create two GitHub issues: (a) version pinning, (b) DTS generation failure with logs.
  2. Add `.tool-versions` / `volta` / `engines` fields and enforce in CI.
  3. Add a single “source of truth” for Node/Bun versions and print them in CI logs.
  4. Fix DTS pipeline: confirm tsconfig references, project refs, and Bun compatibility.
- **Potential Assignees:**
  - **ChristopherTrimboli** (dependency/build ecosystem)
  - **lalalune** (large refactors; repo-wide changes)
  - **standujar** (types/build rigor)

---

## Highest-Priority Queue (Top 5–10 to act on now)

1. **P0 — #6282:** Conversation duplication across agents (privacy/data isolation risk).
2. **P0 — CI billing incident:** GitHub Actions failing due to Claude billing/quota (restore CI immediately).
3. **P1 — #6211:** Migration portal wallet support gap + impersonation/scam risk (security + trust).
4. **P1 — Tooling:** Bun/Node/NPM version inconsistencies + DTS generation issues (developer experience + build reliability).
5. **P2 — #6284:** Monorepo docs outdated/incorrect (onboarding and correctness).
6. **P2 — Starknet BigInt parsing bug:** Blocks Starknet token deployment action (Web3 plugin reliability).
7. **P2 — #6281:** Auto-open most recent conversation from dashboard (UX; possibly linked to #6282).
8. **P3 — #6283:** Numbered list spacing (UI polish).

---

## Patterns / Themes Indicating Deeper Issues

- **Conversation/room scoping instability:** #6282 (and possibly #6281) suggests inconsistent identifiers or caching keys across client/server, and/or insufficient agentId/roomId/entityId scoping.
- **Operational fragility in CI/tooling:** External billing dependency causing CI failure, plus Bun/Node/DTS issues, indicates build pipeline needs stronger invariants and alerting.
- **Security + trust pressures around migration:** #6211 and Discord scam warnings show the need for hardened, official support channels and in-product safety messaging.

---

## Process Improvement Recommendations

1. **Add “Data Isolation” regression suite:** Automated tests ensuring messages/conversations are strictly scoped by `(entityId, agentId, roomId)` across API + UI cache layers.
2. **Introduce CI reliability runbooks + alerts:** Monitor vendor quota/billing, fail fast with actionable errors, and notify maintainers before outages.
3. **Enforce runtime/toolchain pinning:** Declare and validate Bun/Node versions in repo (`engines`, CI matrix), and update docs accordingly to reduce “works on my machine” drift.
4. **Security communications playbook for migration:** Maintain a single canonical “official links + never send tokens” page and reference it in Discord, GitHub, and the migration UI.
5. **Issue intake discipline for Discord-reported bugs:** Require creating a GitHub issue with reproduction steps within 24 hours for any bug that blocks users (e.g., Starknet parsing, DTS failures).