-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Project Yellowstone - Current Status
Date: 2025-10-29
Last Action: Major simplification based on architecture review
What Changed
Removed 70% of Codebase
Before: 31,000 lines, 12 modules
After: 18,000 lines, 7 modules
Reduction: 13,000 lines (42%)
Why
Architecture review against Microsoft Learn documentation revealed:
make-graphcreates transient graphs (exist only during query execution)- No "persistent graph" API exists for our use case
- We built graph lifecycle management we don't need
- Over-engineered monitoring, benchmarking, load testing
What We Removed
- persistent_graph/ (2,100 lines) - Misunderstood transient vs persistent
- algorithms/ (800 lines) - KQL has these, we just translate to them
- load_testing/ (700 lines) - For query execution, not translation
- monitoring/ (800 lines) - Over-engineered
- benchmarks/ (700 lines) - Should benchmark translation, not execution
- 23 point-in-time report files from root directory
What Remains (Essential Only)
Core Translation (Required)
- parser/ - Cypher → AST
- translator/ - AST → KQL components
- main_translator.py - Orchestration
- schema/ - Label → Table mapping
- models.py - Core data types
Enhancement (Useful)
- ai_translator/ - Complex query handling via Anthropic
- security/ - Authorization, injection prevention
- cli.py - Command-line interface
Under Review
- optimizer/ - KQL optimization (may be premature, ~2,000 lines)
What Works (Validated)
✓ Cypher parsing (simple queries)
✓ KQL generation (partial)
✓ Azure Sentinel connectivity
✓ Workspace creation/deletion
✓ Query execution
Validation Cost: $0.20 in Azure charges
What Doesn't Work Yet
✗ Parser can't handle property access in RETURN (n.name)
✗ Translator doesn't generate make-graph operator
✗ Generated KQL is incomplete for execution
✗ Schema mapper not integrated with translator
Critical Next Steps
-
Fix translator to emit complete KQL:
IdentityInfo | make-graph AccountObjectId with_node_id=AccountObjectId | graph-match (n:User) | project n -
Fix parser to handle
RETURN n.name, n.age -
Integrate schema mapper with translator
Honest Assessment
Status: Simplified proof of concept
Completeness: Core translation works for simple queries
Usability: Needs critical fixes before practical use
Code Quality: Much better after removing over-engineering
File Count
- Python files: 55 (down from 80+)
- Lines of code: 18,000 (down from 31,000)
- Test files: ~20
- Focus: Translation only
See CURRENT_ARCHITECTURE.md for details.