hotfix: add shift_report to CHAT_SKILL_ALLOWLIST#13
Merged
Conversation
…ches it User typed 'shift report' in PWA chat after PR #12 merged — got a PM2 service listing instead of the report. Root cause: codec_dashboard.py:2336 _try_skill checks the allowlist; if the matched skill name isn't there it returns (None, None) and the chat falls through to the LLM. The LLM then heard 'report' and emitted [SKILL:pm2_control:pm2 list] which dispatched to pm2_control.run(). shift_report was never added to CHAT_SKILL_ALLOWLIST when PR #12 landed. The voice path and MCP path don't use this allowlist, so direct Python invocation (the deployment fire test) worked end-to-end — only the chat path was broken. Added regression test test_shift_report_in_chat_skill_allowlist that asserts the membership; the test fails (correctly) if shift_report is removed from the allowlist again. Tests: 824 passed / 20 failed / 73 skipped — same 20/73 baseline as main, +1 new regression test.
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
User typed
shift reportin PWA chat after PR #12 merged — got a PM2 service listing instead of the report. Root cause:shift_reportwas never added tocodec_dashboard.CHAT_SKILL_ALLOWLIST, so_try_skillmatched the skill viaSKILL_TRIGGERSbut the allowlist gate returned(None, None). Chat fell through to the LLM, which heard "report" and emitted[SKILL:pm2_control:pm2 list].The voice path and MCP path don't use this allowlist, so direct Python invocation (the deployment fire test at
2026-05-02T18:49:40Z,cid=5f188e5485e5) worked end-to-end — only the chat route was broken."shift_report"toCHAT_SKILL_ALLOWLIST(codec_dashboard.py +2/-1)tests/test_shift_report.py::test_shift_report_in_chat_skill_allowlistasserts membership and fails loudly with a pointer to this PR if anyone removes it againTest plan
tests/test_shift_report.py→ 21 passed (was 20; +1 new regression test)git pull && pm2 restart codec-dashboard, typeshift reportin PWA chat, expect notification withtype=shift_reportand the markdown body inline (not the PM2 list)🤖 Generated with Claude Code