Skip to main content
Glama
Knuckles-Team

Repository Manager

Host Loss Reconcile

rm_remote_workers_host_loss_reconcile

Reconcile remote worker state after a host loss by releasing reserved capacity and resolving affected work item attempts.

Instructions

Host loss reconcile (rm_remote_workers). Remote worker registry, immutable source staging, and artifact transport.

Composes RMDD-15's repository_manager.remote_execution package with the RMDD-08 CapacityInventory resource ledger. The optional tunnel-manager dependency is never required to import this tool: recheck/live remote dispatch refuse with a named, cause-preserving error when it is absent instead of raising an ImportError. host_loss_reconcile always refuses today: no live WorkItem-authoritative ResourceScheduler is wired into any repository-manager entrypoint yet, and this tool never substitutes a local in-memory reservation ledger for that authority.

Input Schema

NameRequiredDescriptionDefault
kindNoFor receive_artifact: 'artifact' (default) or 'log'.
pathNoFor seed_from_inventory: override the inventory.yaml path (default ~/.config/agent-connectors/inventory.yaml).
rootNoFor receive_artifact: store root.
actorNoFor recheck: the requesting actor.
fenceNoFor host_loss_reconcile.
labelsNoFor register_worker.
originNoFor stage_source: credential-free Git origin.
reasonNoFor host_loss_reconcile, optional.
attemptNoFor host_loss_reconcile.
commandNoFor dispatch_build: the fixed argv to run on the remote host after staging.
host_idNoTarget host id.
workdirNoFor dispatch_build: path relative to the staged worktree root to run 'command' in (default '.', the worktree root itself).
disk_mibNoFor register_worker.
tree_shaNoFor stage_source: the full 40-hex immutable commit SHA.
cpu_weightNoFor register_worker.
media_typeNoFor receive_artifact, optional.
memory_mibNoFor register_worker.
toolchainsNoFor register_worker.
destinationNoFor verify_source.
parent_rootNoFor stage_source: the worker's authorized parent root.
expected_shaNoFor verify_source.
work_item_idNoFor host_loss_reconcile.
process_slotsNoFor register_worker.
relative_pathNoFor receive_artifact.
repository_idNoFor recheck/stage_source/verify_source.
worktree_nameNoFor stage_source.
content_base64NoFor receive_artifact.
reservation_idNoFor host_loss_reconcile.
declared_digestNoFor receive_artifact, optional.
execute_locallyNoFor stage_source: also run+verify the commands via a local executor.
inventory_aliasNoFor register_worker/recheck: the tunnel-manager inventory alias.
timeout_secondsNoFor stage_source/dispatch_build.
repository_rootsNoFor register_worker: repository id -> authorized absolute worktree root.
required_toolchainNoFor recheck.
source_descriptionNoFor receive_artifact.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.5.1

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, idempotentHint=false, and the description goes well beyond them: it discloses that the tool always refuses, that the tunnel-manager dependency is optional at import time and produces a named, cause-preserving error when absent, and that no local in-memory ledger is ever substituted. That is real failure-mode and authority semantics an agent cannot get from the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The text opens with a generic family blurb, then spends most of its length on implementation archaeology (RMDD-15, RMDD-08, ImportError behavior, ResourceScheduler wiring) in Sphinx double-backtick prose. The single actionable fact — the tool always refuses — is placed last rather than front-loaded, and much of the remainder does not earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and schema coverage is full, so return values and parameter meaning need no elaboration here. The description supplies the decisive operational fact (the operation is a guaranteed refusal) and the dependency behavior, which is sufficient for an agent to decide correctly. Only some clutter around the edges keeps it from being exemplary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — every one of the 35 parameters carries an operation-scoped description (e.g. 'For host_loss_reconcile', 'For register_worker'), so the schema already does the heavy lifting. The description adds no parameter meaning whatsoever, which is the baseline-3 case for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The lead sentence is a family-level summary ('Remote worker registry, immutable source staging, and artifact transport') that describes the whole rm_remote_workers group rather than this tool, and the name/title restate each other. The one genuinely distinguishing fact — 'host_loss_reconcile always refuses today' — is buried at the end of the second paragraph. An agent can eventually learn what this is, but only after wading through internal package references.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit 'use this when' or 'use X instead' statement, but 'host_loss_reconcile always refuses today' functions as clear implied negative guidance: don't call it expecting a result. However, the description never routes the agent to the sibling operations (recheck, stage_source, verify_source, dispatch_build) that the shared 35-parameter schema clearly serves, so selection guidance is incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools