Home/DueCare Hub/Tools registry
What the model can call

The narrow set of functions a deployment may import.

Tools are the only way the harness reaches beyond the prompt. Each tool has a fixed input schema, a fixed output schema, a stated safety boundary, and a declared execution mode (local, hub, or both).

01 · Catalog

Eight tools currently in the registry.

Tools ship as part of the harness; each tool's schema and safety boundary are version-pinned and signed alongside packs.

Tool
Purpose
Execution
Status
fee.cap_checkv1.2 · safety-bounded
Compares a recruiter fee against the corridor cap; returns flag, reason, citation.
local
Live
complaint.draft_builderv0.9
Drafts a complaint letter against verified case template, citing pack sections.
local
Live
contact.routerv1.0
Resolves a verified hotline or embassy contact for a given corridor and topic.
local
Live
citation.verifierv0.8
Confirms an answer's claims map to specific pack sections; flags ungrounded claims.
local
Live
anonymize.gatev1.1
Strips identifiers from any object before egress; raises if it cannot guarantee.
local
Live
pack.diff_reviewv0.5
Renders a proposed pack diff for curator review; no auto-publish path.
hub
Beta
public_source.proposalv0.3
Submits a public-source URL as a proposed update; runs through validators.
both
Beta
response.rankingv0.2
Collects stakeholder ranking of model responses on synthetic prompts.
hub
Draft
02 · Schema

What a tool definition holds.

Tool definitions are signed and registered alongside packs. The schema is what the harness checks every call against.

Field
Type
Description
namestringDotted name, e.g. fee.cap_check.
versionsemverPinned by the pack manifest's compatible_with.
input_schemaJSON SchemaStrictly enforced; calls with extra keys are rejected.
output_schemaJSON SchemaOutput is validated before reaching the model's reply.
safety_boundarystringPlain-English statement of what the tool may not do (e.g. never returns case content).
allowed_callersrole[]Which audiences (worker, NGO, regulator, platform) may import this tool.
executionenumlocal, hub, or both.
03 · Example call

fee.cap_check, end to end.

Every call is logged, every input validated, every output schema-checked before the model sees it.

# request
{
  "tool": "fee.cap_check",
  "input": {
    "corridor": "qa-np",
    "fee_amount_usd": 1450,
    "fee_kind": "recruitment"
  }
}

# response
{
  "flag": "over_cap",
  "cap_usd": 700,
  "citation": "qa-np/2026.05.06#sec-3.1",
  "reason": "corridor cap is USD 700"
}