Skip to content

Reorder roadmap: pull eval framework and MCP forward#11

Merged
johnnichev merged 1 commit intomainfrom
docs/roadmap-reorder
Mar 21, 2026
Merged

Reorder roadmap: pull eval framework and MCP forward#11
johnnichev merged 1 commit intomainfrom
docs/roadmap-reorder

Conversation

@johnnichev
Copy link
Copy Markdown
Owner

Summary

  • v0.17.1 Eval Framework — pulled from v0.19.0, unique differentiator no other framework ships built-in
  • v0.17.2 MCP Client/Server — split from v0.17.0, massive integration surface via tool interop standard
  • v0.18.0 Serve & Deploy — pulled from v0.19.0 (FastAPI, Flask, Playground, Templates, Trace Store)
  • v0.19.0 Connector Expansion — was v0.18.0 (loaders, vector stores, toolbox)
  • Removed duplicated section content from old Ecosystem Parity
  • Added NichevLabs branding to roadmap header

Test plan

  • Verify no duplicate sections or orphaned content
  • Verify implementation order matches new version numbers

- v0.17.1: Eval Framework (pulled from v0.19.0) — unique differentiator
- v0.17.2: MCP Client/Server (split from v0.17.0) — integration surface
- v0.18.0: Serve & Deploy (pulled from v0.19.0) — deployment story
- v0.19.0: Connector Expansion (was v0.18.0) — integration gap
- Add NichevLabs branding to roadmap header
- Remove duplicated content from old Ecosystem Parity section
@johnnichev johnnichev merged commit d548bc0 into main Mar 21, 2026
1 check passed
@johnnichev johnnichev deleted the docs/roadmap-reorder branch March 21, 2026 23:42
johnnichev added a commit that referenced this pull request Mar 24, 2026
Security:
- Path traversal in JsonFileSessionStore — validate session_id (#9)
- Unicode homoglyph bypass in injection screening — NFKD + zero-width
  strip + homoglyph map (#13)

Data integrity:
- FileKnowledgeStore._save_all() atomic write via tmp + os.replace (#10)
- JsonFileSessionStore.save() atomic write (#31)

Agent core:
- astream() uses self._effective_model (was self.config.model) (#1)
- Sync _check_policy rejects async confirm_action with clear error (#2)
- Sync _streaming_call isinstance(chunk, str) guard (#18)

Providers:
- FallbackProvider stream()/astream() record success after consumption,
  not before — circuit breaker now works for streaming (#3)
- Gemini response.text ValueError catch for tool-call-only responses (#4)

Tools:
- aexecute() uses run_in_executor(None) shared executor (#5)
- execute() awaits coroutines from async tools via asyncio.run (#6)

RAG:
- Hybrid search O(n²) → O(1) via text_to_key dict lookup (#7)
- SQLiteVectorStore thread safety + WAL mode (#8)

Evals:
- OutputEvaluator catches re.error on invalid regex (#11)
- JsonValidityEvaluator respects expect_json=False (#12)

16 new regression tests. Full suite: 2000 passed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant