Traceback (most recent call last): File "/Users/richen/.config/opencode/skills/evolving-agent/scripts/knowledge/trigger.py", line 320, in main() File "/Users/richen/.config/opencode/skills/evolving-agent/scripts/knowledge/trigger.py", line 304, in main result = trigger_knowledge( File "/Users/richen/.config/opencode/skills/evolving-agent/scripts/knowledge/trigger.py", line 206, in trigger_knowledge matched = query_by_triggers(list(all_triggers), limit=limit * 2) File "/Users/richen/.config/opencode/skills/evolving-agent/scripts/knowledge/query.py", line 115, in query_by_triggers index = get_global_index() File "/Users/richen/.config/opencode/skills/evolving-agent/scripts/knowledge/query.py", line 100, in get_global_index return load_json(get_kb_root() / 'index.json') File "/Users/richen/.config/opencode/skills/evolving-agent/scripts/knowledge/query.py", line 93, in load_json return json.load(f) File "/Users/richen/.pyenv/versions/3.10.19/lib/python3.10/json/__init__.py", line 293, in load return loads(fp.read(), File "/Users/richen/.pyenv/versions/3.10.19/lib/python3.10/codecs.py", line 322, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe5 in position 8136: invalid continuation byte