Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
06dbbbc
feat: bump arrow 57, datafusion 51, lance 2
claude Mar 3, 2026
730754a
feat(graph): add SPO triple store with bitmap ANN, TruthGate, semirin…
claude Mar 4, 2026
cac5907
wip: blasgraph semiring algebra — types, descriptor, mod (agent writi…
claude Mar 13, 2026
447b775
feat(graph): add BlasGraph semiring algebra + SPO redisgraph parity t…
claude Mar 13, 2026
cff0a57
fix: resolve CI blockers — deltalake 0.30, cargo fmt, workspace exclude
claude Mar 13, 2026
36f209c
Merge pull request #5 from AdaWorldAPI/claude/setup-adaworld-repos-4kPEX
AdaWorldAPI Mar 13, 2026
212c332
fix: restore lance-graph-python to workspace members, bump pyo3 0.25→…
claude Mar 13, 2026
27325a3
ci: add clippy and compile checks for lance-graph-python
claude Mar 13, 2026
7cb77d0
docs: add comprehensive PR description for upstream review
claude Mar 13, 2026
c41fd71
Merge pull request #7 from AdaWorldAPI/claude/setup-adaworld-repos-4kPEX
AdaWorldAPI Mar 13, 2026
5d586d9
Add fix instruction: rebuild SPO on 16K BitVec with tiered SIMD. One …
AdaWorldAPI Mar 13, 2026
d8777df
Update fix: COPY SIMD from rustynum, don't hand-roll. 300 lines of pr…
AdaWorldAPI Mar 13, 2026
5c2d510
Add Belichtungsmesser spec for upstream contribution
AdaWorldAPI Mar 13, 2026
bb6fc06
Update Belichtungsmesser: add 4-tier SIMD dispatch (AVX-512/AVX2/NEON…
AdaWorldAPI Mar 13, 2026
d61a3df
fix: semirings produce Vector not Float, SSSP uses u32 path costs, de…
claude Mar 13, 2026
64750c9
test: add three HDR proof tests visible in CI on every push
claude Mar 13, 2026
2f34f92
feat: add Belichtungsmesser HDR popcount-stacking early-exit cascade
claude Mar 13, 2026
ad56311
fix: revert cascade to design doc thresholds (bands not sampling-adju…
claude Mar 14, 2026
3e87e3e
feat: cascade thresholds at half-sigma intervals with warmup
claude Mar 14, 2026
d4235e6
feat: expand cascade to 8 quarter-sigma levels, test warmup→shift
claude Mar 14, 2026
a72e1ea
fix: show expected vs actual rejection rates in cascade sweep
claude Mar 14, 2026
2d07da4
Merge pull request #8 from AdaWorldAPI/claude/setup-adaworld-repos-4kPEX
AdaWorldAPI Mar 14, 2026
45854ed
feat: integrate ReservoirSample + rename Belichtungsmesser → LightMeter
claude Mar 14, 2026
ac1a52e
Merge pull request #9 from AdaWorldAPI/claude/setup-adaworld-repos-4kPEX
AdaWorldAPI Mar 14, 2026
83340cc
Add unified rename + cross-pollination prompt: simd files, hdr::Casca…
AdaWorldAPI Mar 14, 2026
cad02a3
Add SESSION_B_HDR_RENAME.md
AdaWorldAPI Mar 14, 2026
01e9193
rename LightMeter → hdr::Cascade (SESSION_B_HDR_RENAME)
claude Mar 14, 2026
d674570
Merge pull request #10 from AdaWorldAPI/claude/setup-adaworld-repos-4…
AdaWorldAPI Mar 14, 2026
0c2496c
fix: resolve all clippy warnings (-D warnings clean)
claude Mar 14, 2026
ec167b3
Add Session D: gamma/cushion lens correction + self-organizing bounda…
AdaWorldAPI Mar 14, 2026
d1b2f2e
Merge pull request #11 from AdaWorldAPI/claude/setup-adaworld-repos-4…
AdaWorldAPI Mar 14, 2026
055dae5
10 epiphanies: 5:2 semiring split, BF16 cache, tropical HammingMin, d…
AdaWorldAPI Mar 15, 2026
0a30804
6 research threads: DreamerV3 binary RL, GEMM panel packing for casca…
AdaWorldAPI Mar 15, 2026
ff99639
Add INVENTORY_MAP.md — integration plan with full inventory
AdaWorldAPI Mar 15, 2026
5f898cf
Add INTEGRATION_SESSIONS.md — integration plan with full inventory
AdaWorldAPI Mar 15, 2026
9933f03
Add RESEARCH_REFERENCE.md — integration plan with full inventory
AdaWorldAPI Mar 15, 2026
ff0c7f3
10 overlooked threads: multi-index hashing, tropical NARS revision, c…
AdaWorldAPI Mar 15, 2026
f612b56
Deep exploration: RDF-3X RISC design, Hexastore merge joins, Bellman-…
AdaWorldAPI Mar 15, 2026
7fa6f20
Session prompt: crosscheck FalkorDB-rs-next-gen → connect dots to lan…
AdaWorldAPI Mar 15, 2026
8c5662d
Session prompt: inventory original lance ecosystem — S3, versioning, …
AdaWorldAPI Mar 15, 2026
4c0f04f
Session: LangGraph orchestration for Layer 4 — graph-flow + PlaneCont…
AdaWorldAPI Mar 15, 2026
6fa4e43
VISION: zero-copy orchestrated thinking — LangGraph + Lance + Planes …
AdaWorldAPI Mar 15, 2026
e4610ee
GPU+CPU split: tensor cores for NARS revision, BNN forward, tropical …
AdaWorldAPI Mar 15, 2026
29df731
FINAL: three repos, five import surfaces — LangGraph+CrewAI+OpenClaw+…
AdaWorldAPI Mar 15, 2026
d9df43b
Session J: PackedDatabase — panel packing for cascade, Lance columnar…
AdaWorldAPI Mar 15, 2026
6399983
initial
claude Mar 16, 2026
229db76
feat: wire lance-graph → ndarray bridge, hamming UDF, FalkorDB analysis
claude Mar 16, 2026
270b703
feat: VersionedGraph with lance versioning, cost estimation, predicat…
claude Mar 16, 2026
d7b07bd
Merge pull request #12 from AdaWorldAPI/claude/lance-graph-falkordb-i…
AdaWorldAPI Mar 16, 2026
ff9a6af
docs: add transcode inventory — Python LangGraph → Rust mapping
claude Mar 16, 2026
251bcb7
Merge pull request #13 from AdaWorldAPI/claude/rust-langgraph-agents-…
AdaWorldAPI Mar 16, 2026
4f16d59
feat(graph): add cold-path MetadataStore for nodes/edges with Cypher …
claude Mar 16, 2026
5345976
Merge pull request #14 from AdaWorldAPI/claude/rust-langgraph-agents-…
AdaWorldAPI Mar 17, 2026
a2dca87
docs: add hot/cold path architecture and documentation drift audit
claude Mar 17, 2026
5ccd0a8
Merge pull request #15 from AdaWorldAPI/claude/document-metadata-sche…
AdaWorldAPI Mar 18, 2026
0c10d91
feat(blasgraph): add ZeckF64 neighborhood search — Heel/Hip/Twig/Leaf…
claude Mar 18, 2026
91d2cba
feat(graph): add ZeckF64 neighborhood vector search (Heel/Hip/Twig/Leaf)
claude Mar 18, 2026
a560148
Merge pull request #16 from AdaWorldAPI/claude/continue-session-0mAVa
AdaWorldAPI Mar 18, 2026
5a28fb3
Merge pull request #17 from AdaWorldAPI/claude/complete-ndarray-libra…
AdaWorldAPI Mar 18, 2026
569a9ad
feat(neighborhood): consolidate blasgraph modules into neighborhood/
claude Mar 18, 2026
9e40d2b
Merge pull request #18 from AdaWorldAPI/claude/complete-ndarray-libra…
AdaWorldAPI Mar 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
637 changes: 637 additions & 0 deletions .claude/BELICHTUNGSMESSER.md

Large diffs are not rendered by default.

429 changes: 429 additions & 0 deletions .claude/BF16_SEMIRING_EPIPHANIES.md

Large diffs are not rendered by default.

639 changes: 639 additions & 0 deletions .claude/DEEP_ADJACENT_EXPLORATION.md

Large diffs are not rendered by default.

621 changes: 621 additions & 0 deletions .claude/FALKORDB_ANALYSIS.md

Large diffs are not rendered by default.

415 changes: 415 additions & 0 deletions .claude/FINAL_STACK.md

Large diffs are not rendered by default.

477 changes: 477 additions & 0 deletions .claude/FIX_BLASGRAPH_SPO.md

Large diffs are not rendered by default.

705 changes: 705 additions & 0 deletions .claude/GPU_CPU_SPLIT_ARCHITECTURE.md

Large diffs are not rendered by default.

467 changes: 467 additions & 0 deletions .claude/INTEGRATION_SESSIONS.md

Large diffs are not rendered by default.

437 changes: 437 additions & 0 deletions .claude/INVENTORY_MAP.md

Large diffs are not rendered by default.

253 changes: 253 additions & 0 deletions .claude/LANGGRAPH_CRATE_STRUCTURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,253 @@
# Recommended Crate Structure

> How the Rust crates should map to Python LangGraph's package structure.

---

## Python LangGraph Package Layout

```
langgraph (pip install langgraph)
├── langgraph.graph # StateGraph, MessageGraph
├── langgraph.pregel # Core execution engine (Pregel)
├── langgraph.channels # State channels
├── langgraph.managed # Managed values
├── langgraph.func # Functional API (@task, @entrypoint)
├── langgraph.types # Shared types (Command, Send, Interrupt, etc.)
├── langgraph.constants # START, END
├── langgraph.errors # Error types
├── langgraph.config # Config utilities
├── langgraph.runtime # Runtime context
├── langgraph._internal # Private implementation details

langgraph-prebuilt (pip install langgraph-prebuilt)
├── langgraph.prebuilt.chat_agent_executor # create_react_agent
├── langgraph.prebuilt.tool_node # ToolNode, tools_condition
├── langgraph.prebuilt.tool_validator # ValidationNode
├── langgraph.prebuilt.interrupt # HumanInterrupt types

langgraph-checkpoint (pip install langgraph-checkpoint)
├── langgraph.checkpoint.base # BaseCheckpointSaver, Checkpoint
├── langgraph.checkpoint.memory # MemorySaver
├── langgraph.checkpoint.serde # Serialization (jsonplus, msgpack)
├── langgraph.store.base # BaseStore, Item
├── langgraph.store.memory # InMemoryStore
├── langgraph.cache # BaseCache, InMemoryCache

langgraph-checkpoint-postgres
├── langgraph.checkpoint.postgres # PostgresSaver
├── langgraph.store.postgres # PostgresStore

langgraph-checkpoint-sqlite
├── langgraph.checkpoint.sqlite # SqliteSaver
├── langgraph.store.sqlite # SqliteStore
```

---

## Current Rust Crate Layout

```
rs-graph-llm/
├── graph-flow/ # Core framework (≈ langgraph + langgraph-prebuilt)
│ ├── src/
│ │ ├── lib.rs # Re-exports
│ │ ├── graph.rs # Graph, GraphBuilder, edges
│ │ ├── task.rs # Task trait, NextAction, TaskResult
│ │ ├── context.rs # Context, ChatHistory
│ │ ├── error.rs # GraphError
│ │ ├── storage.rs # Session, SessionStorage trait, InMemory
│ │ ├── runner.rs # FlowRunner
│ │ ├── streaming.rs # StreamingRunner, StreamChunk, StreamMode
│ │ ├── compat.rs # StateGraph, START/END, Command
│ │ ├── subgraph.rs # SubgraphTask
│ │ ├── fanout.rs # FanOutTask (≈ Send)
│ │ ├── typed_context.rs # TypedContext<S>
│ │ ├── channels.rs # Channels, ChannelReducer
│ │ ├── retry.rs # RetryPolicy, BackoffStrategy
│ │ ├── run_config.rs # RunConfig, BreakpointConfig
│ │ ├── tool_result.rs # ToolResult
│ │ ├── react_agent.rs # create_react_agent()
│ │ ├── task_registry.rs # TaskRegistry
│ │ ├── thinking.rs # Thinking graph (custom)
│ │ ├── mcp_tool.rs # MCP tool integration (custom)
│ │ ├── lance_storage.rs # LanceSessionStorage
│ │ ├── storage_postgres.rs # PostgresSessionStorage
│ │ └── agents/
│ │ ├── agent_card.rs # AgentCard YAML
│ │ └── langgraph_import.rs # JSON import
│ └── Cargo.toml
├── graph-flow-server/ # HTTP API (≈ langgraph-api)
│ ├── src/lib.rs
│ └── Cargo.toml
├── examples/ # Example applications
├── insurance-claims-service/ # Full example app
├── recommendation-service/ # Full example app
└── medical-document-service/ # Full example app
```

---

## Recommended Rust Crate Layout (Target)

```
rs-graph-llm/
├── graph-flow/ # Core engine (≈ langgraph core)
│ ├── src/
│ │ ├── lib.rs
│ │ │
│ │ ├── # ─── Graph Construction ───
│ │ ├── graph.rs # Graph, GraphBuilder, Edge, ConditionalEdgeSet
│ │ ├── compat.rs # StateGraph, START/END, Command, RoutingDecision
│ │ │
│ │ ├── # ─── Task System ───
│ │ ├── task.rs # Task trait, NextAction, TaskResult
│ │ ├── subgraph.rs # SubgraphTask
│ │ ├── fanout.rs # FanOutTask (≈ Send)
│ │ │
│ │ ├── # ─── State Management ───
│ │ ├── context.rs # Context, ChatHistory, MessageRole
│ │ ├── typed_context.rs # TypedContext<S>, State trait
│ │ ├── channels.rs # Channels, ChannelReducer, ChannelConfig
│ │ │
│ │ ├── # ─── Execution Engine ───
│ │ ├── runner.rs # FlowRunner (run, run_batch, run_with_config)
│ │ ├── streaming.rs # StreamingRunner, StreamChunk, StreamMode
│ │ ├── run_config.rs # RunConfig, BreakpointConfig
│ │ ├── retry.rs # RetryPolicy, BackoffStrategy
│ │ │
│ │ ├── # ─── Storage / Checkpointing ───
│ │ ├── storage.rs # Session, SessionStorage, InMemorySessionStorage
│ │ ├── storage_postgres.rs # PostgresSessionStorage
│ │ ├── lance_storage.rs # LanceSessionStorage (time-travel)
│ │ │
│ │ ├── # ─── Store (NEW — Long-term Memory) ───
│ │ ├── store/ # NEW module
│ │ │ ├── mod.rs # BaseStore trait, Item, SearchItem
│ │ │ ├── memory.rs # InMemoryStore
│ │ │ └── lance.rs # LanceStore (backed by lance-graph)
│ │ │
│ │ ├── # ─── Errors ───
│ │ ├── error.rs # GraphError, Result
│ │ │
│ │ ├── # ─── Prebuilt Components ───
│ │ ├── prebuilt/ # NEW submodule (was flat files)
│ │ │ ├── mod.rs
│ │ │ ├── react_agent.rs # create_react_agent() (moved from react_agent.rs)
│ │ │ ├── tool_node.rs # ToolNode, tools_condition (NEW)
│ │ │ ├── interrupt.rs # HumanInterrupt types (NEW)
│ │ │ └── validation.rs # ValidationNode (NEW)
│ │ │
│ │ ├── # ─── Tool System ───
│ │ ├── tool_result.rs # ToolResult
│ │ ├── mcp_tool.rs # McpToolTask, MockMcpToolTask
│ │ │
│ │ ├── # ─── Agent Cards ───
│ │ ├── agents/
│ │ │ ├── agent_card.rs # AgentCard, compile_agent_card
│ │ │ └── langgraph_import.rs # LangGraph JSON import
│ │ ├── task_registry.rs # TaskRegistry
│ │ │
│ │ └── # ─── Custom (Our Additions) ───
│ │ └── thinking.rs # Thinking graph
│ │
│ └── Cargo.toml
├── graph-flow-server/ # HTTP API server (≈ langgraph-api)
│ ├── src/
│ │ ├── lib.rs # Router, endpoints
│ │ ├── sse.rs # SSE streaming endpoint (NEW)
│ │ └── middleware.rs # Auth, CORS, logging (NEW)
│ └── Cargo.toml
├── graph-flow-macros/ # Proc macros (NEW — ≈ langgraph.func)
│ ├── src/lib.rs # #[task], #[entrypoint] macros
│ └── Cargo.toml
├── examples/
├── insurance-claims-service/
├── recommendation-service/
└── medical-document-service/
```

---

## Mapping: Python Package → Rust Crate

| Python Package | Rust Crate | Status |
|---------------|-----------|--------|
| `langgraph` (core) | `graph-flow` | EXISTS |
| `langgraph-prebuilt` | `graph-flow` (prebuilt/ submodule) | PARTIAL |
| `langgraph-checkpoint` (base) | `graph-flow` (storage.rs) | EXISTS |
| `langgraph-checkpoint-postgres` | `graph-flow` (storage_postgres.rs, feature-gated) | EXISTS |
| `langgraph-checkpoint-sqlite` | Not planned (Postgres + Lance sufficient) | SKIP |
| `langgraph.store` | `graph-flow` (store/ submodule) | NEW |
| `langgraph-api` / `langgraph-cli` | `graph-flow-server` | EXISTS |
| `langgraph.func` (@task/@entrypoint) | `graph-flow-macros` | NEW |

---

## Mapping: Python Module → Rust Module

| Python Module | Rust Module | File |
|--------------|------------|------|
| `langgraph.graph.state.StateGraph` | `compat::StateGraph` | `compat.rs` |
| `langgraph.graph.state.CompiledStateGraph` | `graph::Graph` | `graph.rs` |
| `langgraph.graph.message` | `context::ChatHistory` | `context.rs` |
| `langgraph.graph._branch` | `graph::ConditionalEdgeSet` | `graph.rs` |
| `langgraph.pregel.main.Pregel` | `graph::Graph` + `runner::FlowRunner` | `graph.rs` + `runner.rs` |
| `langgraph.pregel.main.NodeBuilder` | `graph::GraphBuilder` | `graph.rs` |
| `langgraph.pregel.protocol` | `task::Task` trait | `task.rs` |
| `langgraph.pregel.remote.RemoteGraph` | `graph-flow-server` (server side) | `lib.rs` |
| `langgraph.channels.*` | `channels::*` | `channels.rs` |
| `langgraph.types.Command` | `compat::Command` | `compat.rs` |
| `langgraph.types.Send` | `fanout::FanOutTask` | `fanout.rs` |
| `langgraph.types.RetryPolicy` | `retry::RetryPolicy` | `retry.rs` |
| `langgraph.types.StreamMode` | `streaming::StreamMode` | `streaming.rs` |
| `langgraph.types.Interrupt` | `task::NextAction::WaitForInput` | `task.rs` |
| `langgraph.errors.*` | `error::GraphError` | `error.rs` |
| `langgraph.checkpoint.base` | `storage::SessionStorage` | `storage.rs` |
| `langgraph.checkpoint.memory` | `storage::InMemorySessionStorage` | `storage.rs` |
| `langgraph.checkpoint.postgres` | `storage_postgres::PostgresSessionStorage` | `storage_postgres.rs` |
| `langgraph.store.base` | `store::BaseStore` (NEW) | `store/mod.rs` |
| `langgraph.store.memory` | `store::InMemoryStore` (NEW) | `store/memory.rs` |
| `langgraph.prebuilt.chat_agent_executor` | `prebuilt::react_agent` | `react_agent.rs` |
| `langgraph.prebuilt.tool_node` | `prebuilt::tool_node` (NEW) | `prebuilt/tool_node.rs` |
| `langgraph.prebuilt.interrupt` | `prebuilt::interrupt` (NEW) | `prebuilt/interrupt.rs` |
| `langgraph.func.task` | `graph-flow-macros` `#[task]` (NEW) | `macros/src/lib.rs` |
| `langgraph.func.entrypoint` | `graph-flow-macros` `#[entrypoint]` (NEW) | `macros/src/lib.rs` |
| `langgraph.runtime` | TBD | — |

---

## Feature Flags

```toml
[features]
default = ["memory"]
memory = [] # InMemorySessionStorage, InMemoryStore
postgres = ["sqlx"] # PostgresSessionStorage
lance = ["lance"] # LanceSessionStorage, LanceStore
mcp = ["rmcp"] # McpToolTask
rig = ["rig-core"] # Rig LLM integration
macros = ["graph-flow-macros"] # #[task], #[entrypoint] proc macros
server = ["axum", "tower"] # HTTP server components
```

---

## Key Architectural Differences from Python

1. **No Runnable abstraction**: Python LangGraph builds on LangChain's `Runnable` protocol. Rust uses the `Task` trait directly — simpler and more performant.

2. **No channel-per-field model**: Python LangGraph creates one channel per state field. Rust uses `Context` (DashMap) for most cases, with explicit `Channels` for reducer semantics when needed.

3. **No Pregel superstep model**: Python uses a Pregel-inspired superstep execution where all triggered nodes run per step. Rust uses sequential task execution with explicit edges — simpler but less parallel.

4. **Session = Checkpoint**: Python separates Checkpoint (state) from Thread (session). Rust combines them into `Session` with context + position.

5. **Async-native**: Python has sync + async variants for everything. Rust is async-native — no sync wrappers needed (use `tokio::runtime::Runtime::block_on()` for sync callers).

6. **Storage integration**: Python has separate checkpoint + store packages. Rust integrates both into `graph-flow` with feature flags, and lance-graph provides the vector search backend directly.
Loading