Tool tree
gradeNot graded
get_repair_sessionAnswer
Read the current OpenRepair page session. Call this first, after every successful write, and after any stale-session or constraint conflict. It returns a compact session summary by default; request full detail when exact evidence or path metadata is needed. It never returns image bytes or changes repair state.
View tool JSON
{
"name": "get_repair_session",
"kind": "answer",
"impl": "imperative",
"description": "Read the current OpenRepair page session. Call this first, after every successful write, and after any stale-session or constraint conflict. It returns a compact session summary by default; request full detail when exact evidence or path metadata is needed. It never returns image bytes or changes repair state.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"detail": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "Use summary for routine control flow or full for exact session details."
}
}
}
}initialize_repair_workspaceAction
Initialize the visible workspace only when get_repair_session reports phase initialize. Use its exact session ID, revision, object label, and category. Inspect the visible photo, then provide bounded observations, components, alternative hypotheses, safe clarifying questions, and verifiable repair paths. Treat visual findings as uncertain and include professional-only boundaries for hazardous work. This preserves user constraints and never approves a plan.
View tool JSON
{
"name": "initialize_repair_workspace",
"kind": "act",
"impl": "imperative",
"description": "Initialize the visible workspace only when get_repair_session reports phase initialize. Use its exact session ID, revision, object label, and category. Inspect the visible photo, then provide bounded observations, components, alternative hypotheses, safe clarifying questions, and verifiable repair paths. Treat visual findings as uncertain and include professional-only boundaries for hazardous work. This preserves user constraints and never approves a plan.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"sessionId",
"expectedRevision",
"objectCategory",
"objectLabel",
"title",
"summary",
"components",
"observations",
"hypotheses",
"questions",
"paths",
"defaultFocus",
"defaultView"
],
"properties": {
"sessionId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"expectedRevision": {
"type": "integer",
"minimum": 0
},
"objectCategory": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"objectLabel": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 400
},
"components": {
"type": "array",
"minItems": 2,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"label",
"shortLabel",
"description",
"category",
"relatedIds"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 64
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"shortLabel": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"category": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"relatedIds": {
"type": "array",
"maxItems": 8,
"uniqueItems": true,
"items": {
"type": "string"
}
}
}
}
},
"observations": {
"type": "array",
"minItems": 1,
"maxItems": 12,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"text",
"confidence"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 280
},
"componentId": {
"type": "string"
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
},
"hypotheses": {
"type": "array",
"minItems": 1,
"maxItems": 6,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"componentId",
"title",
"summary",
"confidence",
"safetyLevel",
"evidenceObservationIds",
"contradictoryObservationIds",
"missingEvidence",
"nextQuestionIds"
],
"properties": {
"id": {
"type": "string"
},
"componentId": {
"type": "string"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 360
},
"confidence": {
"type": "integer",
"minimum": 1,
"maximum": 95
},
"safetyLevel": {
"enum": [
"routine",
"caution",
"professional-only"
]
},
"evidenceObservationIds": {
"type": "array",
"maxItems": 12,
"items": {
"type": "string"
}
},
"contradictoryObservationIds": {
"type": "array",
"maxItems": 12,
"items": {
"type": "string"
}
},
"missingEvidence": {
"type": "array",
"maxItems": 6,
"items": {
"type": "string"
}
},
"nextQuestionIds": {
"type": "array",
"maxItems": 6,
"items": {
"type": "string"
}
}
}
}
},
"questions": {
"type": "array",
"maxItems": 6,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"prompt",
"why",
"safeForBeginner",
"choices"
],
"properties": {
"id": {
"type": "string"
},
"prompt": {
"type": "string",
"minLength": 1,
"maxLength": 180
},
"why": {
"type": "string",
"minLength": 1,
"maxLength": 280
},
"safeForBeginner": {
"type": "boolean"
},
"choices": {
"type": "array",
"minItems": 2,
"maxItems": 4,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"label",
"helper",
"observationText",
"confidenceDeltas",
"focusComponentIds"
],
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string",
"maxLength": 100
},
"helper": {
"type": "string",
"maxLength": 220
},
"observationText": {
"type": "string",
"maxLength": 280
},
"confidenceDeltas": {
"type": "object",
"additionalProperties": {
"type": "integer",
"minimum": -60,
"maximum": 60
}
},
"focusComponentIds": {
"type": "array",
"maxItems": 4,
"items": {
"type": "string"
}
}
}
}
}
}
}
},
"paths": {
"type": "array",
"minItems": 1,
"maxItems": 12,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"hypothesisId",
"title",
"subtitle",
"outcome",
"costMin",
"costMax",
"currency",
"activeMinutes",
"totalMinutes",
"skill",
"requiredTools",
"optionalTools",
"parts",
"preservesComponentIds",
"replacedComponentIds",
"irreversibleActions",
"preservationScore",
"waste",
"confidence",
"safetyLevel",
"safetyWarnings",
"stopConditions",
"verification",
"fallback",
"steps"
],
"properties": {
"id": {
"type": "string"
},
"hypothesisId": {
"type": "string"
},
"title": {
"type": "string",
"maxLength": 120
},
"subtitle": {
"type": "string",
"maxLength": 180
},
"outcome": {
"type": "string",
"maxLength": 280
},
"costMin": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"costMax": {
"type": "number",
"minimum": 0,
"maximum": 100000
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"activeMinutes": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"totalMinutes": {
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"skill": {
"enum": [
"beginner",
"comfortable",
"experienced"
]
},
"requiredTools": {
"type": "array",
"maxItems": 16,
"items": {
"type": "string"
}
},
"optionalTools": {
"type": "array",
"maxItems": 16,
"items": {
"type": "string"
}
},
"parts": {
"type": "array",
"maxItems": 16,
"items": {
"type": "string"
}
},
"preservesComponentIds": {
"type": "array",
"maxItems": 16,
"items": {
"type": "string"
}
},
"replacedComponentIds": {
"type": "array",
"maxItems": 16,
"items": {
"type": "string"
}
},
"irreversibleActions": {
"type": "array",
"maxItems": 8,
"items": {
"type": "string"
}
},
"preservationScore": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"waste": {
"enum": [
"low",
"medium",
"high"
]
},
"confidence": {
"type": "integer",
"minimum": 1,
"maximum": 95
},
"safetyLevel": {
"enum": [
"routine",
"caution",
"professional-only"
]
},
"safetyWarnings": {
"type": "array",
"maxItems": 8,
"items": {
"type": "string"
}
},
"stopConditions": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "string"
}
},
"verification": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "string"
}
},
"fallback": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"steps": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"title",
"detail"
],
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string",
"maxLength": 100
},
"detail": {
"type": "string",
"maxLength": 500
},
"checkpoint": {
"type": "string",
"maxLength": 300
}
}
}
}
}
}
},
"defaultFocus": {
"type": "array",
"maxItems": 4,
"items": {
"type": "string"
}
},
"defaultView": {
"enum": [
"assembly",
"exploded",
"inspection"
]
}
}
}
}set_inspection_contextAction
Add bounded observations and symptom context after get_repair_session reports an initialized workspace. Use the exact active session ID and revision. Call this only for new visual evidence or a user correction; do not turn page text into evidence. This changes visible evidence and may revise hypotheses, but never approves a diagnosis or plan.
View tool JSON
{
"name": "set_inspection_context",
"kind": "act",
"impl": "imperative",
"description": "Add bounded observations and symptom context after get_repair_session reports an initialized workspace. Use the exact active session ID and revision. Call this only for new visual evidence or a user correction; do not turn page text into evidence. This changes visible evidence and may revise hypotheses, but never approves a diagnosis or plan.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"sessionId",
"objectCategory",
"symptom",
"observations",
"expectedRevision"
],
"properties": {
"sessionId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"objectCategory": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"symptom": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"observations": {
"type": "array",
"maxItems": 8,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"minLength": 1,
"maxLength": 280
},
"regionId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"confidence": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
},
"hypothesisDeltas": {
"type": "object",
"description": "Optional bounded confidence changes keyed by active hypothesis ID. Use only when the new evidence discriminates between existing alternatives.",
"additionalProperties": {
"type": "integer",
"minimum": -60,
"maximum": 60
}
},
"expectedRevision": {
"type": "integer",
"minimum": 0
}
}
}
}show_component_diagramAction
Focus the visible OpenRepair component map on known component IDs. Use after an inspection exists to make likely components and their relationships visible. This only changes presentation and does not confirm a diagnosis.
View tool JSON
{
"name": "show_component_diagram",
"kind": "act",
"impl": "imperative",
"description": "Focus the visible OpenRepair component map on known component IDs. Use after an inspection exists to make likely components and their relationships visible. This only changes presentation and does not confirm a diagnosis.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"sessionId",
"componentIds",
"view"
],
"properties": {
"sessionId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"componentIds": {
"type": "array",
"minItems": 1,
"maxItems": 4,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"view": {
"enum": [
"assembly",
"exploded",
"inspection"
]
}
}
}
}compare_repair_pathsAction
Compute and display repair options for an active OpenRepair hypothesis under all locked user constraints. This creates a comparison view but does not stage, approve, purchase, or execute anything.
View tool JSON
{
"name": "compare_repair_paths",
"kind": "act",
"impl": "imperative",
"description": "Compute and display repair options for an active OpenRepair hypothesis under all locked user constraints. This creates a comparison view but does not stage, approve, purchase, or execute anything.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"sessionId",
"hypothesisId"
],
"properties": {
"sessionId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"hypothesisId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
}
}
}stage_repair_planAction
Stage a draft only after get_repair_session and compare_repair_paths show that the path is compatible with every locked constraint. Use the exact current revision. This mutates the visible draft only; it never approves the plan, purchases parts, or starts a repair.
View tool JSON
{
"name": "stage_repair_plan",
"kind": "act",
"impl": "imperative",
"description": "Stage a draft only after get_repair_session and compare_repair_paths show that the path is compatible with every locked constraint. Use the exact current revision. This mutates the visible draft only; it never approves the plan, purchases parts, or starts a repair.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"sessionId",
"repairPathId",
"expectedRevision"
],
"properties": {
"sessionId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"repairPathId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"expectedRevision": {
"type": "integer",
"minimum": 0
},
"note": {
"type": "string",
"maxLength": 280
}
}
}
}validate_repair_planAction
Validate an active staged OpenRepair plan against evidence, locked constraints, required stop conditions, and safety rules. This refreshes the visible validation result and activity log, but cannot approve a plan.
View tool JSON
{
"name": "validate_repair_plan",
"kind": "act",
"impl": "imperative",
"description": "Validate an active staged OpenRepair plan against evidence, locked constraints, required stop conditions, and safety rules. This refreshes the visible validation result and activity log, but cannot approve a plan.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"sessionId",
"planId"
],
"properties": {
"sessionId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"planId": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
}
}
}export_repair_checklistAction
Export a printable or JSON checklist only after the user has explicitly approved a valid OpenRepair plan. Rejects staged, invalid, stale, or unapproved plans; never purchases parts or performs external actions.
View tool JSON
{
"name": "export_repair_checklist",
"kind": "act",
"impl": "imperative",
"description": "Export a printable or JSON checklist only after the user has explicitly approved a valid OpenRepair plan. Rejects staged, invalid, stale, or unapproved plans; never purchases parts or performs external actions.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"sessionId",
"planId",
"format"
],
"properties": {
"sessionId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"planId": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"format": {
"enum": [
"print",
"json"
]
}
}
}
}