-
Notifications
You must be signed in to change notification settings - Fork 156
feat(ai): add CASTS for GeaFlow reasoning ability #737
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
… Improved Decision Validation
…or structural signatures
…ss multiple files
…ality control Add native Gremlin simplePath() support to prevent pathological cycles in graph traversals. The implementation uses LLM-guided decision-making and AIMD confidence penalties rather than hard-coded restrictions, staying true to the system's learning philosophy. Key changes: - Add simplePath() step to Gremlin state machine for V, E, and P states - Implement per-request path history tracking in TraversalExecutor - Add cycle detection with configurable threshold and penalty modes - Enhance LLM Oracle prompts to recommend simplePath() for exploration goals - Add recent decision history context to improve LLM decision quality - Update configuration with CYCLE_PENALTY and CYCLE_DETECTION_THRESHOLD settings - Document design rationale and rejected alternatives in architecture.md - Add test case for simple path traversal validation
…ulations - Updated MetricsCollector to use Optional types for match_type, parent_node, parent_step_index, edge_label, sku_id, and decision parameters. - Enhanced EVALUATOR documentation to clarify evaluation phases and scoring mechanisms, including coverage rewards and penalties for cache misses. - Modified test cases in test_execution_lifecycle.py to align with new metrics structure and added tests for simple path execution. - Improved test coverage in test_gremlin_step_state_machine.py and test_lifecycle_integration.py to validate state transitions and integration with Gremlin state machine. - Refined threshold calculation tests to ensure monotonicity and boundary conditions. - Added dynamic execution environment constraints in documentation to clarify step legality in relation to current state and schema.
|
|
||
| @staticmethod | ||
| def get_state_and_options( | ||
| structural_signature: str, graph_schema: GraphSchema, node_id: str |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does graph_schema support dynamic modifications? The graph_schema is passed in each time the state machine is invoked, but there may be differences.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For backward compatibility, memory can be independent of a fixed schema, so we assume the schema is dynamic.
cbqiao
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
…ank line in visualizer.py for consistency
Summary
How was this PR tested?