Gemini runner adapter (preview)
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.