Skip to content

Comments

feat: integrate structured output into core workflows#563

Merged
bug-ops merged 2 commits intomainfrom
feat/epic-549-structured-output
Feb 18, 2026
Merged

feat: integrate structured output into core workflows#563
bug-ops merged 2 commits intomainfrom
feat/epic-549-structured-output

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Feb 18, 2026

Summary

Integrates chat_typed/Extractor structured output (from M27) into three core workflows.

Closes #549, closes #551, closes #552, closes #553

Changes

  • crates/zeph-skills/src/evolution.rsSkillEvaluation struct + build_evaluation_prompt
  • crates/zeph-core/src/agent/learning.rs — evaluation step before call_improvement_llm
  • crates/zeph-llm/src/orchestrator/classifier.rsModelSelection struct
  • crates/zeph-llm/src/orchestrator/mod.rstry_llm_routing, with_llm_routing on ModelOrchestrator
  • crates/zeph-memory/src/semantic.rsStructuredSummary, store_key_facts, search_key_facts
  • crates/zeph-memory/Cargo.toml — added schemars dependency

Test plan

  • 1790 tests pass, 0 failures
  • fmt, clippy clean
  • All structured output paths have plain-text fallbacks
  • MockProvider-based unit tests for each new struct

@github-actions github-actions bot added llm LLM provider related skills SKILL.md system memory Persistence and memory rust core dependencies enhancement New feature or request size/L labels Feb 18, 2026
@bug-ops bug-ops force-pushed the feat/epic-549-structured-output branch 2 times, most recently from bd269de to e59516e Compare February 18, 2026 23:10
@github-actions github-actions bot added size/XL and removed size/L labels Feb 18, 2026
Add chat_typed/Extractor-based structured output to three subsystems:

- Model selection (#551): ModelSelection struct in orchestrator with
  opt-in LLM-assisted routing and rule-based fallback
- Structured summarization (#552): StructuredSummary with key_facts
  stored as individual Qdrant points for granular retrieval
- Self-learning evaluation (#553): SkillEvaluation gate before
  skill improvement to avoid unnecessary LLM calls
Cover all untested paths from epic #549:

- try_llm_routing with llm_routing enabled (valid/unknown/error paths)
- summarize chat_typed fallback to plain text
- SkillEvaluation gate (should_improve false/true/parse error)
- check_improvement_allowed (cooldown, min_failures, threshold)
- attempt_self_reflection early returns
- ModelSelection/SkillEvaluation deserialization edge cases
- proptest for classify, estimate_tokens, chrono_parse, build_evaluation_prompt
@bug-ops bug-ops force-pushed the feat/epic-549-structured-output branch from e59516e to 97648d3 Compare February 18, 2026 23:14
@bug-ops bug-ops enabled auto-merge (squash) February 18, 2026 23:15
@bug-ops bug-ops merged commit 2024e1c into main Feb 18, 2026
20 checks passed
@bug-ops bug-ops deleted the feat/epic-549-structured-output branch February 18, 2026 23:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core dependencies enhancement New feature or request llm LLM provider related memory Persistence and memory rust size/XL skills SKILL.md system

Projects

None yet

1 participant