v1.1.5 (2026-07-24)
Bug Fixes
-
backend: Reentrant-safe write-hook callbacks + write re-entrancy guard + filesystem state hygiene (#287,
1d2edc2) -
ci: Add required patterns field to dependabot.yml security-patches group (#273,
d36f36f) -
claude-plugin: Adapt synthesize.py walker to the namespaced lib/ (#262,
f94af42) -
claude-plugin: Apply ruff format to synthesize.py (#262,
f94af42) -
claude-plugin: Harden synthesize.py finalize against partial installs (#262,
f94af42) -
claude-plugin: Tag SKILL.md fenced blocks with language identifiers (#262,
f94af42) -
config: Add range and cross-field validation to uncertainty thresholds (#289,
c458bc2) -
config: Move EVOLVE_GUIDELINES_MODE and EVOLVE_DEBUG_DIR into pydantic BaseSettings (#289,
c458bc2) -
conflict-resolution: Preserve metadata and union generation_method on UPDATE (#289,
c458bc2) -
consistency: Align tool_calls validation with computed sample type (#289,
c458bc2) -
consistency: Avoid mutating field["name"] in compute_weighted_sum_consistency (#289,
c458bc2) -
consistency: Change > to >= in min_samples threshold check (#289,
c458bc2) -
consistency: Clamp cosine similarity to [0,1] and fix zero-sentinel bias (#289,
c458bc2) -
consistency: Correct stale analyze_consistency docstring return shape (#289,
c458bc2) -
consistency: Fix broken sentence-transformer model caching (#289,
c458bc2) -
consistency: Fix jaccard sign inversion and inert MIN_FRACTION check (#289,
c458bc2) -
consistency: Fix resampling loop early exit and remove dead CUGA branch (#289,
c458bc2) -
consistency: Guard aggregate_trajectory_uncertainty against -1 sentinel (#289,
c458bc2) -
consistency: Guard step["parsed_response"] access in single_step_consistency (#289,
c458bc2) -
consistency: Harden format_trajectory_data against four crash-inducing message shapes (#289,
c458bc2) -
consistency: Normalize NumericFractionConsistencyMetric distance to [0,1) (#289,
c458bc2) -
consistency: Port is_groq guard, unify clean_llm_response, cap format_trajectory_data (#289,
c458bc2) -
consistency: Preserve function name and raw args on JSON parse failure in format_trajectory_data (#289,
c458bc2) -
consistency: Remove pmi from aggregator docs — it raises at runtime (#289,
c458bc2) -
consistency: Remove unused debug_dir/trace_id params from _generate_guideline_result (#289,
c458bc2) -
consistency: Replace bare except with specific exception types (#289,
c458bc2) -
consistency: Skip unscorable steps in transform_trajectory_to_IR (#289,
c458bc2) -
cr: Carry metadata through UPDATE verdicts so plugin metadata survives (#287,
1d2edc2) -
debug: Guard all EVOLVE_DEBUG_DIR writes so a bad path can't kill the production path (#289,
c458bc2) -
deps: Declare numpy, pandas, pyyaml, scipy as explicit runtime deps (#289,
c458bc2) -
docs: Point repo card Stars link to repo home (#290,
21a01e0) -
experiments: Apply ruff format to skill_from_trajectory.py (#262,
f94af42) -
experiments: Silence mypy on sys.path-hack import (#262,
f94af42) -
guidelines: Correct stale docstring on _can_segment_trajectory (#289,
c458bc2) -
guidelines: Normalize "unknown" model sentinel to None before fallback (#289,
c458bc2) -
guidelines: Pass custom_llm_provider when resampling with fallback model (#289,
c458bc2) -
guidelines: Post-review fixes and test coverage for consistency pipeline (#289,
c458bc2) -
guidelines: Remove per-file ignores for now-resolved ruff violations (#289,
c458bc2) -
guidelines,conflict: Positional step numbering, model sentinel, conflict metadata (#289,
c458bc2) -
hooks: Enforce payload immutability in dispatch (#287,
1d2edc2) -
hooks: Fail-closed error propagation + PII can block (#287,
1d2edc2) -
hooks: Fire post_read on metadata patch; document immutability contract (#287,
1d2edc2) -
hooks: Propagate broken-cpex ImportError, fall back only for missing module (#287,
1d2edc2) -
hooks: Singleton lifecycle hygiene + defer cpex import (#287,
1d2edc2) -
hooks: Tolerate cpex-probe failures and name-less ImportError (#287,
1d2edc2) -
lint: Remove unused os import in consistency_guidelines.py (#289,
c458bc2) -
mcp: Add tools param to save_trajectory for correct consistency step naming (#289,
c458bc2) -
mcp: Split broad except in save_trajectory into per-pipeline guards with ERROR logging (#289,
c458bc2) -
mcp: Wrap guideline generation in try/except in save_trajectory (#289,
c458bc2) -
memory: Dedupe source_indices so support is not double-counted (#283,
c8167d6) -
memory: Validate retrieval config, make injection_mode live, address review (#288,
8aa3da0) -
packaging: Include *.yaml in package-data so agent_config.yaml ships in wheels (#289,
c458bc2) -
packaging: Remove no-op consistency extra — all deps are base transitive deps (#289,
c458bc2) -
resampling: Add retry, fix provider mismatch, validate n=samples in inference_utils (#289,
c458bc2) -
resampling: Raise EvolveException when provider returns fewer than 2 choices (#289,
c458bc2) -
retention: Cascade falsy-id guard, configurable missing-signal, scan_limit (#294,
976721a) -
retention: Mirror missing-signal knob into evolve-lite plugin (#294,
976721a) -
scripts: Capture output tool_calls completions in extract_trajectories (#289,
c458bc2) -
sync: Address CodeRabbit review — span_kind authoritative, no early return before indexed messages (#273,
d36f36f) -
sync: Cast span_kind comparison to bool to satisfy mypy (#273,
d36f36f) -
sync: Correct Phoenix span extraction for multi-span traces and tool-calling agents (#273,
d36f36f) -
sync: Correct representative-span selection, add missing test coverage (#273,
d36f36f) -
sync: Defer trajectory write until after guideline generation succeeds (#289,
c458bc2) -
sync: Fall back to nested content path for multi-content OpenInference messages (#273,
d36f36f) -
sync: Guard consistency pipeline in phoenix_sync so failures don't discard regular guidelines (#289,
c458bc2) -
sync: Per-side source selection eliminates message duplication (#273,
d36f36f) -
sync: Re-raise consistency failure in consistency-only mode (#289,
c458bc2) -
sync: Rename tool_calls to msg_tool_calls in non-indexed branches to fix mypy (#273,
d36f36f) -
sync: Resolve ruff formatting and mypy type errors (#273,
d36f36f) -
tests: Clear stale guidelines artifacts before smolagent MCP e2e test (#289,
c458bc2) -
tests: Fix _consistency_analyzer_available import path (#289,
c458bc2) -
tests: Use select() before readline() to respect timeout in sync loops (#289,
c458bc2) -
types: Remove redundant type annotation causing mypy no-redef error (#289,
c458bc2)
Documentation
-
demo: Update openai agents demo for altk_evolve rename (#289,
c458bc2) -
hooks: Add memory hooks guide and runnable example (#287,
1d2edc2) -
hooks: Document LLM-delete gap, singleton sharp edges, access-stamp read cost (#287,
1d2edc2) -
hooks: Known limitations, contracts; internal-read consolidation (#287,
1d2edc2) -
hooks: Note write hooks may patch metadata but must not re-invoke update_entities (#287,
1d2edc2) -
hooks: Reframe seam as engine-agnostic with CPEX as reference engine (#287,
1d2edc2) -
hooks: Replace LLM-delete limitation with unified delete semantics (#287,
1d2edc2) -
retention: Document missing-signal knob, scan_limit, first-match shadowing (#294,
976721a) -
retention: Fix sample output to match skip default (#294,
976721a) -
retention: Retention guide, CLI reference, example policy and demo (#294,
976721a)
Features
-
Add synthesize-skill skill for all platforms (#262,
f94af42) -
Pluggable memory hook seam for entity backends and LLM egress (#287,
1d2edc2) -
claude-plugin: Add synthesize-skill skill + experiment runner (#262,
f94af42) -
cli: Add --guidelines-mode flag to evolve sync phoenix (#289,
c458bc2) -
config: Make uncertainty thresholds and skip flag configurable via env (#289,
c458bc2) -
evolve-lite: Mirror retention into the plugin store (#294,
976721a) -
guidelines: Consistency guideline generation — vendored analyzer, guidelines_mode, auto-mcp support (#289,
c458bc2) -
guidelines: Consistency-based guideline generation (#289,
c458bc2) -
guidelines: Port consistency-based guideline generation (#289,
c458bc2) -
hooks: Add pluggable memory hook seam (CPEX-compatible) (#287,
1d2edc2) -
hooks: Engine-agnostic plugin contract + semantic-PII/secrets redaction (#275,
4e7dab7) -
hooks: Fire memory_pre_delete for conflict-resolution deletes (#287,
1d2edc2) -
hooks: Ship metadata normalizer, access stamp, and PII filter plugins (#287,
1d2edc2) -
memory: Dosage-aware guideline retrieval (core + top-k) (#288,
8aa3da0) -
memory: Support-conserving guideline consolidation (#283,
c8167d6) -
retention: Policy-driven data retention for entities (#275) (#294,
976721a) -
retention: Policy-driven retention engine, CLI and access signal (#294,
976721a) -
sync,cli: Add --consistency flag to phoenix sync (#289,
c458bc2)
Detailed Changes: v1.1.4...v1.1.5