# Gift Graph Bug Tracker > Gift Graph - Known issues, build-night surprises, and their resolution status. Platform findings that belong to Replit rather than Gift Graph are marked and also live as Product notes · FDE feedback in the [[Gift Graph Build Log]]. > Last Updated: 2026-10-01 ## Format Each bug follows this structure: - **ID:** Unique identifier (BUG-XXX) - **Status:** `Open` | `In Progress` | `Resolved` | `Won't Fix` | `Platform` - **Severity:** `Critical` | `High` | `Medium` | `Low` - **Description**, **Root Cause**, **Resolution** ## Open Issues ### BUG-009: Tests Not Re-run After the Multi-Artifact Restructure **Status:** Open **Severity:** High **Reported:** 2026-10-01 **Related:** [[Gift Graph Technical Decisions#TDR-010]] **Description:** Task #5 moved the server into `artifacts/`, `lib/`, and `scripts/` to make room for the deck viewer. The 12 integration tests passed before the move and nothing has run them since. **Root Cause:** The restructure ran on a separate copy and was applied after the GitHub push; the live deployment still serves the pre-restructure build. **Resolution:** Ask Agent to run the suite in the new layout and report; republish only on 12 passing. ### BUG-003: Natural Prompts Miss **Status:** Open **Severity:** Medium **Reported:** 2026-10-01 **Related:** [[Gift Graph Technical Decisions#TDR-005]], [[Gift Graph Feature Backlog]] **Description:** A pull for "gift ideas about fonts" returned nothing while a drop with the category text "type and lettering" existed. **Root Cause:** v0.1 matches literal words in the prompt against disclosed text only, and no word overlapped. The privacy model is working as designed; the cost is that natural prompts miss. **Resolution:** Semantic matching with embeddings built only from text the requester may see. Any embedding that touches verbatim text reopens the leak literal matching closes. ### BUG-006: Revoke and Reconnect Semantics Unconfirmed **Status:** Open **Severity:** Medium **Reported:** 2026-09-30 **Related:** [[Gift Graph Technical Decisions#TDR-006]] **Description:** Agent's Unsure note says renewed approval restores access to drops made before a revocation. The spec does not say whether a reconnect should start fresh. **Resolution:** Decide, then record in the TDRs. Tombstones in the backlog depend on the answer. ## Platform Findings (Replit) ### BUG-002: Plan Gate Bent by Ambiguous Text **Status:** Platform **Severity:** Medium **Reported:** 2026-09-30 **Description:** With Revise selected on the plan approval card, text opening "Approved with three additions" was read as approval, and Agent built without showing a revised plan. All three additions landed, nothing was lost. **What would help:** Restate how the card was read before building whenever the selected option and the text disagree. Plan mode later did exactly this for the deployment fix, which is the contrast worth showing a security team. ### BUG-008: Deck Needs a Project Restructure, Flagged Late **Status:** Platform **Severity:** Low **Reported:** 2026-10-01 **Description:** The slide deck was offered from the publish screen, the outline was scoped and approved, and only then did Agent report that the viewer needs a multi-artifact layout and ask to move the live server. **What would help:** Flag the structure change when the feature is offered, and offer to build the deck as a separate project that leaves the live app untouched. ## Resolved ### BUG-001: Publish Failed, "Could not find run command" **Status:** Resolved (2026-10-01) **Severity:** High **Related:** [[Gift Graph Technical Decisions#TDR-007]] **Description:** The first Publish failed although the app ran in the workspace. **Root Cause:** The preview started the server through the dev workflow; a published deployment reads its own build and run commands from `.replit`, and that section was missing. **Resolution:** Agent, in Plan mode, added build `npm run build` and run `npm start`, chose Autoscale after confirming the transport is stateless, and the republish went green. Platform note: Agent could set the deployment commands whenever it builds a server, or offer to set them from the error. ### BUG-005: Bearer Tokens Exposed in a Screenshot **Status:** Resolved (2026-09-30) **Severity:** Critical **Description:** A Shell screenshot taken mid-build showed both freshly generated tokens, one highlighted. **Resolution:** Both values rotated in Tools › Secrets after the build finished; the server reads them at runtime, which changed no code. Rule from here: `clear` the Shell before any screenshot, and generate tokens with `Read-Host` on the client side so they stay out of history. ### BUG-004: Claude Code 401 on the First Tool Call **Status:** Resolved (2026-10-01) **Severity:** Low **Description:** The first demo prompt returned `401 authentication_error, OAuth access token is invalid`, retrying. **Root Cause:** Claude Code's own sign-in had expired. The error shape is Anthropic's API format; the call never reached Gift Graph, and `claude mcp list` had already shown both servers connected. **Resolution:** `/login`, then the prompt ran. ### BUG-007: Build Log Truncated Mid-Sentence **Status:** Resolved (2026-10-01) **Severity:** Low **Description:** `docs/build-log.md` ended at line 51 inside the Build entry after a paste, and later feedback blocks landed in the wrong entry. **Resolution:** The complete log was pasted once, with every feedback block in the session it came from. Replit auto-committed it as "Update build log documentation." ### BUG-010: README and Repo Description Out of Date **Status:** Resolved (2026-10-01, cleanup text provided) **Severity:** Low **Description:** The README still said "v0.1 in progress" and carried a colon sentence; the repo description read "Imported from zip." **Resolution:** Description rewritten at creation. README replaced with the live status, how the tiers work, the seven tools, and the connection steps; the status line says "at deploy" until the tests pass in the new layout.