Self-healing web data pipelines. An autonomous repair agent for scrapers that breaks the maintenance treadmill — with a human approval gate in front of every deploy.
Reweave demonstrates solid naming conventions (verb-first: list_, run_, approve_, reject_, add_, get_) and comprehensive tool annotations (readOnlyHint, destructiveHint). All 9 tools have descriptions (avg ~120 chars, within baseline 34-392 range) and explicit input schemas with required fields. However, parameter descriptions are sparse: most parameters lack inline descriptions explaining their purpose, format, or constraints. For example, 'source_id' appears in 3 tools but has no description. The 'actor' parameter in approve_heal and reject_heal lacks guidance on expected format (email? username? full name?). Output schemas are entirely undocumented, LLMs cannot infer what list_sources, get_rows, or impact_report return. Error handling is implicit; no tool documents recovery paths or categorizes failures. The 'golden' parameter in add_source (array of objects) has no schema for the object structure. Overall: good naming and annotation discipline, but parameter and output documentation gaps prevent higher scores.
Onboard a new source with ZERO selectors: provide a url and 2+ golden example records visible on the page; the Surgeon synthesizes and validates the extraction spec from the examples.
DEPLOY a pending repair: activates the new extraction spec version. Irreversible in effect — requires an accountable human actor.
Demo only: ship a structural redesign to the built-in target site.
The latest extracted rows for a source (the actual data).
Totals of approved heals and the engineer-time/dollar impact ledger.
List repair proposals awaiting human approval, with full diffs and validation evidence.
Output schemas completely undocumented. LLMs cannot infer what list_sources, get_rows, impact_report, or list_pending_heals return. No field names, types, or structure guidance.
Parameter descriptions missing or minimal. 'source_id' appears in run_pipeline, get_rows, and add_source with no description. 'actor' in approve_heal/reject_heal lacks format guidance (email? username?). 'golden' in add_source has no schema for array item structure.
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. No recovery paths (e.g., 'If source_id not found, call list_sources first').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
List every monitored source with health status and active spec version.
Reject a pending repair proposal with an optional reason.
Run one observe/extract/assess cycle for a source. If structural drift is detected, the Surgeon synthesizes a validated repair and parks it at the approval gate. Never deploys anything by itself.
Irreversible operations (approve_heal) lack confirmation or dry-run support. No pattern to prevent accidental deployments despite destructiveHint annotation.
add_source 'golden' parameter is an array of objects with no schema. LLMs cannot determine what fields each object should contain or their types.