Convert web-search (simplest: api-key, one GET tool) first as the proof, then github/meta — keeping their one custom branch as an optional per-tool handler escape hatch. Tool names stay identical (persisted capabilities.tools / consent keys untouched); the existing dedicated tests (100%) are the behavior contract. Part of #143.
Convert web-search (simplest: api-key, one GET tool) first as the proof, then github/meta — keeping their one custom branch as an optional per-tool
handlerescape hatch. Tool names stay identical (persisted capabilities.tools / consent keys untouched); the existing dedicated tests (100%) are the behavior contract. Part of #143.