Releases: rlippmann/context-compiler
Context Compiler 0.7.8
What's Changed
- test: add preprocessor drift fixtures by @rlippmann in #164
- docs: clarify state/preprocessor guidance for 0.7.8 by @rlippmann in #165
Full Changelog: v0.7.7...v0.7.8
Context Compiler 0.7.7
LiteLLM proxy example refresh.
- Added Ollama support for local testing
- Revalidated against LiteLLM 1.88.2
- Updated documentation and troubleshooting guidance
- Documented clarification handling behavior
v0.7.6 — Ollama Structured Output Example and Documentation Improvements
Added
- Ollama structured-output integration example demonstrating compiler-state-driven schema selection
- Tests covering schema selection behavior without requiring Ollama
Documentation
- Clarified the distinction between compiler state and host consumption of state
- Added FAQ: "Why not just use a plain dict?"
- Simplified README FAQ wording
v0.7.5
0.7.5
This patch release continues the 0.7 helper/constants cleanup with small consistency updates across user-facing integrations and examples.
Updated integrations/examples
-
Replaced remaining semantic decision literals with exported constants:
DECISION_UPDATEDECISION_CLARIFY
-
Updated synthetic trace examples to use exported decision constants consistently.
-
Continued migration of user-facing integration code toward:
is_update(...)is_clarify(...)is_passthrough(...)get_clarify_prompt(...)get_decision_state(...)
-
Continued migration of policy filtering examples toward:
POLICY_USEPOLICY_PROHIBIT
OpenWebUI integrations
- Updated embedded OpenWebUI integration code to align with the helper/constants style introduced in 0.7.4.
- Pipe manifest versions updated to
0.9.3.
Compatibility
No runtime semantics or wire-format contracts changed in this release.
Structured payload contracts remain unchanged, including:
DecisionState- checkpoint JSON wrappers
- controller result envelopes
- conformance fixtures
v0.7.4
Context Compiler 0.7.4
This patch release cleans up the public host-integration surface before TypeScript 0.7 parity locks.
Highlights
- Added public decision helper APIs for safer host branching:
is_update(...)is_clarify(...)is_passthrough(...)get_clarify_prompt(...)get_decision_state(...)
- Added public policy constants:
POLICY_USEPOLICY_PROHIBIT
- Updated README and example/integration host flows to prefer helper-style decision handling.
- Centralized canonical decision constants in
const.py. - Removed the legacy
context_compiler.decision_constantsmodule. - Updated OpenWebUI pipe metadata and requirements to align with
context-compiler>=0.7.4.
Contract Notes
- No change to dict/JSON wire contracts.
- State export/import, checkpoint payloads, and controller result envelopes remain dict-shaped and contract-compatible.
v0.7.3
What changed
This patch release hardens shared cross-language conformance coverage and clarifies contribution/documentation guidance.
Conformance hardening
- Added shared conformance fixtures for checkpoint JSON wrappers:
- export/import JSON wrapper behavior
- round-trip parity
- pending clarification restore/resolution checks
- invalid payload rejection and all-or-nothing behavior
- Added shared controller conformance fixtures for:
step(engine, user_input)preview(engine, user_input)(mutating and non-mutating paths)state_diff(state_before, state_after)
- Minimally expanded shared preprocessor
kind: "parse"fixtures for boundary behavior:- canonical directive acceptance
- no-directive abstain
- malformed/multiple/unknown rejection
- source-aware structured directive self-input acceptance
- Updated public API conformance fixture membership to include:
has_pending_clarification
Documentation and contributor guidance
- Added explicit
AGENTS.mdguidance to always use:- repository PR template
- repository issue templates (
bug_report,feature_request)
- Applied documentation wording updates across user-facing docs to prefer direct, concrete, active language.
Version
- Package version bumped to
0.7.3.
v0.7.2
v0.7.2
Summary
0.7.2 hardens OpenWebUI integration behavior so authoritative Context Compiler state is consistently respected in downstream chat turns, with expanded regression coverage and clearer preprocessor pipe naming.
What changed
- Fixed OpenWebUI passthrough-state handling in the base pipe and preprocessor pipe.
- Added regression tests for:
- passthrough with active authoritative state
- empty-state passthrough
- clarify with no downstream model call
- pending clarification continuity
- no duplicate compiler-state prompt injection
- trace consistency checks
- Updated preprocessor pipe display title to:
Context Compiler Pipe (Preprocessor)
Why
A manual integration audit identified a gap where active authoritative state was not reliably carried into downstream passthrough model context. This release fixes that integration-level correctness issue without changing core engine semantics.
Scope
- Integration-scoped hardening only
- No core directive grammar or engine contract changes
Validation
- Full test suite passes
- Pre-commit checks pass
- Live OpenWebUI smoke was run after updating loaded runtime function code
Known runtime caveat
If OpenWebUI is running with an older installed context-compiler package, passthrough traces may still show:
state injected: no
even when updated pipe code is loaded. That is a runtime package/helper mismatch, not pipe logic regression.
v0.7.1
What's changed
This release is a docs-focused 0.7.1 update plus version bump.
- Reframed project docs around a practical integration boundary: prompting helps, and apps still need explicit rules for when state changes.
- Simplified README language and examples to emphasize concrete host behavior.
- Tightened preprocessor guidance (mutation safety, validation before apply, and clear handling for passthrough/clarify/update).
- Simplified integration docs (Open WebUI, LiteLLM SDK, LiteLLM Proxy) to focus on what gets sent, what gets saved, and what the app should do next.
- Bumped package version from 0.7.0 to 0.7.1.
Notes
- No engine behavior changes in this release.
- No API contract changes in this release.
- This is a documentation and release metadata update.
v0.7.0
What's Changed
- feat: add pending clarification query and tighten checkpoint boundaries by @rlippmann in #134
- feat: add decision kind constants for host ergonomics by @rlippmann in #135
- feat: add controller preview foundation by @rlippmann in #136
- feat: add repl command layer by @rlippmann in #137
- feat: add repl json output mode by @rlippmann in #139
- feat: add repl preload state and checkpoint flags by @rlippmann in #140
- fix: return local ack for openwebui updates by @rlippmann in #141
- test: lock preprocessor boundary fixtures by @rlippmann in #142
- fix: harden fallback boundary validation by @rlippmann in #143
- refactor: align docs and integrations with 0.7 boundaries by @rlippmann in #144
- docs: require context-compiler 0.7.0 in openwebui examples by @rlippmann in #145
- refactor: move observability imports to package surface by @rlippmann in #146
- feat: add exact show state command to openwebui examples by @rlippmann in #147
- chore: finalize late-0.7 release cleanup by @rlippmann in #148
Full Changelog: v0.6.20...v0.7.0
v0.6.20
What's Changed
- refactor: rename precompile surface to preprocess by @rlippmann in #130
- docs: simplify onboarding and demo explanations by @rlippmann in #131
- docs: add design philosophy reference by @rlippmann in #132
- docs: add documentation style guidance by @rlippmann in #133
Full Changelog: v0.6.19...v0.6.20