Skip to content

remove the nun figgie and preserve avatar fallbacks - #362

Merged
tulsi-builder merged 1 commit into
mainfrom
tulsi/remove-figgie
Sep 25, 2026
Merged

tulsi-builder merged 1 commit into
mainfrom
tulsi/remove-figgie

Conversation

@tulsi-builder

Copy link
Copy Markdown
Contributor

Overview

Category: fix

User Impact: The nun avatar is no longer offered in Figgies, and agents already using it display a replacement instead.

Problem: The nun (pollies-22, from the collection now called Figgies) needs to be removed without leaving existing agents with broken avatars. Updating the hosted catalogue alone would not cover users with cached artwork or offline installations.

Solution: Retire the avatar at catalogue and media-resolution boundaries, and resolve existing references to the blue jelly (gloopies-14) without rewriting agent files. Apply the same policy to static images, the login screen, and publishing so cached assets cannot reappear and older source folders cannot republish the retired character.

No architectural law changes: the invocation and chat laws are unaffected. This PR changes app behavior and publication safeguards; it does not itself republish the hosted catalogues.

Changes

File changes

resources/retired-avatars.json
Defines the retired avatar and replacement once for the app and publishers.

scripts/avatar-manifest.mjs
Omits retired animated assets during publication and rejects promotion of catalogues that still contain them.

scripts/artifacts-manifest.mjs
Applies the same retirement guard to the corresponding static collection image while preserving unrelated images.

src-tauri/src/commands/avatars.rs
Filters fetched and cached catalogues, preserves valid collection covers, and resolves saved references to the replacement. Refresh notifications, legacy migration, and pruning respect retirement; disk-cache tests cover offline and missing-media behavior.

src-tauri/src/commands/artifacts.rs
Excludes the retired static image from cached and refreshed artifacts without clearing unaffected assets. Tests cover offline use and collection scoping.

src/shared/avatars/catalog.ts
Provides shared replacement resolution while keeping saved avatar references syntactically valid.

src/shared/avatars/catalog.test.ts
Checks reference compatibility and valid, non-retired replacements.

src/shared/api/artifacts.ts
Resolves retired static-image requests to the replacement even when stale artifact data remains in memory.

src/shared/api/artifacts.test.ts
Checks replacement selection, missing replacements, and preservation of unrelated collection images.

src/shared/hooks/useAvatarSrc.test.tsx
Verifies stale query-cache data cannot display the retired static image.

src/features/auth/ui/LoginView.tsx
Replaces the login-screen nun with pollies-15.

src/app/App.test.tsx
Checks the new login-screen character and explicitly rejects the retired reference.

src/features/agents/ui/tests/PersonaCard.test.tsx
Checks the existing local icon fallback when replacement media is unavailable.

src/scripts/tests/avatarManifest.test.ts
Verifies retired artwork is omitted from builds/uploads and cannot be restored through promotion of an old manifest.

Reproduction Steps

  1. Open an agent's avatar picker and browse Figgies. Confirm the nun is absent and the other characters remain available.
  2. Open an existing agent whose saved avatar is app-avatar:pollies-22. Confirm it displays the blue jelly replacement in its card and chat rather than the nun, without changing the saved agent file.
  3. Restart with an existing cache while offline. Confirm the retired artwork remains unavailable. If replacement media is missing, the agent card should use its existing local icon fallback rather than the retired image.
  4. Check the login screen. Confirm the decorative nun has been replaced by pollies-15.
  5. Run the avatar/artifact manifest tests to verify old source directories cannot reintroduce the retired asset.

Validation

  • All pre-push gates passed after rebasing onto public main: just fmt-check, just check, just tauri-check, and just clippy.
  • All six targeted frontend/publishing test files passed after rebase.
  • Rust avatar/artifact tests after rebase: all 85 passed (67 avatar, 18 artifact).
  • Full frontend suite: 7,843 passed, one skipped, one failure in the unchanged useChat test “starts a new visible assistant stream when the structured intervention boundary arrives.” That file subsequently passed all 47 tests in isolation on both this branch and unmodified public main; no chat code or tests were changed here.
  • Manual dev-app verification before the public-main rebase: the requester confirmed the retired character is gone.

Screenshots / Demos

No screenshots were captured. The visible changes are the missing Figgies option, blue jelly fallback, and login-screen replacement; the manual verification steps above cover each surface.

@tulsi-builder
tulsi-builder requested a review from a team September 25, 2026 15:17

@morgmart morgmart left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Automated code review

APPROVE. Engineering found no publishable changed-line issues in the exact three-dot comparison. Static review covered avatar retirement during publication and promotion, online and offline catalog filtering, replacement resolution, stale cache handling, refresh invalidation, pruning, login usage, and fallback behavior. Accessibility, localization, navigation and consent guards, async/error/lifecycle/race behavior, test honesty, and project rules were checked with no concrete regression found. Supplied GitHub evidence is structurally valid; several required checks were still in progress when captured, so CI remains pending for merge readiness.

Deterministic publication result: 0 blocking and 0 non-blocking inline finding(s) publishable; 0 duplicate(s) suppressed; 0 blocking screenshot-evidence requirement(s) in this review body.

Pending checks: 4 check(s) are not complete.

This approval reflects the completed code review only; merge readiness remains governed by the repository's required checks.

@tulsi-builder
tulsi-builder enabled auto-merge (squash) September 25, 2026 15:23
@tulsi-builder
tulsi-builder merged commit 195c532 into main Sep 25, 2026
10 of 11 checks passed
@tulsi-builder
tulsi-builder deleted the tulsi/remove-figgie branch September 25, 2026 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants