Inspect and debug
Understand the observed state before deciding what to do next.
Find the run
Run from your consumer project root:
bunx laufwerk@0.0.1-alpha.6 status
bunx laufwerk@0.0.1-alpha.6 status RUN_ID --watch
bunx laufwerk@0.0.1-alpha.6 timings RUN_IDReplace RUN_ID with a listed ID. A terminal run ends the watch; a waiting run keeps watching. Ctrl-C stops observation. Studio provides the full local transcript and interaction context.
Match the symptom
| What you see | What it means | Next action |
|---|---|---|
| Run did not change after editing the workflow or prompt | Same execution key found the original run | Use a new key for a new attempt; keep the old key for recovery |
waiting | An answer or approval is pending | Inspect it in Studio; use the correct response command |
| Local credential error | Subscription login is missing or expired | Log in on this host; run doctor again |
doctor passes but a run fails before inference | Local checks did not exercise VM/provider availability | Inspect the error, KVM access, network and image preparation |
| Model response was not JSON | The model did not return a valid structured result | Inspect the retained response and schema; do not treat the report as accepted |
| Verification failed | The candidate did not pass your check | Inspect the test output and isolated work; do not weaken the check merely to pass |
| Write-back refused | The original host files changed | Inspect both trees; do not overwrite intervening edits |
| Uncertain interrupted operation | Work may have happened without a recorded result | Inspect external evidence before recovery |
| Versions do not match | CLI and consumer dependencies disagree | Align to the documented release; do not regenerate project identity |
Provider readiness
bunx laufwerk@0.0.1-alpha.6 doctor
bunx laufwerk@0.0.1-alpha.6 doctor --provider claudeCodex requires the host subscription login. Claude access can renew when refreshable; missing/revoked credentials still need login. doctor --provider claude --refresh explicitly attempts renewal if needed and may make one small subscription request.
Recover deliberately
A stopped process does not prove that its last external action failed. First stop old workers and inspect the files or external receipt. If the outcome is known, record it through Studio's recovery controls or the CLI. If unknown, leave it blocked or cancel; do not guess.
The CLI shape is:
bunx laufwerk@0.0.1-alpha.6 recover RUN_ID --operation OPERATION_ID --result '{"exitCode":0,"stdout":"verified output","stderr":""}' --reason 'Verified against the actual command result'
bunx laufwerk@0.0.1-alpha.6 resume RUN_IDThis is a command-result example, not a value to paste for an arbitrary operation. Supply the operation's actual schema and verified outcome. An interrupted workspace writer also needs workspace inspection; only then use --workspace-verified if required.
Keep state and identity
Do not change the project ID to repair a run. State is stored under ~/.laufwerk/state by default, outside your source project. Existing bundles remain authoritative for their runs.
Preview retention cleanup before applying it:
bunx laufwerk@0.0.1-alpha.6 prune --older-than 30Add --apply only after reviewing the preview. Eligible run deletion also removes its replay/idempotency history. Active, resumable and unresolved runs are retained.
Ask for help with evidence
Use the installed laufwerk-feedback skill or contact the maintainer. Include the version, host setup, operation/error and a minimal reproduction. Sanitize evidence: raw run JSON and transcripts can contain sensitive input or internal resume data.