Repository navigation
Tracking: Migrate Agent layer to OpenAI Agents SDK #71
Description
Motivation
QuantMind invested ~3 months building a smolagents-derived Agent runtime in PRs #61, #65, and #67 (~1900 lines of brain/ + tools/ + supporting modules). We now believe this was a wrong direction:
- Agent runtime is a commodity in 2026. OpenAI Agents SDK, smolagents, LangGraph, etc. compete on the same surface. Maintaining our own gives QuantMind no differentiation.
- It consumes engineering time that should go into financial-domain work (data schemas, e2e pipelines, research-friendly memory patterns).
This issue tracks the migration to OpenAI Agents SDK as the underlying agent runtime, with QuantMind repositioning as a domain library on top.
Architecture update (2026-07-15): Durable canonical collections and semantic indexing belong to the top-level
quantmind/library/package tracked in #111.mind/owns cognition, tools, working memory, and later tree navigation; it may consumelibrarybut does not own persistence or index lifecycle. This supersedes the vagueKnowledgeStoreplacement in the original roadmap below.
Target Architecture
quantmind/
├── flows/ # e2e processing pipelines (paper_flow, news_flow, ...)
├── knowledge/ # Pydantic-based knowledge schema standard (Paper, News, ...)
├── library/ # canonical collections + derived semantic index (#111)
├── preprocess/ # fetch (arxiv/http/doi/local) + format (pdf/html/markdown)
├── mind/ # cognition, tools, working memory, tree navigation; no persistence
├── configs/ # centralized BaseFlowCfg + per-flow cfg + input types
├── magic.py # resolve_magic_input: natural language → (input, cfg)
└── utils/ # logger only
Key principle: QuantMind does NOT rebuild Agent runtime, lifecycle hooks, tracing, multi-agent handoff, or tool framework. Those come from openai-agents.
Roadmap
- PR1 (refactor: remove self-built agent runtime (PR1 of OpenAI Agents SDK migration) #70): Clean removal of self-built agent runtime
- PR2:
knowledge/+configs/skeleton (Pydantic schemas + centralized cfg) - PR3:
preprocess/two-layer structure (fetch + format) - PR4:
flows/+paper_flow+batch_run+magic.py; concurrent removal offlow/andllm/ - PR5:
mind/memory/filesystemMVP + trajectory archive - PR6+: Semantic library (feat(library): local semantic knowledge library MVP #111), paper-search integration (feat(example): paper extraction to semantic knowledge search #112), PageIndex navigation (feat: page-preserving TreeKnowledge build + agentic navigation #95), additional sources, and observability cookbook
Archive
The pre-pivot agent runtime is preserved as a snapshot on the archive/agent-runtime-final branch on origin for historical reference. It will not be merged back to master.
References
- OpenAI Agents SDK docs: https://openai.github.io/openai-agents-python/
- Lifecycle / RunHooks: https://openai.github.io/openai-agents-python/ref/lifecycle/
- MCP integration (filesystem server): https://openai.github.io/openai-agents-python/mcp/
- Tracing: https://openai.github.io/openai-agents-python/tracing/
- SDK announcement: https://openai.com/index/the-next-evolution-of-the-agents-sdk/
Activity
ci: restore pre-commit workflow as orthogonal safety net
docs(design): address review — artifact identity, integrity, runtime …
docs(design): simplify per Occam review — cut unnecessary entities
docs(design): factor a shared NavigationTree base for multi-doc reuse
docs(design): add Mermaid class + flow diagrams to navigation design
docs(design): rename NavigationTree -> StructureTree
docs(design): rename operation navigate() -> retrieve(); mind/navigat…
docs(design): page-preserving structure tree and reasoning-based retr…
feat(utils): collect per-run token/time/step usage from SDK traces (#130