Skip to main content
Version: MVP

Compatibility Fixtures

3 min readFor maintainersUpdated 2026-05-23

What you'll do

Use sanitized adjacent-runtime fixtures to validate migration inspect, plan, report, and secret-redaction behavior without depending on private operator state or third-party exports.

Fixtures are public-safe by design.

Fixture files may include secret-like field names so redaction paths are exercised, but values must be fake and must never be real provider, channel, or operator credentials.

Fixture Set

The v0.12.0 fixture suite lives under tests/fixtures/adjacent_runtime/:

Path
Purpose
Coverage
full/
happy path
Provider config, model fallback, profiles/personas, channel bindings, session transcripts, memory files, skills, schedules, sandbox backends, gateway config, and approval posture.
invalid/
error path
Malformed JSON handling for deterministic warnings.

Validation

Run the fixture tests when changing migration discovery, maps, reports, or secret handling:

uv run pytest tests/test_adjacent_runtime_fixtures.py

The tests assert that:

  • Full fixtures drive import-plan output for every v0.12.0 migration surface.
  • Report sections include manual actions, skipped secrets, and security posture changes.
  • Secret-like fixture values do not appear in serialized output.
  • Invalid fixtures produce warnings instead of crashing migration inspection.

Adding Fixtures

Add small JSON files that isolate one compatibility concern. Keep fixtures deterministic, avoid local filesystem paths, and use fake secret-like values such as fixture-openai-key only when testing redaction.

What's Next