一键导入
evolve-bug-fix-may18
Root cause analysis and fix for KeyError on strategy_name during trade logging
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Root cause analysis and fix for KeyError on strategy_name during trade logging
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use the browse.sh open-source skill catalog (171+ skills) to interact with websites via their documented APIs or browser automation. Provides precise, token-efficient workflows for weather, flights, jobs, shopping, research, GitHub, and more. Requires `browse` CLI (npm) and Browserbase API key for browser-requiring skills.
Design, curate, secure, and ship a Hermes community skills marketplace with a polished skills.sh-style UX.
Morning briefing pattern combining session rehash, tech news, and Polymarket alpha scanning
Generates daily notes for wiki-llm with summary, tasks, focus, token usage, and model tracking
Inspect, verify, and troubleshoot Hermes Agent installation state — profiles, memory files, database integrity, configuration, and session logs.
MODEL ROUTING IS DEPRECATED. Cobuddy routing was stripped from root config and chief config during 2026-05-18 hardening. Chief now uses deepseek/deepseek-v4-flash:free. This skill exists for historical reference only.
| name | evolve-bug-fix-may18 |
| title | Evolve Bug Fix — strategy_name Key Mismatch |
| description | Root cause analysis and fix for KeyError on strategy_name during trade logging |
| version | 1.0.0 |
| type | reference |
| status | active |
| created | "2026-05-18T00:00:00.000Z" |
| category | development |
| license | MIT |
| tested | runtime |
| tested_note | Skill documents a verified production fix; creator provenance needs manual review. |
| tags | ["bug-fix","strategy-learner","key-mismatch","sandbox"] |
strategy_name Key Mismatch (May 18, 2026)The strategy_learner.py log_trade() function extracted the strategy name with:
strategy_name = trade.get("strategy_name", "default")
But the sandbox (sandbox.py) and unified launcher (hermes_trading.py) passed the key as "strategy":
{"action": "log", "trade": {"strategy": "owl-alpha-v3", ...}}
Result: Every trade landed in the "default" bucket. When evolve was called with "owl-alpha-v3", it returned:
{"status": "not_found", "message": "Strategy 'owl-alpha-v3' not found in database."}
Accept either key with fallback chain:
strategy_name = trade.get("strategy_name") or trade.get("strategy", "default")
When multiple modules share trade data via JSON, explicitly document the expected key names. Use a shared schema or at minimum a comment listing accepted key variants.