You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 9, 2026. It is now read-only.
User ratings like 8 - super, 9/10, or 7: needs work are not persisted to:
~/.opencode/MEMORY/LEARNING/SIGNALS/ratings.jsonl
The file is never created, and the system reports 0 signals.
Actual behavior
Sending a rating message does not create/update ratings.jsonl.
Plugin logs show the user message arrives with message.content missing/undefined.
The extracted user text is empty, so detectRating() does not match and captureRating() is never called.
Expected behavior
Any message starting with a valid 1-10 rating (e.g. 8 - super) is detected.
The rating is appended as a JSONL entry to ~/.opencode/MEMORY/LEARNING/SIGNALS/ratings.jsonl.
Rating detection works whether the text is provided in message.content or in structured parts.
Steps to reproduce
Start OpenCode with the PAI unified plugin enabled.
Send: 8 - super.
Check: ~/.opencode/MEMORY/LEARNING/SIGNALS/ratings.jsonl (missing or no new line).
Check plugin log: /tmp/pai-opencode-debug.log.
Evidence / logs
/tmp/pai-opencode-debug.log includes lines like:
[chat.message] message.content type: undefined
[chat.message] User: ... (empty)
Suspected root cause
The unified plugin extracts message text only from message.content.
In some OpenCode message shapes, the text is carried in output.parts (for chat.message) and/or event.properties.parts (for message.updated), while message.content is undefined.
As a result, detectRating(content) receives an empty string and does not trigger persistence.
I think it might be caused be the changes performed for #17. It fixed one issue, but created the other.
Problem
User ratings like
8 - super,9/10, or7: needs workare not persisted to:~/.opencode/MEMORY/LEARNING/SIGNALS/ratings.jsonlThe file is never created, and the system reports
0 signals.Actual behavior
ratings.jsonl.message.contentmissing/undefined.detectRating()does not match andcaptureRating()is never called.Expected behavior
8 - super) is detected.~/.opencode/MEMORY/LEARNING/SIGNALS/ratings.jsonl.message.contentor in structuredparts.Steps to reproduce
8 - super.~/.opencode/MEMORY/LEARNING/SIGNALS/ratings.jsonl(missing or no new line)./tmp/pai-opencode-debug.log.Evidence / logs
/tmp/pai-opencode-debug.logincludes lines like:[chat.message] message.content type: undefined[chat.message] User: ...(empty)Suspected root cause
message.content.output.parts(forchat.message) and/orevent.properties.parts(formessage.updated), whilemessage.contentis undefined.detectRating(content)receives an empty string and does not trigger persistence.I think it might be caused be the changes performed for #17. It fixed one issue, but created the other.