Skip to main content
Version: MVP

Gemini runner adapter (preview)

3 min readReference · previewUpdated 2026-05-19

What you'll find here

The Gemini preview adapter — local setup, fixture behavior, smoke testing, and limitations. In v0.1.0 the adapter is read/review-oriented and uses prompt handoff plus deterministic fixture output rather than direct external execution.

Read/review-oriented by default.

The built-in Gemini trust profile is intentionally low. Unsupported side effects are blocked or routed back through Craik review.

Local setup

craik prompt compile <task-id> --runner gemini

Python callers:

from craik.runtime.gemini_adapter import GeminiRunnerAdapter, request_from_compiled_prompt

adapter = GeminiRunnerAdapter()
request = request_from_compiled_prompt(compiled_prompt, adapter=adapter)
result = adapter.run(request)

GeminiRunnerAdapter.metadata keeps runner identity, adapter version, fixture status, live availability, and optional executable details inside craik.runner_metadata.metadata.

Fixture behavior

Fixture mode is the default preview path. It produces a craik.runner_adapter_result with:

status

completed · blocked · failed · partial.

outputs.prompt_handoff

Compiled prompt for Gemini-compatible use.

outputs.handoff_input

Normalized fields for a later handoff.

outputs.receipt_inputs

Normalized receipt drafts.

outputs.runner_metadata

Adapter metadata used for the run.

diagnostics

Live-execution limits and caller-supplied diagnostics.

Force a deterministic outcome:

request = request_from_compiled_prompt(
compiled_prompt,
context={"fixture_status": "blocked", "blocked_reason": "memory.write unsupported"},
)

Smoke test

Use Runner preview workflows to run completed, blocked, and failed fixture paths. Check outputs.runner_metadata, outputs.receipt_inputs, and outputs.handoff_input before promoting any adapter output into receipts or handoffs.

Limitations

No external Gemini invocation.

The preview adapter does not invoke an external Gemini process or verify Gemini tool authority.

Live prompt handoff will need response capture, artifact capture, receipt finalization, and explicit process/tool policy before it should be used for side-effecting work.

What's next