Add programmer detection and filtering system#191
Open
konard wants to merge 3 commits into
Open
Conversation
Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: undefined
Implements automatic detection of programmers among friends based on message history analysis. The system: - Analyzes private message history for programming-related keywords - Detects code patterns and technical terminology - Asks users directly if no clear indication is found - Maintains a safe list of confirmed programmers - Protects programmers from being deleted (unless blocked/deactivated) Features: - detect-programmer.js: Core detection logic with keyword and pattern matching - programmer-status-cache.js: Persistent storage for programmer status - triggers/filter-programmers.js: Periodic trigger to check friends - Updated delete-deactivated-friends to respect programmer safe list - Comprehensive test suite for detection logic - Experiment scripts for testing and viewing statuses The trigger runs every 45 minutes and checks up to 5 friends per run, gradually building a complete picture of the friends list. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This reverts commit 0acab4c.
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
Implements automatic detection and filtering of programmers vs non-programmers among friends, as requested in issue #22.
What it does
The system automatically:
Key Features
Files Added/Modified
New Files:
detect-programmer.js- Core detection logic with keyword and pattern matchingprogrammer-status-cache.js- Persistent storage for programmer statustriggers/filter-programmers.js- Periodic trigger to check and classify friends__tests__/detect-programmer.test.js- Comprehensive test suite (18 test cases)experiments/test-programmer-detection.js- Test script for manual verificationexperiments/view-programmer-statuses.js- View all programmer statusesModified Files:
index.js- Integrated filter-programmers trigger (runs every 45 min)triggers/delete-deactivated-friends.js- Respects programmer safe listHow It Works
Detection Algorithm
Test Results
Usage Examples
Test detection on a specific friend:
View all programmer statuses:
View specific friend status:
Data Storage
Programmer statuses are stored in:
data/friends/programmer-status.json{ friendId: { isProgrammer, confidence, method, checkedAt, askedAt } }Protection Mechanism
The
delete-deactivated-friendstrigger now checks programmer status before deletion:Fixes #22
🤖 Generated with Claude Code