diff --git a/mcp/bigmind/bigmind/profile_builder.py b/mcp/bigmind/bigmind/profile_builder.py
index c6c77f7..1d96921 100644
--- a/mcp/bigmind/bigmind/profile_builder.py
+++ b/mcp/bigmind/bigmind/profile_builder.py
@@ -571,7 +571,7 @@ def compute_achievements(user_id: str) -> list[dict]:
f"Added your {thresh:,}+ person to the directory",
unlocked, unlocked_at,
f"Reach {thresh:,} people (now: {people_count:,})",
- image=f"static/achievements/networker_{tiers[i]}.png"
+ image=f"/static/achievements/networker_{tiers[i]}.png"
)
# Token Sniper (max single token save)
@@ -601,7 +601,7 @@ def compute_achievements(user_id: str) -> list[dict]:
f"Single shot saved {thresh:,}+ tokens",
unlocked, unlocked_at,
f"Max single save {thresh:,}+ (current max: {max_token:,})",
- image=f"static/achievements/tokensniper_{tiers[i]}.png"
+ image=f"/static/achievements/tokensniper_{tiers[i]}.png"
)
# Hypothesis Master (confirmed hypotheses)
@@ -628,7 +628,7 @@ def compute_achievements(user_id: str) -> list[dict]:
f"Confirmed {thresh:,}+ predictions right",
unlocked, unlocked_at,
f"Confirm {thresh:,}+ hypotheses (now: {confirmed_hyp_count:,})",
- image=f"static/achievements/hypothesismaster_{tiers[i]}.png"
+ image=f"/static/achievements/hypothesismaster_{tiers[i]}.png"
)
# Memory Architect (facts stored — fact_count already computed above)
@@ -648,7 +648,7 @@ def compute_achievements(user_id: str) -> list[dict]:
f"Stored {thresh:,}+ facts in your brain",
unlocked, unlocked_at,
f"Store {thresh:,}+ facts (now: {fact_count:,})",
- image=f"static/achievements/memoryarchitect_{tiers[i]}.png"
+ image=f"/static/achievements/memoryarchitect_{tiers[i]}.png"
)
# Session Veteran (session_count already computed above)
@@ -668,7 +668,7 @@ def compute_achievements(user_id: str) -> list[dict]:
f"Completed {thresh:,}+ sessions",
unlocked, unlocked_at,
f"Complete {thresh:,}+ sessions (now: {session_count:,})",
- image=f"static/achievements/sessionveteran_{tiers[i]}.png"
+ image=f"/static/achievements/sessionveteran_{tiers[i]}.png"
)
return A
diff --git a/mcp/bigmind/bigmind/static/achievements/networker_bronze.png b/mcp/bigmind/bigmind/static/achievements/networker_bronze.png
new file mode 100644
index 0000000..2141617
Binary files /dev/null and b/mcp/bigmind/bigmind/static/achievements/networker_bronze.png differ
diff --git a/mcp/bigmind/bigmind/static/achievements/networker_silver.png b/mcp/bigmind/bigmind/static/achievements/networker_silver.png
new file mode 100644
index 0000000..ddb19de
Binary files /dev/null and b/mcp/bigmind/bigmind/static/achievements/networker_silver.png differ
diff --git a/mcp/bigmind/bigmind/web.py b/mcp/bigmind/bigmind/web.py
index c39b614..c620c91 100644
--- a/mcp/bigmind/bigmind/web.py
+++ b/mcp/bigmind/bigmind/web.py
@@ -163,7 +163,7 @@ def _create_app():
def achievements_image(filename: str):
from pathlib import Path
safe_name = Path(filename).name
- img_path = Path('static') / 'achievements' / safe_name
+ img_path = Path(__file__).parent / 'static' / 'achievements' / safe_name
if img_path.exists() and img_path.suffix.lower() in ['.png', '.jpg', '.jpeg', '.webp', '.gif']:
mimetype = {
'.png': 'image/png',
diff --git a/mcp/bigmind/bigmind/web_render.py b/mcp/bigmind/bigmind/web_render.py
index 3a29621..a1273a0 100644
--- a/mcp/bigmind/bigmind/web_render.py
+++ b/mcp/bigmind/bigmind/web_render.py
@@ -628,7 +628,7 @@ def _render_html(data: dict) -> str:
var d = card.dataset;
var tier = d.id.split('_').pop();
if (d.image) {{
- document.getElementById('ap-icon').innerHTML = "
";
+ document.getElementById('ap-icon').innerHTML = '
';
}} else {{
document.getElementById('ap-icon').textContent = d.icon;
}}