Skip to content

Releases: rlippmann/context-compiler

v0.6.19

13 May 04:59
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

Release Summary

v0.6.19 completes terminology cleanup for the experimental preprocessor surface ahead of TypeScript porting. This release removes legacy precompiler/precompile naming from current public surfaces and establishes a single preprocessor/preprocess vocabulary.

What Changed

1) Public naming cleanup

Removed legacy compatibility/public names:

  • parse_precompiler_output
  • validate_precompiler_output
  • PRECOMPILER_NO_DIRECTIVE_SENTINEL
  • --with-precompiler
  • experimental/preprocessor/heuristic_precompiler.py

Canonical naming now exposed:

  • parse_preprocessor_output
  • validate_preprocessor_output
  • PREPROCESSOR_NO_DIRECTIVE_SENTINEL
  • --with-preprocessor
  • experimental/preprocessor/heuristic_preprocessor.py

2) Preprocess terminology normalization

Renamed remaining canonical precompile vocabulary to preprocess across current code/docs/tests/contracts, including:

  • heuristic API naming (preprocess_heuristic)
  • outcome constants (PREPROCESS_OUTCOME_*)
  • helper names in integration examples and associated tests
  • experimental preprocessor public API fixture contract

3) Fixture and contract alignment

Updated preprocessor API contract fixture to canonical terminology only, matching the cleaned export surface for cross-port consumption.

4) REPL surface cleanup

REPL now accepts only --with-preprocessor for this path; legacy --with-precompiler alias removed.

Why This Release

The TypeScript preprocessor port is beginning, and this release intentionally removes transitional naming before harness/contract consumption to avoid carrying obsolete terminology into the first non-Python implementation.

Scope and Compatibility Notes

  • No core engine behavior changes.
  • No deterministic engine conformance behavior changes.
  • Changes are naming/API surface cleanup only for the experimental preprocessor path.

Validation

  • uv run pytest
  • uv run pre-commit run --all-files

Both passed.

v0.6.18

11 May 07:10
Immutable release. Only release title and notes can be modified.
e264ae9

Choose a tag to compare

Release Summary

v0.6.18 expands the portable conformance surface for cross-language parity by adding deterministic fixture coverage for core engine serialization and checkpoint import behavior, and by extending pending-confirmation token normalization coverage.

This release is focused on contract promotion, not engine logic changes.

What Is New

1) New portable conformance fixture categories

  • tests/fixtures/conformance/state-json/
  • tests/fixtures/conformance/checkpoint/

These categories move high-risk deterministic behavior from Python-local tests into portable fixtures that TypeScript (and future ports) can consume directly.

2) State JSON fixture coverage added

Portable fixtures now cover:

  • canonical export_json() output shape (sorted, compact JSON)
  • import_json(...) invalid JSON rejection
  • non-object payload rejection
  • unsupported state version rejection
  • atomic rejection when normalized policy keys become invalid
  • acceptance and canonicalization of valid normalized policy keys

3) Checkpoint import fixture coverage added

Portable fixtures now cover:

  • non-object checkpoint payload rejection
  • unsupported checkpoint version rejection
  • invalid pending payload shape rejection
  • invalid replacement payload shape rejection
  • atomic rejection when authoritative_state is invalid
  • pending clear semantics when pending is null
  • pending clear semantics when pending is absent

4) Pending confirmation normalization expanded in step fixtures

Added two step fixtures under conformance/step for punctuation-normalized tokens:

  • affirmative with punctuation accepted
  • negative with punctuation accepted

Harness and Contract Updates

  • tests/test_fixtures.py now executes the new state-json and checkpoint fixture suites.
  • Existing step/transcript fixture semantics remain unchanged.
  • Fixture docs were updated to clarify portable serialization/checkpoint contracts vs Python-local property/fuzz tests.

Why This Matters

This release reduces parity risk for non-Python ports by making previously local serialization/checkpoint edge cases portable and deterministic. It strengthens contract-first development for TS 0.6 parity without broadening scope into non-deterministic or implementation-specific behavior.

Scope and Compatibility Notes

  • No core engine behavior changes were introduced in this release.
  • No preprocessor behavior changes were introduced.
  • No apply-transcript fixture category was added in this release (intentionally deferred).
  • Property/fuzz invariants and local test-infrastructure behaviors remain Python-local by design.

