← WebMCP Directory

Tool tree

lostloop-memory.imre9012.workers.dev

Media & PersonalTools verified
Website
A private, local-first recovery companion where ChatGPT stages the next move and only the person confirms physical reality.
Explore capabilities
    lostloop_get_snapshotAnswer

    Inspect the current local LostLoop workspace: memory count, active search, One-Step Companion, learned-route count, personal patterns, action receipts, and Ready Journeys. Use this before choosing a follow-up action.

    View tool JSON
    {
      "name": "lostloop_get_snapshot",
      "kind": "answer",
      "impl": "imperative",
      "description": "Inspect the current local LostLoop workspace: memory count, active search, One-Step Companion, learned-route count, personal patterns, action receipts, and Ready Journeys. Use this before choosing a follow-up action.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    lostloop_get_live_handoffAnswer

    Read one atomic LostLoop handoff before staging or continuing any reviewed workflow. Returns the exact revision, pending review, active Ready and Search state, plus the same sanitized LostLoop Companion and Home Canvas step visible to the human, without changing local data.

    View tool JSON
    {
      "name": "lostloop_get_live_handoff",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read one atomic LostLoop handoff before staging or continuing any reviewed workflow. Returns the exact revision, pending review, active Ready and Search state, plus the same sanitized LostLoop Companion and Home Canvas step visible to the human, without changing local data.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    lostloop_get_home_memory_mapAnswer

    Read the same bounded Home Canvas visible to the human, together with provenance-labelled map evidence, the exact ranked next check, one scoped trail, and a separately labelled schematic layout projection. Room geometry, doors, and configured pins are presentation only: never search evidence, a measured floor plan, or live tracking.

    View tool JSON
    {
      "name": "lostloop_get_home_memory_map",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the same bounded Home Canvas visible to the human, together with provenance-labelled map evidence, the exact ranked next check, one scoped trail, and a separately labelled schematic layout projection. Room geometry, doors, and configured pins are presentation only: never search evidence, a measured floor plan, or live tracking.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemName": {
            "type": "string",
            "description": "Optional item name used to focus the evidence map.",
            "minLength": 1,
            "maxLength": 80
          },
          "searchId": {
            "type": "string",
            "description": "Optional exact search id used to focus the reported trail.",
            "minLength": 1,
            "maxLength": 160
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    lostloop_stage_plan_shiftAction

    Stage one bounded, revision-locked Plan Shift for a saved Ready Journey. The draft changes no routine or physical fact until the human reviews and applies the exact diff in LostLoop.

    View tool JSON
    {
      "name": "lostloop_stage_plan_shift",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage one bounded, revision-locked Plan Shift for a saved Ready Journey. The draft changes no routine or physical fact until the human reviews and applies the exact diff in LostLoop.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "Unique idempotency key for this exact Plan Shift draft.",
            "minLength": 1,
            "maxLength": 80
          },
          "baseRevision": {
            "type": "integer",
            "minimum": 1,
            "description": "Exact state revision from lostloop_get_live_handoff."
          },
          "routineId": {
            "type": "string",
            "description": "The saved Ready Journey id to adapt.",
            "minLength": 1,
            "maxLength": 160
          },
          "contextSummary": {
            "type": "string",
            "description": "Short explanation of the changed situation.",
            "minLength": 1,
            "maxLength": 240
          },
          "additions": {
            "type": "array",
            "minItems": 0,
            "maxItems": 12,
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "description": "Item to add to the reviewed journey.",
                  "minLength": 1,
                  "maxLength": 120
                },
                "reason": {
                  "type": "string",
                  "description": "Why this item is useful in the changed situation.",
                  "minLength": 1,
                  "maxLength": 240
                }
              },
              "required": [
                "label",
                "reason"
              ],
              "additionalProperties": false
            }
          },
          "removals": {
            "type": "array",
            "minItems": 0,
            "maxItems": 12,
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "description": "Exact existing item label to remove from the reviewed journey.",
                  "minLength": 1,
                  "maxLength": 120
                },
                "reason": {
                  "type": "string",
                  "description": "Why this item is not needed in the changed situation.",
                  "minLength": 1,
                  "maxLength": 240
                }
              },
              "required": [
                "label",
                "reason"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "requestId",
          "baseRevision",
          "routineId",
          "contextSummary"
        ],
        "additionalProperties": false,
        "anyOf": [
          {
            "required": [
              "additions"
            ],
            "properties": {
              "additions": {
                "type": "array",
                "minItems": 1
              }
            }
          },
          {
            "required": [
              "removals"
            ],
            "properties": {
              "removals": {
                "type": "array",
                "minItems": 1
              }
            }
          }
        ]
      }
    }
    lostloop_get_foresight_briefAnswer

    Read a compact, deterministic Foresight brief from reviewed local memories, chosen homes, learned routes, Ready history, and approved Moments. Returns exact evidence and no prediction or physical-status claim.

    View tool JSON
    {
      "name": "lostloop_get_foresight_brief",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read a compact, deterministic Foresight brief from reviewed local memories, chosen homes, learned routes, Ready history, and approved Moments. Returns exact evidence and no prediction or physical-status claim.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "momentId": {
            "type": "string",
            "description": "Optional approved Foresight Moment id.",
            "minLength": 1,
            "maxLength": 160
          },
          "routineId": {
            "type": "string",
            "description": "Optional saved Ready Journey id.",
            "minLength": 1,
            "maxLength": 160
          },
          "itemNames": {
            "type": "array",
            "minItems": 1,
            "maxItems": 12,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "description": "An optional item name to include in the brief.",
              "minLength": 1,
              "maxLength": 80
            }
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    lostloop_get_memory_twinAnswer

    Read the bounded Personal Memory Twin projection derived from human-confirmed locations, chosen homes, approved routes, and reviewed Moments. The Twin is not separately stored and is never live tracking.

    View tool JSON
    {
      "name": "lostloop_get_memory_twin",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the bounded Personal Memory Twin projection derived from human-confirmed locations, chosen homes, approved routes, and reviewed Moments. The Twin is not separately stored and is never live tracking.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 40,
            "description": "Maximum nodes and links to return."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    lostloop_get_risk_radarAnswer

    Read explainable check-order cues for one approved Foresight Moment. Returns exact reasons and evidence labels without probability, severity, sensing, or a claim that an item is present or absent.

    View tool JSON
    {
      "name": "lostloop_get_risk_radar",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read explainable check-order cues for one approved Foresight Moment. Returns exact reasons and evidence labels without probability, severity, sensing, or a claim that an item is present or absent.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "momentId": {
            "type": "string",
            "description": "The approved Foresight Moment id.",
            "minLength": 1,
            "maxLength": 160
          }
        },
        "required": [
          "momentId"
        ],
        "additionalProperties": false
      }
    }
    lostloop_stage_foresight_momentAction

    Stage an inert Foresight Moment draft for visible human review. This cannot approve or start a Moment, create a Ready Run, record a finding, or confirm physical possession.

    View tool JSON
    {
      "name": "lostloop_stage_foresight_moment",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage an inert Foresight Moment draft for visible human review. This cannot approve or start a Moment, create a Ready Run, record a finding, or confirm physical possession.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "Unique idempotency key for this exact proposal.",
            "minLength": 1,
            "maxLength": 80
          },
          "baseRevision": {
            "type": "integer",
            "minimum": 1,
            "description": "Exact global revision from the latest Foresight brief."
          },
          "title": {
            "type": "string",
            "description": "Short name for the situation.",
            "minLength": 1,
            "maxLength": 80
          },
          "contextSummary": {
            "type": "string",
            "description": "Concise situation summary for human review.",
            "minLength": 1,
            "maxLength": 240
          },
          "items": {
            "type": "array",
            "minItems": 1,
            "maxItems": 12,
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "description": "Short item label.",
                  "minLength": 1,
                  "maxLength": 80
                },
                "why": {
                  "type": "string",
                  "description": "Why the item belongs in this situation; this is proposal text, not physical evidence.",
                  "minLength": 1,
                  "maxLength": 240
                },
                "required": {
                  "type": "boolean",
                  "description": "Whether the proposal marks the item as normally needed."
                }
              },
              "required": [
                "label",
                "why"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "requestId",
          "baseRevision",
          "title",
          "items"
        ],
        "additionalProperties": false
      }
    }
    lostloop_remember_locationAction

    Save a human-confirmed item location to the private local Memory Vault. Only call after the user states or confirms where the item is. Optionally make it the item's usual home.

    View tool JSON
    {
      "name": "lostloop_remember_location",
      "kind": "act",
      "impl": "imperative",
      "description": "Save a human-confirmed item location to the private local Memory Vault. Only call after the user states or confirms where the item is. Optionally make it the item's usual home.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemName": {
            "type": "string",
            "description": "The everyday name of the object, such as Keys.",
            "minLength": 1,
            "maxLength": 80
          },
          "location": {
            "type": "string",
            "description": "The human-confirmed place where the item is.",
            "minLength": 1,
            "maxLength": 120
          },
          "context": {
            "type": "string",
            "description": "Optional short context that may help a later search.",
            "minLength": 1,
            "maxLength": 240
          },
          "makeHome": {
            "type": "boolean",
            "description": "Whether this location should become the item's usual home."
          },
          "operationId": {
            "type": "string",
            "description": "Required idempotency key for this exact confirmed finding.",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "required": [
          "itemName",
          "location",
          "operationId"
        ],
        "additionalProperties": false
      }
    }
    lostloop_list_memoriesAnswer

    List the user's locally saved object memories, including confirmed locations, chosen homes, repeated patterns, and human-approved learned routes. Does not search the web or infer unconfirmed facts.

    View tool JSON
    {
      "name": "lostloop_list_memories",
      "kind": "answer",
      "impl": "imperative",
      "description": "List the user's locally saved object memories, including confirmed locations, chosen homes, repeated patterns, and human-approved learned routes. Does not search the web or infer unconfirmed facts.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemName": {
            "type": "string",
            "description": "Optional exact item name to filter the list.",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    lostloop_start_searchAction

    Start a calm, step-by-step search for one missing object. Reuses an already-active search for the same object instead of creating a duplicate.

    View tool JSON
    {
      "name": "lostloop_start_search",
      "kind": "act",
      "impl": "imperative",
      "description": "Start a calm, step-by-step search for one missing object. Reuses an already-active search for the same object instead of creating a duplicate.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemName": {
            "type": "string",
            "description": "The object the user wants to find.",
            "minLength": 1,
            "maxLength": 80
          },
          "context": {
            "type": "string",
            "description": "Optional situation clue, such as 'came home in the rain'.",
            "minLength": 1,
            "maxLength": 240
          },
          "lastSeen": {
            "type": "string",
            "description": "Optional last place the user remembers seeing the object.",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "required": [
          "itemName"
        ],
        "additionalProperties": false
      }
    }
    lostloop_propose_search_missionAction

    Stage a ChatGPT-drafted search mission for human review. This does not start a search, record a check, or change Memory. The LostLoop interface will show an editable approval gate.

    View tool JSON
    {
      "name": "lostloop_propose_search_mission",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage a ChatGPT-drafted search mission for human review. This does not start a search, record a check, or change Memory. The LostLoop interface will show an editable approval gate.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "Unique idempotency key for this mission draft.",
            "minLength": 1,
            "maxLength": 120
          },
          "baseRevision": {
            "type": "integer",
            "minimum": 1,
            "description": "Exact global revision from lostloop_get_live_handoff."
          },
          "itemName": {
            "type": "string",
            "description": "The object the user wants to find.",
            "minLength": 1,
            "maxLength": 80
          },
          "lastSeen": {
            "type": "string",
            "description": "Optional last place the user remembers.",
            "minLength": 1,
            "maxLength": 120
          },
          "contextSummary": {
            "type": "string",
            "description": "Optional concise situation summary based on the conversation.",
            "minLength": 1,
            "maxLength": 360
          },
          "suggestions": {
            "type": "array",
            "minItems": 1,
            "maxItems": 6,
            "description": "One to six proposed places. The human may edit or remove any of them.",
            "items": {
              "type": "object",
              "properties": {
                "location": {
                  "type": "string",
                  "description": "A proposed search location.",
                  "minLength": 1,
                  "maxLength": 120
                },
                "reason": {
                  "type": "string",
                  "description": "Why this place may be useful, without claiming certainty.",
                  "minLength": 1,
                  "maxLength": 240
                },
                "basis": {
                  "type": "string",
                  "enum": [
                    "confirmed_memory",
                    "human_reported_route",
                    "checked_history",
                    "general_search_pattern"
                  ],
                  "description": "Exact source category for this suggestion."
                },
                "sourceRefs": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 6,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "description": "Exact current source ref from the Home Memory Map catalog.",
                    "minLength": 1,
                    "maxLength": 200
                  }
                }
              },
              "required": [
                "location",
                "reason",
                "basis",
                "sourceRefs"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "requestId",
          "baseRevision",
          "itemName",
          "suggestions"
        ],
        "additionalProperties": false
      }
    }
    lostloop_get_search_planAnswer

    Get the current phased Search Coach plan, approved Memory Route, and explainable order. Returns priorities and reasons using only local confirmed or source-labelled evidence plus general search patterns.

    View tool JSON
    {
      "name": "lostloop_get_search_plan",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the current phased Search Coach plan, approved Memory Route, and explainable order. Returns priorities and reasons using only local confirmed or source-labelled evidence plus general search patterns.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    lostloop_stage_rewind_routeAction

    Stage a structured Rewind route for human review. Include only transitions the human actually reported; label any connective suggestion as inferred. Staging is inert and cannot approve or save route memory.

    View tool JSON
    {
      "name": "lostloop_stage_rewind_route",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage a structured Rewind route for human review. Include only transitions the human actually reported; label any connective suggestion as inferred. Staging is inert and cannot approve or save route memory.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "Unique idempotency key for this exact Rewind route draft.",
            "minLength": 1,
            "maxLength": 80
          },
          "searchId": {
            "type": "string",
            "description": "The exact active search id.",
            "minLength": 1,
            "maxLength": 120
          },
          "baseRevision": {
            "type": "integer",
            "minimum": 1,
            "description": "The exact current search revision."
          },
          "title": {
            "type": "string",
            "description": "A short route title for human review.",
            "minLength": 1,
            "maxLength": 120
          },
          "steps": {
            "type": "array",
            "minItems": 2,
            "maxItems": 8,
            "description": "Two to eight ordered transitions. Use confirmed for a human-reported step and inferred for a connective suggestion.",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string",
                  "description": "The reported place, container, or activity.",
                  "minLength": 1,
                  "maxLength": 120
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "place",
                    "container",
                    "activity"
                  ]
                },
                "evidence": {
                  "type": "string",
                  "enum": [
                    "confirmed",
                    "inferred"
                  ],
                  "description": "confirmed means human-reported, never sensor-verified."
                },
                "note": {
                  "type": "string",
                  "description": "Optional short explanation visible during review.",
                  "minLength": 1,
                  "maxLength": 240
                }
              },
              "required": [
                "label",
                "kind",
                "evidence"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "requestId",
          "searchId",
          "baseRevision",
          "title",
          "steps"
        ],
        "additionalProperties": false
      }
    }
    lostloop_record_checkAction

    Record what the human reports after checking one place. 'found' creates a proposed learning receipt but never silently adds the location to long-term memory.

    View tool JSON
    {
      "name": "lostloop_record_check",
      "kind": "act",
      "impl": "imperative",
      "description": "Record what the human reports after checking one place. 'found' creates a proposed learning receipt but never silently adds the location to long-term memory.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "The place the user checked.",
            "minLength": 1,
            "maxLength": 120
          },
          "searchId": {
            "type": "string",
            "description": "The exact active search id returned by the current search plan.",
            "minLength": 1,
            "maxLength": 120
          },
          "baseRevision": {
            "type": "integer",
            "minimum": 1,
            "description": "The exact current search revision."
          },
          "outcome": {
            "type": "string",
            "description": "How complete the check was, or whether the object was found.",
            "enum": [
              "thorough_absent",
              "glance_absent",
              "inaccessible",
              "unsure",
              "found"
            ]
          },
          "note": {
            "type": "string",
            "description": "Optional short note from the human.",
            "minLength": 1,
            "maxLength": 240
          },
          "operationId": {
            "type": "string",
            "description": "Required unique idempotency key for this exact check.",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "required": [
          "searchId",
          "baseRevision",
          "location",
          "outcome",
          "operationId"
        ],
        "additionalProperties": false
      }
    }
    lostloop_stage_search_updateAction

    Turn one or more human-reported search observations into an editable review packet. Staging is inert: it does not alter the live search until the human approves the packet in LostLoop.

    View tool JSON
    {
      "name": "lostloop_stage_search_update",
      "kind": "act",
      "impl": "imperative",
      "description": "Turn one or more human-reported search observations into an editable review packet. Staging is inert: it does not alter the live search until the human approves the packet in LostLoop.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "packetId": {
            "type": "string",
            "description": "Unique idempotency key for this exact packet.",
            "minLength": 1,
            "maxLength": 120
          },
          "searchId": {
            "type": "string",
            "description": "The active search id returned by the snapshot or search plan.",
            "minLength": 1,
            "maxLength": 120
          },
          "baseRevision": {
            "type": "integer",
            "minimum": 1,
            "description": "The exact current search revision."
          },
          "observations": {
            "type": "array",
            "minItems": 1,
            "maxItems": 8,
            "description": "Structured observations from the human's report. If found, it must be the final observation.",
            "items": {
              "type": "object",
              "properties": {
                "location": {
                  "type": "string",
                  "description": "The place the human reports checking.",
                  "minLength": 1,
                  "maxLength": 120
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "thorough_absent",
                    "glance_absent",
                    "inaccessible",
                    "unsure",
                    "found"
                  ]
                },
                "note": {
                  "type": "string",
                  "description": "Optional short human-reported note.",
                  "minLength": 1,
                  "maxLength": 240
                }
              },
              "required": [
                "location",
                "outcome"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "packetId",
          "searchId",
          "baseRevision",
          "observations"
        ],
        "additionalProperties": false
      }
    }
    lostloop_confirm_learningAction

    Resolve an ordered learning receipt after a human-confirmed find. The optional gate defaults to location; route learning becomes available only after location learning is remembered or set as home.

    View tool JSON
    {
      "name": "lostloop_confirm_learning",
      "kind": "act",
      "impl": "imperative",
      "description": "Resolve an ordered learning receipt after a human-confirmed find. The optional gate defaults to location; route learning becomes available only after location learning is remembered or set as home.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "gate": {
            "type": "string",
            "description": "The learning gate to resolve. Omit for backward-compatible location learning.",
            "enum": [
              "location",
              "route"
            ]
          },
          "decision": {
            "type": "string",
            "description": "The user's explicit choice. Route learning accepts remember or skip; location learning also accepts make_home.",
            "enum": [
              "remember",
              "make_home",
              "skip"
            ]
          },
          "searchId": {
            "type": "string",
            "description": "The exact search id whose learning receipt the human is resolving.",
            "minLength": 1,
            "maxLength": 120
          },
          "baseRevision": {
            "type": "integer",
            "minimum": 1,
            "description": "The exact current search revision."
          },
          "operationId": {
            "type": "string",
            "description": "Required idempotency key for this exact learning choice.",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "required": [
          "decision",
          "searchId",
          "baseRevision",
          "operationId"
        ],
        "additionalProperties": false
      }
    }
    lostloop_get_ready_checkAction

    Get a departure checklist of important everyday items. It is a user-controlled reminder list, not a claim that LostLoop can sense whether an item is physically present.

    View tool JSON
    {
      "name": "lostloop_get_ready_check",
      "kind": "act",
      "impl": "imperative",
      "description": "Get a departure checklist of important everyday items. It is a user-controlled reminder list, not a claim that LostLoop can sense whether an item is physically present.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    lostloop_get_prevention_planAction

    Inspect reusable Ready Journeys, the current persistent Ready Run, and Home Reset suggestions. Physical possession remains human-confirmed.

    View tool JSON
    {
      "name": "lostloop_get_prevention_plan",
      "kind": "act",
      "impl": "imperative",
      "description": "Inspect reusable Ready Journeys, the current persistent Ready Run, and Home Reset suggestions. Physical possession remains human-confirmed.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    lostloop_get_prevention_insightsAnswer

    Read evidence-bounded prevention insights from human-learned Rewind routes and repeated Ready Journey recovery reports. Returns exact counts, never probabilities, and makes no changes.

    View tool JSON
    {
      "name": "lostloop_get_prevention_insights",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read evidence-bounded prevention insights from human-learned Rewind routes and repeated Ready Journey recovery reports. Returns exact counts, never probabilities, and makes no changes.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemName": {
            "type": "string",
            "description": "Optional exact item name for filtering learned route patterns.",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    lostloop_update_ready_checkAction

    Replace the items in the Everyday essentials Ready Check. Call only when the user asks to customize the checklist.

    View tool JSON
    {
      "name": "lostloop_update_ready_check",
      "kind": "act",
      "impl": "imperative",
      "description": "Replace the items in the Everyday essentials Ready Check. Call only when the user asks to customize the checklist.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "description": "One to twenty item labels to check before leaving.",
            "minItems": 1,
            "maxItems": 20,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "description": "A short item label.",
              "minLength": 1,
              "maxLength": 60
            }
          }
        },
        "required": [
          "items"
        ],
        "additionalProperties": false
      }
    }
    lostloop_save_ready_planAction

    Create a reusable Ready Journey or replace the contents of one named plan. Call only when the user asks to create or edit a checklist.

    View tool JSON
    {
      "name": "lostloop_save_ready_plan",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a reusable Ready Journey or replace the contents of one named plan. Call only when the user asks to create or edit a checklist.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "planId": {
            "type": "string",
            "description": "Optional existing plan id. Omit to create a new plan.",
            "minLength": 1,
            "maxLength": 120
          },
          "name": {
            "type": "string",
            "description": "Ready Journey name, such as School morning.",
            "minLength": 1,
            "maxLength": 80
          },
          "operationId": {
            "type": "string",
            "description": "Required idempotency key for this exact plan save.",
            "minLength": 1,
            "maxLength": 80
          },
          "items": {
            "type": "array",
            "minItems": 1,
            "maxItems": 20,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "description": "A short item label.",
              "minLength": 1,
              "maxLength": 60
            }
          }
        },
        "required": [
          "name",
          "items",
          "operationId"
        ],
        "additionalProperties": false
      }
    }
    lostloop_start_ready_runAction

    Start a persistent Ready Run from a saved Ready Journey. This initializes every item as unchecked and makes no claim about physical possession.

    View tool JSON
    {
      "name": "lostloop_start_ready_run",
      "kind": "act",
      "impl": "imperative",
      "description": "Start a persistent Ready Run from a saved Ready Journey. This initializes every item as unchecked and makes no claim about physical possession.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "routineId": {
            "type": "string",
            "description": "The saved Ready Journey id.",
            "minLength": 1,
            "maxLength": 120
          },
          "operationId": {
            "type": "string",
            "description": "Required idempotency key for this exact run start.",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "required": [
          "routineId",
          "operationId"
        ],
        "additionalProperties": false
      }
    }
    lostloop_record_ready_itemAction

    Record the user's explicit status for one item in the active Ready Run. Never infer with_me from a search result; the human must say they physically have it.

    View tool JSON
    {
      "name": "lostloop_record_ready_item",
      "kind": "act",
      "impl": "imperative",
      "description": "Record the user's explicit status for one item in the active Ready Run. Never infer with_me from a search result; the human must say they physically have it.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "runId": {
            "type": "string",
            "description": "The active Ready Run id.",
            "minLength": 1,
            "maxLength": 120
          },
          "itemId": {
            "type": "string",
            "description": "The Ready Run item id.",
            "minLength": 1,
            "maxLength": 120
          },
          "status": {
            "type": "string",
            "enum": [
              "with_me",
              "missing",
              "not_needed"
            ],
            "description": "The user's explicit status."
          },
          "operationId": {
            "type": "string",
            "description": "Unique idempotency key for this exact status update.",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "required": [
          "runId",
          "itemId",
          "status",
          "operationId"
        ],
        "additionalProperties": false
      }
    }
    lostloop_delete_memorySensitive Action

    Permanently delete one named item, its related searches, pending reviews, and the unscoped local activity trail. This is destructive and should only be called after the user explicitly asks to remove that exact memory.

    View tool JSON
    {
      "name": "lostloop_delete_memory",
      "kind": "transact",
      "impl": "imperative",
      "description": "Permanently delete one named item, its related searches, pending reviews, and the unscoped local activity trail. This is destructive and should only be called after the user explicitly asks to remove that exact memory.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemName": {
            "type": "string",
            "description": "The exact object name to delete.",
            "minLength": 1,
            "maxLength": 80
          }
        },
        "required": [
          "itemName"
        ],
        "additionalProperties": false
      }
    }
    lostloop_stage_place_phraseAction

    Stage one private personal phrase for an exact visible Home Canvas room or landmark. This teaches navigation vocabulary only: it changes no memory fact, search evidence, check, finding, or physical status. The phrase remains a temporary visible draft until the human approves it in My Home Language.

    View tool JSON
    {
      "name": "lostloop_stage_place_phrase",
      "kind": "act",
      "impl": "imperative",
      "description": "Stage one private personal phrase for an exact visible Home Canvas room or landmark. This teaches navigation vocabulary only: it changes no memory fact, search evidence, check, finding, or physical status. The phrase remains a temporary visible draft until the human approves it in My Home Language.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "description": "Unique id for this exact phrase proposal and safe retry.",
            "minLength": 1,
            "maxLength": 80
          },
          "baseRevision": {
            "type": "integer",
            "minimum": 1,
            "description": "Exact global revision from lostloop_get_live_handoff."
          },
          "phrase": {
            "type": "string",
            "description": "The person's private phrase for the visible place.",
            "minLength": 1,
            "maxLength": 60
          },
          "targetId": {
            "type": "string",
            "description": "Exact area or landmark id copied from the current Home Canvas.",
            "minLength": 1,
            "maxLength": 160
          }
        },
        "required": [
          "requestId",
          "baseRevision",
          "phrase",
          "targetId"
        ],
        "additionalProperties": false
      }
    }
    lostloop_export_dataAction

    Create a local JSON download containing the user's LostLoop data. The private contents stay in the browser; the tool result reports only the filename and byte count.

    View tool JSON
    {
      "name": "lostloop_export_data",
      "kind": "act",
      "impl": "imperative",
      "description": "Create a local JSON download containing the user's LostLoop data. The private contents stay in the browser; the tool result reports only the filename and byte count.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }