Skip to content

Troubleshooting

Treat a failure as evidence about the nearest role boundary, not as permission to skip it. Start with the public host and configuration contracts below.

Plugin discovery remains a host contract. Skills-only copies do not register hooks, and Node.js must be on PATH for hook adapters. If the named profile is missing, runtime returns no_named_profiles; run onboard-bearing and validate the readback. A leftover lineups.json returns MIGRATION_REQUIRED and is never silently loaded.

Use a host-native status check when it exists:

  • A RUNNING session is never duplicated.
  • COMPLETED advances only from durable evidence.
  • INACTIVE or EXITED resumes from the last durable state using an approved fallback.
  • UNKNOWN returns WAITING_ON unless an owner explicitly requests replacement.

Bearing Lite does not add a watchdog daemon, heartbeat service, global timeout, or model polling.

A live competing Lifecycle in the same checkout returns WAITING_ON; released, stale-generation, forged, or branch/HEAD-drifted leases fail closed. Each declared cadence unit allows one review and one aggregated repair before deterministic closure; remaining material conflict returns to the owner.

If an activated verification backend is unavailable, record ERROR / backend_unavailable. A receipt tied to a prior candidate or pre-repair evidence is stale and fails closed. When a Manifest looks stale, return to machine-readable authority and durable evidence: it is a human projection, not a transition grant.