-
Notifications
You must be signed in to change notification settings - Fork 164
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
Add spec aided by claude code #966
Conversation
- Integration tests: `yarn test:int` (start deps: `yarn test:int:deps`, stop: `yarn test:int:deps:down`) | ||
|
||
## Code Style Guidelines | ||
- **TypeScript**: Target ES2021, NodeNext modules, strict typing enabled |
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.
not correct atm - would be nice if it were, though
|
||
## Code Style Guidelines | ||
- **TypeScript**: Target ES2021, NodeNext modules, strict typing enabled | ||
- **Formatting**: 2-space indentation, 80 char width, double quotes, semicolons required |
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.
probably good if it tries to keep to 80 or 120 char width, but we don't enforce this
- **Channels Layer**: Base communication & state management (BaseChannel, LastValue, Topic) | ||
- **Checkpointer Layer**: Persistence and state serialization across backends | ||
- **Pregel Layer**: Message passing execution engine with superstep-based computation | ||
- **Graph Layer**: High-level APIs for workflow definition (Graph, StateGraph) |
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.
missing functional API
* Communication Model: | ||
* - Nodes NEVER communicate directly with each other | ||
* - All communication is mediated through Channels | ||
* - Nodes subscribe to Channels to receive data | ||
* - Nodes write to Channels to share data | ||
* - Channels can customize how values are accumulated (last value, append to list, etc.) |
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.
Worth mentioning values here? it's kind of mentioned in the last point, but not explicitly
* Key Classes: | ||
* - Graph: Base graph class for defining workflow structure | ||
* - StateGraph: Specialized graph for stateful workflows | ||
* - CompiledGraph (extends Pregel): Runtime representation of a graph | ||
* - Annotation: Type specification for graph state | ||
* - Branch: Handles conditional routing between nodes | ||
* | ||
* Core Functionality: | ||
* - Graph Construction: Define nodes, edges, and execution flow | ||
* - State Definition: Specify and validate state schemas | ||
* - Compilation: Transform graph definitions into executable Pregel instances | ||
* - Visualization: Generate visualizations of graph structure |
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.
Might be hard to define here, but it'd be nice if there was some (even terse) statements that said how each of these map to the pregel model
Fixes # (issue)