Skip to content

Operating a catalog-backed background workflow

The server owns assignment, immutable contracts, task phases, correction limits and acceptance. Bridge checks the selected local policy, starts the selected native provider and transports evidence. The worker produces a committed result; a separate verifier evaluates the frozen criteria. Only the server's verified acceptance transition closes the task.

Setup

  1. Verify server_identity against the expected resource, instance and project; read continuity_context and the selected task before changing it.
  2. Provision roles, skills and agents with the explicit permissions described in catalog provisioning. Agent versions pin provider, model, reasoning and role/skill versions. Methodology (heartbeat_ref) is an instruction source, not a timer. Git owns the instruction documents.
  3. Allowlist each instruction document for the project at an exact Git commit. Choose the worker and verifier explicitly. Map each catalog reference to its source ID and commit; the server freezes and records the resolved provenance.
  4. Bind the project to the already enrolled Bridge identity, with the intended local provider account IDs allowed on that node. The enrollment identity UUID differs from the local display/node bridge_id. Authenticated local profiles and the node allowlist must agree; an arbitrary bootstrap label is not a login.
  5. Review an owner-controlled local workflow policy: project, enrollment identity, exact workspace, allowed providers/accounts/models, write permission, deadlines and exact Git write scope. The workspace must be clean at the dispatched base commit and branch. Private journals live outside that repository.
  6. Enable the installed daemon explicitly with background enable --policy PATH --attempt-budget N. Installation and catalog provisioning enable no execution. Use the menu bar or background status / background disable to inspect or stop authorization. Work and verification each consume one attempt.

Dispatch and acceptance

Call workflow_dispatch_catalog with the latest task version, worker/verifier selections, pinned sources, workspace/base/branch, prompt and explicit acceptance criteria. The normal daemon polls only its authorized policy. No manual workflow invocation or copied transport token is needed. See the exact schema in task workflow.

The observable sequence is ready → queued → claimed → preparing → running → awaiting verification → verifying → accepted. A failed verdict requests a correction and a fresh worker/verifier pair, within the frozen attempt limit. The server writes one acceptance receipt; provider exit alone is insufficient. Work Center task details show the server's phases, profile versions, candidate, criteria and history. Server detail reads are on demand; use Refresh for a new snapshot. The legacy local Sessions list is not a catalog of every custom workflow journal directory; task details are the authoritative workflow view.

Interruption and recovery

A budget reservation survives restart. An exhausted budget cannot replay work; a crash during an uncertain attempt pauses local authorization. The server blocks expired execution leases without creating a completion receipt or an automatic retry. Inspect the task and retained journal before authorizing a new revision. Stopping local authorization is not a substitute for explicitly cancelling an already assigned server workflow when its frozen instructions must be revoked.

This version runs while the Mac is awake and supports one registered local policy per node. Closing the lid can expire the lease. It does not configure power management or wake hardware. Native Keychain access fails promptly when macOS requires authorization after an update; the user can explicitly run token authorize-keychain and handle system dialogs. Bridge never approves those dialogs or discards pending credential-rotation evidence on the user's behalf.

The controlled release uses local ad-hoc signing. A stable distributed signing identity/notarization is separate packaging work; do not promise prompt-free credential access across arbitrary binary changes.