{"repo":"NousResearch/hermes-agent","public_id":"21883","display_label":"Add missing webui entry to PLATFORM_HINTS","summary":"These issues and PRs address a missing 'webui' entry in PLATFORM_HINTS that prevented MEDIA rendering hints from being applied in the WebUI. The work involves identifying the gap and adding the missing configuration entry.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":22438,"merged_at":"2026-05-09T09:22:41+00:00"},"resolution":{"state":"resolved","by":"pr-22438"},"freshness":{"state":"verified","last_verified_at":"2026-05-09T09:22:41+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":21883,"pr_number":22438,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-05-09T09:22:41+00:00"}],"members":[{"kind":"issue","number":21883,"title":"Bug: PLATFORM_HINTS missing \"webui\" entry — agent never uses MEDIA: in WebUI","url":null,"state":"closed"},{"kind":"pr","number":21891,"title":"fix(webui): add platform hint for MEDIA rendering","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#22438","number":22438}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":22049,"title":"fix(platform-hints): add missing webui entry to PLATFORM_HINTS","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#21891","number":21891},{"kind":"pr","value":"#21883","number":21883},{"kind":"pr","value":"#22438","number":22438}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":22438,"title":"fix(webui): add platform hint for MEDIA rendering","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/prompt_builder.py","tests/agent/test_prompt_builder.py"],"fix_hunks":[{"file":"agent/prompt_builder.py","hunks":["@@ -564,6 +564,18 @@ def _strip_yaml_frontmatter(content: str) -> str:\n         \"code fences). Treat this like a conversation, not a document. Keep responses \"\n         \"brief and natural.\"\n     ),\n+    \"webui\": (\n+        \"You are in the Hermes WebUI, a browser-based chat interface. \"\n+        \"Full Markdown rendering is supported — headings, bold, italic, code \"\n+        \"blocks, tables, math (LaTeX), and Mermaid diagrams all render natively. \"\n+        \"To display local or remote media/files inline, include \"\n+        \"MEDIA:/absolute/path/to/file or MEDIA:https://... in your response. \"\n+        \"Local file paths must be absolute. Images, audio (with playback speed \"\n+        \"controls), video, PDFs, HTML, CSV, diffs/patches, and Excalidraw files \"\n+        \"render as rich previews. Do not use Markdown image syntax like \"\n+        \"![alt](/path) for local files; local paths are not served that way. \"\n+        \"Use MEDIA:/absolute/path instead.\"\n+    ),\n }\n \n # ---------------------------------------------------------------------------"]},{"file":"tests/agent/test_prompt_builder.py","hunks":["@@ -789,6 +789,7 @@ def test_platform_hints_known_platforms(self):\n         assert \"cron\" in PLATFORM_HINTS\n         assert \"cli\" in PLATFORM_HINTS\n         assert \"api_server\" in PLATFORM_HINTS\n+        assert \"webui\" in PLATFORM_HINTS\n \n     def test_cli_hint_does_not_suggest_media_tags(self):\n         # Regression: MEDIA:/path tags are intercepted only by messaging","@@ -826,6 +827,13 @@ def test_platform_hints_feishu(self):\n         assert \"MEDIA:\" in hint\n         assert \"Markdown\" in hint\n \n+    def test_platform_hints_webui(self):\n+        hint = PLATFORM_HINTS[\"webui\"]\n+        assert \"WebUI\" in hint\n+        assert \"MEDIA:\" in hint\n+        assert \"Markdown\" in hint\n+        assert \"absolute\" in hint\n+\n \n # =========================================================================\n # Environment hints\n"]}]}],"trust":{"default_tier":"verified","includes_suggested":false}}