Validation Performed

  • uv run pytest
  • uv run pre-commit run --all-files

Both passed before merge.

v0.6.17

11 May 05:52
Immutable release. Only release title and notes can be modified.
dc88e3a

Choose a tag to compare

What's Changed

Full Changelog: v0.6.16...v0.6.17

v0.6.16

07 May 07:34
Immutable release. Only release title and notes can be modified.
519fb2c

Choose a tag to compare

Full Changelog: v0.6.15...v0.6.16

What's Changed

  • 0.6.16 — preprocessor naming and fixture taxonomy cleanup by @rlippmann in #127

Full Changelog: v0.6.15...v0.6.16

v0.6.15

07 May 06:29
Immutable release. Only release title and notes can be modified.
59b8a10

Choose a tag to compare

What's Changed

Full Changelog: v0.6.14...v0.6.15

0.6.14

03 May 07:48
Immutable release. Only release title and notes can be modified.
55c38db

Choose a tag to compare

Highlights

  • Fix OpenWebUI preprocessor valve handling and debug behavior
  • Add optional trace output to example integrations (off by default)

Changes

  • fix: correct OpenWebUI preprocessor valve handling and debug paths
  • feat: expose optional trace output in OpenWebUI and LiteLLM examples
  • test: expand coverage for host_support helpers and integration edge cases
  • docs: add minimal repository meta files
  • chore: bump version to 0.6.14 and update example requirements

Notes

No core engine changes
No API changes
LiteLLM proxy trace deferred to future work

v0.6.13

29 Apr 07:07
Immutable release. Only release title and notes can be modified.
22fe874

Choose a tag to compare

Highlights

  • Hardened example integration behavior across LiteLLM and OpenWebUI examples.
  • Deterministic update acknowledgments improved:
    • replacement updates now summarize as State updated: Use <new>.
    • policy item acknowledgment casing normalized consistently
    • clear premise now returns Premise cleared.
  • Preprocessor example variants now skip fallback LLM calls for directive-shaped malformed inputs, preserving deterministic clarify behavior.
  • Added focused regression coverage for replacement acknowledgments, casing consistency, fallback suppression, clear-premise acknowledgments, and near-miss directive clarify behavior.
  • Release metadata finalized:
    • package version bumped to 0.6.13
    • OpenWebUI pipe frontmatter versions bumped to 0.7
    • uv.lock updated

v0.6.12 — example integration consistency and host_support API exposure

28 Apr 06:40
Immutable release. Only release title and notes can be modified.
2706227

Choose a tag to compare

What's Changed

  • Make OpenWebUI example updates deterministic and clarify docs
  • Make LiteLLM example updates deterministic
  • Expose host_support public API via all and align example imports
  • Bump version to 0.6.12

Notes

  • Example integrations now render Decision.update deterministically (no downstream LLM call)
  • Engine behavior and semantics are unchanged

Full Changelog: v0.6.11...v0.6.12

v0.6.11

27 Apr 05:49
Immutable release. Only release title and notes can be modified.
c72f25f

Choose a tag to compare

What's Changed

Improvements

  • Suppress confirmation-only turns from calling the downstream model
  • Add deterministic confirmation summaries (e.g., “State updated”, “State unchanged”)

Open WebUI

  • Improved BASE_MODEL_ID setup clarity
  • Clearer model-not-found error messaging with actionable guidance

Internal

  • Added host_support coverage
  • Enforced pytest in pre-commit

Full Changelog: v0.6.10...v0.6.11

v0.6.10: OpenWebUI 0.9 compatibility patch

25 Apr 07:07
Immutable release. Only release title and notes can be modified.
e1cd76b

Choose a tag to compare

Highlights

  • Fixed OpenWebUI example compatibility with OpenWebUI 0.9.x async user lookup
  • Preserved compatibility with OpenWebUI 0.8.x sync user lookup
  • Bumped OpenWebUI example frontmatter versions to 0.4
  • Updated OpenWebUI integration README compatibility/install guidance

Notes

  • Compatibility patch only; no engine, precompiler, or CLI behavior changes

Full Changelog: v0.6.9...v0.6.10