Merge final-refactor: full framework refactor with MemoryAgent v2, research agents, 53 agents verified#6
Merged
Merged
Conversation
- langgraph.json with 45 graphs (27 agents + 18 games) - .env.example with LangSmith/provider config - Consolidated publish.yml (3-phase dependency-ordered PyPI publishing) - Updated .readthedocs.yaml for subpackage install order - 18 new individual game demos (demos/games/28-45) - Interactive Play tab in games UI - Updated submodule refs (haive-core, haive-agents, haive-games) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… remain) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
haive-agents (550 .py files, all clean): - 21/21 top-level modules import - 27/27 LangGraph graphs compile - 0 dead imports, 0 unused files - Deleted: ltm/, structured/, document/, supervisor/state/ dupes - Fixed 7+ __init__.py files importing from deleted examples Demos (25 agent + 23 game = 48 total): - Updated 23_memory.py (removed deleted ltm/memory_reorganized refs) - Added 46_chain_agent.py, 47_task_analysis.py, 48_discovery.py - All 48 demos pass Total cleanup this session: ~200K lines removed across 800+ files Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ROOT CAUSE: state_schema=None passed to StateGraph() which hangs in LangGraph 0.3.34. One-line fix: `or dict` fallback. BaseGraph now completes to_langgraph() properly (6.3s import time). RAG variants still need node output handling fix (LangGraph RunnableCallable wraps dict returns in Command(goto=None)). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Root cause: BaseGraph.to_langgraph() passed None to StateGraph() which hangs in LangGraph 0.3.34. One-line fix in haive-core. All raw StateGraph bypasses reverted: - MultiAgent uses BaseGraph again - Games MultiPlayerGameAgent uses DynamicGraph again - ToT uses DynamicGraph again - SimpleAgent.compile() falls through to base compile for BaseGraph - 27/27 graphs compile with proper BaseGraph Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- MemoryAgent Phase 2: memory tools + KG extraction + auto-summarize - Fixed base agent schema to use LLMState when tools present - Fixed tool_node serialization (state.dict() -> direct messages) - Fixed execution_mixin to inject engines into state - Fixed MultiAgent to pass engines to child agents - Added docker-compose.yml with PostgreSQL (pgvector) + Neo4j (APOC) - Added architecture docs for state schema engine gap Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Neo4j schema + Cypher query integration for memory KG - E2E demo: memory_agent_e2e.py (store + optional Neo4j) - Full pipeline: save → extract KG → recall → query Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- AGENT_DESIGN_PATTERNS.md — how to build agents around BaseGraph - MULTIAGENT_STATE_DESIGN.md — complex state schemas for multi-agent - CUSTOM_NODES_AND_GRAPHS.md — custom nodes, graph patterns, sub-graphs - MEMORY_AGENT_GUIDE.md — memory + KG integration guide - STATE_SCHEMA_NOTES.md — state flow research and bug fixes Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replaced 1495-line bloated CLAUDE.md with clean 127-line version: - Removed stale V3/V4 references, old examples, duplicate code - Points to new agent design guides in project_docs/guides/agent/ - Updated imports (SimpleAgent not V3, MultiAgent not V4) - Updated branch (final-refactor), version (5.0), date (2026-04-06) - Added state schema quick reference - Added docker-compose reference - Added trace utility reference Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Added back essential instructional content: - Python code style (type hints, early returns, naming) - Pydantic model patterns (ConfigDict, validators, no __init__) - Error handling (logging, no silent failures) - System vs Human message pattern - Testing standards (NO MOCKS, file organization) - Git safety protocol (submodule workflow, staging rules) - File organization (test mirrors, script dirs) - Docstring standard (Google-style) 411 lines (was 1495 bloated → 204 too lean → 411 with standards) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Added: MemoryAgent usage, store namespaces, store config (Postgres/InMemory), KG extraction, Neo4j integration, Cypher queries. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
30+ working, ~15 need import fix, 5 need rewrite. Tracks every agent module with status and fix priority. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Complex Extraction, TNT, ToT, Self-Discover, Storm are older pattern (haive.core.engine.agent), functional as-is. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- All 62 agents import successfully (55 core + 7 document modifiers) - Fixed chain/__init__.py and storm/__init__.py missing module imports - Discovery agent: no circular import (clean) - MultiAgent: parallel + dynamic add/remove/create verified - All conversation agents import OK - Comprehensive status doc: AGENT_STATUS_VERIFIED.md Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- 50_research_agent.py — 3-stage Perplexity-style - 51_deep_research.py — 5-stage deep research with shared RAG store Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Major framework refactor completing the
final-refactorbranch work. Depends on submodule PRs:Key Achievements
MemoryAgent v2 — Full memory pipeline
Research Agents — Multi-agent composition
Base Agent Fixes (unblocks everything)
53/53 Agents Verified
Infrastructure
docker-compose.ymlwith PostgreSQL (pgvector) + Neo4j (APOC)haive.agents.utils.trace.run_traced)Documentation
New Guides (
project_docs/guides/agent/)CLAUDE.md Rewrite
Architecture Docs
project_docs/active/architecture/state_schema_engine_gap.mdCLAUDE.mdfor haive-gamesDemos Added
demos/agents/50_research_agent.py— Perplexity-styledemos/agents/51_deep_research.py— 5-stage deep researchdemos/agents/memory_agent_e2e.py— Memory + KG + Neo4jTest Plan
Next Steps After Merge
🤖 Generated with Claude Code