feat: PicoWatch — trial monitoring menu bar app + WhatsApp status counter#2369
Open
diegofornalha wants to merge 7 commits intosipeed:mainfrom
Open
feat: PicoWatch — trial monitoring menu bar app + WhatsApp status counter#2369diegofornalha wants to merge 7 commits intosipeed:mainfrom
diegofornalha wants to merge 7 commits intosipeed:mainfrom
Conversation
Wire the previously isolated SkillManager and ContextCompressor into the PicoClaw agent loop so they actually work at runtime: SkillManager integration: - New tool `skill_manage` (create/read/update/delete/list workspace skills) - Registered in loop.go alongside find_skills/install_skill - Added to ToolsConfig with `skill_manage` toggle ContextCompressor integration: - New `structuredContextManager` implementing ContextManager interface - Registered as "structured" via RegisterContextManager factory - Activated by config: agents.defaults.context_manager = "structured" - Zero breaking change — defaults to "legacy" if unconfigured All tests passing (pkg/skills, pkg/agent, pkg/tools). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… patch operation Add system prompt guidance that tells the LLM when to create/update skills (after 5+ tool calls, fixing errors, discovering workflows). Enrich the skill_manage tool description with create/update triggers and quality criteria. Add "patch" operation for targeted skill fixes. Introduce skills security guard (pkg/skills/guard.go) with 43 regex threat patterns across 8 categories (exfiltration, injection, destructive, persistence, reverse shells, obfuscation, hardcoded secrets, invisible unicode). Trust-level-aware install policy with automatic rollback on blocked writes. Integrate guard into SkillManager — every CreateSkill/EditSkill/PatchSkill now runs a security scan after write, rolling back to original content if the scan blocks the skill. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add 6 SkillManager+Guard integration tests verifying: - Clean skill creation succeeds - Malicious create is blocked with rollback - Malicious patch is blocked, original content preserved - Malicious edit is blocked, original content preserved - Guard disabled allows everything - Clean-to-clean patch succeeds Add 4 system prompt guidance tests verifying: - Skills guidance appears when skill_manage is enabled - Skills guidance absent when disabled - Memory rule has enriched guidance text - Dynamic rule numbering works correctly Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… counter macOS menu bar app that monitors the PicoClaw WhatsApp agent: - Detects trial users from session JSONL files (STATUS: TRIAL) - Sends macOS notifications on new trial conversations - Updates WhatsApp Status with daily trial counter (dd/MM: N) - Weekly report with trial stats persisted to picowatch_stats.json - Resolves LID to real phone number from check-access.sh output Gateway changes: - POST /api/send-status endpoint for WhatsApp Status broadcast - SendStatus() on WhatsAppNativeChannel (black bg, white bold text) - HandleFunc() on Manager to register custom HTTP handlers Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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
POST /api/send-statusgateway endpoint for WhatsApp Status broadcastGateway changes
POST /api/send-statusendpoint for WhatsApp Status broadcastSendStatus()on WhatsAppNativeChannel (ExtendedTextMessage with black bg, white bold)HandleFunc()on Manager to register custom HTTP handlersBuild & Run
cd tools/PicoWatch bash build.sh open build/PicoWatch.appTest plan
bash build.shcompiles without errorscurl -X POST localhost:18790/api/send-status -d '{"text":"test"}' -H 'Content-Type: application/json'returns ok🤖 Generated with Claude Code