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¶
- Verify
server_identityagainst the expected resource, instance and project; readcontinuity_contextand the selected task before changing it. - 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. - 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.
- 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. - 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.
- Enable the installed daemon explicitly with
background enable --policy PATH --attempt-budget N. Installation and catalog provisioning enable no execution. Use the menu bar orbackground status/background disableto 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.