Skip to content

Releases: rlippmann/context-compiler

v0.7.10 - Mark package as typed

14 Jun 06:00
Immutable release. Only release title and notes can be modified.
617054e

Choose a tag to compare

What changed

  • Added a py.typed marker to the context_compiler package.
  • Updated wheel packaging so the marker is included in published distributions.

Why

Projects that install context-compiler and run static type checkers such as mypy should be able to recognize the package as typed.

Without the marker, downstream users may see import warnings such as:

  • module is installed, but missing library stubs or py.typed marker

This release updates the published package metadata to follow PEP 561 expectations for typed Python packages.

Compatibility

This release does not change engine behavior, state semantics, checkpoint handling, directives, or public APIs.

The change only affects package typing metadata.

v0.7.9 — Authority-Layer Documentation Refresh and LiteLLM response_format Example

03 Jun 08:13
Immutable release. Only release title and notes can be modified.
caf3768

Choose a tag to compare

This patch release focuses on documentation clarity, API ergonomics, and integration examples.

Highlights

  • Reframed documentation around Context Compiler as a deterministic conversational state authority.
  • Added architecture documentation covering:
    • Acquisition
    • Authority
    • Application
    • Classification
    • Composition
  • Reordered README, demos, and examples to surface authority-oriented workflows earlier.
  • Added controller helper accessors for common preview and step result operations.
  • Updated examples and REPL usage to use the new helpers.
  • Added a LiteLLM response_format integration example demonstrating application-layer request shaping from Context Compiler state.
  • Added tests and public API fixture updates for the new helper accessors.

Validation

  • 685 tests passing.
  • LiteLLM response_format example validated end-to-end with LiteLLM + Ollama using:
    • qwen2.5:1.5b-instruct
    • qwen2.5:7b-instruct

No engine semantics were changed in this release.

Context Compiler 0.7.8

31 May 08:37
Immutable release. Only release title and notes can be modified.
43d40cd

Choose a tag to compare

What's Changed

Full Changelog: v0.7.7...v0.7.8

Context Compiler 0.7.7

30 May 07:51
Immutable release. Only release title and notes can be modified.
c12d1b0

Choose a tag to compare

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

29 May 05:00
Immutable release. Only release title and notes can be modified.
61bc3ab

Choose a tag to compare

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

28 May 05:05
Immutable release. Only release title and notes can be modified.
6ca2ad7

Choose a tag to compare

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_UPDATE
    • DECISION_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_USE
    • POLICY_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:

  • Decision
  • State
  • checkpoint JSON wrappers
  • controller result envelopes
  • conformance fixtures

v0.7.4

27 May 21:35
Immutable release. Only release title and notes can be modified.
a093acc

Choose a tag to compare

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_USE
    • POLICY_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_constants module.
  • 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

27 May 06:18
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

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.md guidance 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

26 May 08:32
Immutable release. Only release title and notes can be modified.
57b3566

Choose a tag to compare

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

26 May 05:40
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

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.