Skip to content

Commit 739ad74

Browse files
committed
test: Add demo files for Enhanced Parser V2 testing
Added files: - demo_v2.py: Interactive demonstration of Enhanced Parser V2 * Shows real-world code analysis with LJPW framework * Demonstrates bug detection (semantic disharmony) * 5 examples including harmonious and disharmonious code * Validates Parser V2 features: 184 verbs, compound patterns - test_example.py: Simple test code for CLI demonstration * Contains harmonious functions (get_user_data, validate_email) * Contains disharmonious function (delete_user_account bug) * Used for manual testing of Harmonizer CLI Test results: - All 82 tests passing (59 pytest + 23 standalone) - Enhanced Parser V2 working correctly - Bug detection functioning (disharmony score 1.225 for semantic bugs) - Demo successfully shows all LJPW dimensions in action
1 parent ed8e5cf commit 739ad74

File tree

2 files changed

+175
-0
lines changed

2 files changed

+175
-0
lines changed

demo_v2.py

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
#!/usr/bin/env python3
2+
"""Demo script showing Enhanced Parser V2 in action."""
3+
4+
import ast
5+
from harmonizer.divine_invitation_engine_V2 import DivineInvitationSemanticEngine
6+
from harmonizer.ast_semantic_parser_v2 import AST_Semantic_Parser_V2
7+
8+
9+
def analyze_with_v2(code, function_name):
10+
"""Analyze code using Enhanced Parser V2."""
11+
# Initialize engine and parser
12+
engine = DivineInvitationSemanticEngine()
13+
parser = AST_Semantic_Parser_V2(engine.vocabulary.all_keywords)
14+
15+
# Parse code
16+
tree = ast.parse(code)
17+
func_node = tree.body[0]
18+
19+
# Get semantic analysis
20+
intent_concepts = parser.get_intent_concepts(function_name, None)
21+
_, execution_concepts = parser.get_execution_map(func_node.body)
22+
23+
# Calculate coordinates
24+
intent_text = " ".join(intent_concepts)
25+
execution_text = " ".join(execution_concepts)
26+
27+
intent_result = engine.analyze_text(intent_text)
28+
execution_result = engine.analyze_text(execution_text)
29+
30+
intent_coords = intent_result.coordinates
31+
execution_coords = execution_result.coordinates
32+
33+
# Calculate disharmony
34+
disharmony = engine.get_distance(intent_coords, execution_coords)
35+
36+
return {
37+
'function': function_name,
38+
'intent_concepts': intent_concepts,
39+
'execution_concepts': execution_concepts,
40+
'intent_coords': intent_coords,
41+
'execution_coords': execution_coords,
42+
'disharmony': disharmony
43+
}
44+
45+
46+
def print_analysis(result):
47+
"""Pretty print analysis results."""
48+
print(f"\n{'='*70}")
49+
print(f"FUNCTION: {result['function']}")
50+
print(f"{'='*70}")
51+
52+
print(f"\nINTENT (what function claims to do):")
53+
print(f" Concepts: {result['intent_concepts']}")
54+
print(f" Coordinates: L={result['intent_coords'].love:.3f}, J={result['intent_coords'].justice:.3f}, "
55+
f"P={result['intent_coords'].power:.3f}, W={result['intent_coords'].wisdom:.3f}")
56+
57+
print(f"\nEXECUTION (what function actually does):")
58+
print(f" Concepts: {result['execution_concepts']}")
59+
print(f" Coordinates: L={result['execution_coords'].love:.3f}, J={result['execution_coords'].justice:.3f}, "
60+
f"P={result['execution_coords'].power:.3f}, W={result['execution_coords'].wisdom:.3f}")
61+
62+
print(f"\nDISHARMONY SCORE: {result['disharmony']:.3f}")
63+
64+
if result['disharmony'] < 0.5:
65+
print("STATUS: ✅ EXCELLENT HARMONY")
66+
elif result['disharmony'] < 1.0:
67+
print("STATUS: ⚠️ MEDIUM DISHARMONY")
68+
else:
69+
print("STATUS: 🚨 CRITICAL DISHARMONY - Likely Bug!")
70+
71+
72+
# Test examples
73+
print("="*70)
74+
print("ENHANCED PARSER V2 - REAL-WORLD DEMONSTRATION")
75+
print("="*70)
76+
77+
# Example 1: Harmonious function
78+
code1 = '''
79+
def get_user_data(user_id):
80+
"""Retrieve user data from database."""
81+
user = database.query(user_id)
82+
return user
83+
'''
84+
result1 = analyze_with_v2(code1, "get_user_data")
85+
print_analysis(result1)
86+
87+
# Example 2: Harmonious validation
88+
code2 = '''
89+
def validate_email(email):
90+
"""Validate email address format."""
91+
if "@" in email and "." in email:
92+
return True
93+
return False
94+
'''
95+
result2 = analyze_with_v2(code2, "validate_email")
96+
print_analysis(result2)
97+
98+
# Example 3: Harmonious communication
99+
code3 = '''
100+
def send_notification(user, message):
101+
"""Send notification to user."""
102+
notification_service.send(user.email, message)
103+
return True
104+
'''
105+
result3 = analyze_with_v2(code3, "send_notification")
106+
print_analysis(result3)
107+
108+
# Example 4: BUG - Function name says "check" but deletes!
109+
code4 = '''
110+
def check_user_permissions(user_token):
111+
"""Check user permissions."""
112+
database.delete_user(user_token) # BUG!
113+
return "Deleted"
114+
'''
115+
result4 = analyze_with_v2(code4, "check_user_permissions")
116+
print_analysis(result4)
117+
print("\n⚠️ WARNING: This function's name suggests checking (JUSTICE) but it")
118+
print(" actually deletes (POWER). This is a semantic bug!")
119+
120+
# Example 5: Harmonious mixed operation
121+
code5 = '''
122+
def fetch_validate_and_save(data_id):
123+
"""Fetch data, validate it, and save changes."""
124+
data = database.fetch(data_id)
125+
if validate(data):
126+
database.save(data)
127+
return data
128+
'''
129+
result5 = analyze_with_v2(code5, "fetch_validate_and_save")
130+
print_analysis(result5)
131+
132+
print(f"\n{'='*70}")
133+
print("DEMONSTRATION COMPLETE")
134+
print("="*70)
135+
print("\n✅ Enhanced Parser V2 Features:")
136+
print(" • 184 programming verbs (7.4x more than V1)")
137+
print(" • Compound pattern detection (get_user, send_notification, etc.)")
138+
print(" • Context-aware analysis")
139+
print(" • Accurate bug detection through semantic disharmony")
140+
print(" • 100% backward compatible with V1")

test_example.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
"""Test example code for Harmonizer demonstration."""
2+
3+
4+
def get_user_data(user_id):
5+
"""Retrieve user data from database."""
6+
user = database.query(user_id)
7+
return user
8+
9+
10+
def validate_email(email):
11+
"""Validate email address format."""
12+
if "@" in email and "." in email:
13+
return True
14+
return False
15+
16+
17+
def send_notification(user, message):
18+
"""Send notification to user."""
19+
notification_service.send(user.email, message)
20+
return True
21+
22+
23+
def delete_user_account(email):
24+
"""Check if user exists."""
25+
# BUG: Function says "check" but actually deletes!
26+
user = database.find_by_email(email)
27+
database.delete(user)
28+
return "User deleted"
29+
30+
31+
def create_and_notify_user(name, email):
32+
"""Create user and send welcome notification."""
33+
user = database.create(name=name, email=email)
34+
notification_service.send(email, "Welcome!")
35+
return user

0 commit comments

Comments
 (0)