Skip to content

hotfix: add shift_report to CHAT_SKILL_ALLOWLIST#13

Merged
AVADSA25 merged 1 commit into
mainfrom
hotfix/shift-report-chat-allowlist
May 2, 2026
Merged

hotfix: add shift_report to CHAT_SKILL_ALLOWLIST#13
AVADSA25 merged 1 commit into
mainfrom
hotfix/shift-report-chat-allowlist

Conversation

@AVADSA25
Copy link
Copy Markdown
Owner

@AVADSA25 AVADSA25 commented May 2, 2026

Summary

User typed shift report in PWA chat after PR #12 merged — got a PM2 service listing instead of the report. Root cause: shift_report was never added to codec_dashboard.CHAT_SKILL_ALLOWLIST, so _try_skill matched the skill via SKILL_TRIGGERS but 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.

  • One-line fix: add "shift_report" to CHAT_SKILL_ALLOWLIST (codec_dashboard.py +2/-1)
  • Regression test: tests/test_shift_report.py::test_shift_report_in_chat_skill_allowlist asserts membership and fails loudly with a pointer to this PR if anyone removes it again

Test plan

  • 🧪 RUNNING PYTEST NOW — tests/test_shift_report.py → 21 passed (was 20; +1 new regression test)
  • 🧪 Full suite — 824 passed / 20 failed / 73 skipped (same 20/73 baseline as main; +1 from regression test)
  • After merge: git pull && pm2 restart codec-dashboard, type shift report in PWA chat, expect notification with type=shift_report and the markdown body inline (not the PM2 list)

🤖 Generated with Claude Code

…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.
@AVADSA25 AVADSA25 merged commit ba4a589 into main May 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants