{"repo":"NousResearch/hermes-agent","public_id":"2300","display_label":"Alibaba Coding Plan model identity workaround fixes","summary":"These issues and pull requests address a bug where the Alibaba Coding Plan provider returns an incorrect model identity, and track iterative fixes to the workaround logic including a stale provider name check.","subsystem":"agent","counts":{"members":6,"open_issues":1,"open_issues_distinct":1,"open_prs":1,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":2314,"merged_at":"2026-03-21T14:11:51+00:00"},"resolution":{"state":"partially_resolved","by":"pr-2314"},"freshness":{"state":"stale","last_verified_at":"2026-03-21T14:11:51+00:00","is_stale":true},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.29066666666666663},"fix_edges":[{"issue_number":1739,"pr_number":2314,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-03-21T14:11:51+00:00"},{"issue_number":2300,"pr_number":2314,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-03-21T14:11:51+00:00"}],"members":[{"kind":"issue","number":2300,"title":"[Bug]:  Alibaba Coding Plan Provider Returns Incorrect Model Identity","url":null,"state":"closed"},{"kind":"issue","number":66134,"title":"Model-identity workaround no longer fires for alibaba-coding-plan (stale provider name check)","url":null,"state":"open"},{"kind":"pr","number":2302,"title":"fix:   Alibaba Coding Plan Provider Returns Incorrect Model Iden","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#2314","number":2314}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":2304,"title":"fix(agent): inject model identity for Alibaba Coding Plan to work around API returning wrong model name","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#2314","number":2314}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":2314,"title":"fix(agent): inject model identity for Alibaba Coding Plan","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["run_agent.py"],"fix_hunks":[{"file":"run_agent.py","hunks":["@@ -2329,6 +2329,18 @@ def _build_system_prompt(self, system_message: str = None) -> str:\n             timestamp_line += f\"\\nProvider: {self.provider}\"\n         prompt_parts.append(timestamp_line)\n \n+        # Alibaba Coding Plan API always returns \"glm-4.7\" as model name regardless\n+        # of the requested model. Inject explicit model identity into the system prompt\n+        # so the agent can correctly report which model it is (workaround for API bug).\n+        if self.provider in (\"alibaba-coding-plan\", \"alibaba-coding-plan-anthropic\"):\n+            _model_short = self.model.split(\"/\")[-1] if \"/\" in self.model else self.model\n+            prompt_parts.append(\n+                f\"You are powered by the model named {_model_short}. \"\n+                f\"The exact model ID is {self.model}. \"\n+                f\"When asked what model you are, always answer based on this information, \"\n+                f\"not on any model name returned by the API.\"\n+            )\n+\n         platform_key = (self.platform or \"\").lower().strip()\n         if platform_key in PLATFORM_HINTS:\n             prompt_parts.append(PLATFORM_HINTS[platform_key])\n"]}]},{"kind":"pr","number":66135,"title":"fix(agent): drive model-identity workaround from provider profile","url":null,"state":"open","close_reason":{"refs":[{"kind":"commit","value":"aba229badca4","number":0},{"kind":"pr","value":"#66134","number":66134},{"kind":"pr","value":"#66135","number":66135},{"kind":"pr","value":"#374151","number":374151}],"category":"partial_fix","implication":"needs_llm"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}