{"ok":true,"site":{"host":"shiv-aurora.github.io","url":"https://shiv-aurora.github.io/openai-webmcp-challenge/","type":"live","desc":"Potter's Wheel","tools":[{"name":"get_current_selection","kind":"answer","impl":"imperative","description":"Return the researcher's live manuscript selection, section, object kind, and verification state without changing the document.","title":"Get current manuscript selection","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_manuscript_context","kind":"answer","impl":"imperative","description":"Return live manuscript text and integrity context for the current selection, current section, or manuscript.","title":"Get manuscript context","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"scope":{"type":"string","enum":["selection","section","manuscript"],"description":"Context scope. Defaults to the current section."},"maxChars":{"type":"integer","minimum":256,"maximum":20000,"description":"Maximum manuscript characters to return. Defaults to 4000."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_claim","kind":"answer","impl":"imperative","description":"Return the currently selected claim, or a tracked claim by id, including its verification state and linked evidence.","title":"Get claim","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"claimId":{"type":"string","description":"Optional tracked claim id. Omit it to use the current manuscript selection."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_figure","kind":"answer","impl":"imperative","description":"Return the currently selected figure, or a tracked figure by id, including its verification state and linked evidence.","title":"Get figure","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"figureId":{"type":"string","description":"Optional tracked figure id. Omit it to use the current manuscript selection."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_table","kind":"answer","impl":"imperative","description":"Return the currently selected table, or a tracked table by id, including its verification state and linked evidence.","title":"Get table","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"tableId":{"type":"string","description":"Optional tracked table id. Omit it to use the current manuscript selection."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_current_section","kind":"answer","impl":"imperative","description":"Return the named manuscript section containing the researcher's current selection together with that section's live text.","title":"Get current section","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_provenance","kind":"answer","impl":"imperative","description":"Return provenance and linked evidence for the currently selected tracked manuscript object, or for an explicit object id.","title":"Get provenance","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"objectId":{"type":"string","description":"Optional tracked manuscript object id. Omit it to use the current manuscript selection."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_integrity_status","kind":"answer","impl":"imperative","description":"Return live manuscript integrity counts and optional summaries of tracked provenance objects without changing researcher state.","title":"Get manuscript integrity status","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"includeObjects":{"type":"boolean","description":"Include tracked object summaries. Defaults to true."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum tracked object summaries to return. Defaults to 50."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_navigation_targets","kind":"answer","impl":"imperative","description":"List tracked manuscript objects that an agent may ask the researcher to inspect or navigate to, optionally filtered by object kind or verification state.","title":"Get manuscript navigation targets","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"kind":{"type":"string","enum":["claim","method","figure","table"],"description":"Optional manuscript object kind filter."},"verificationState":{"type":"string","enum":["unlinked","needs-review","verified","stale","contradicted"],"description":"Optional verification-state filter."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum navigation targets to return. Defaults to 50."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"create_claim","kind":"act","impl":"imperative","description":"Create a first-class provenance claim from the researcher's current explicit text selection. Requires the exact text previously read by the agent so stale selections fail safely.","title":"Create tracked claim","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"expectedText":{"type":"string","minLength":1,"maxLength":10000,"description":"Exact selected manuscript text observed before this call."}},"required":["expectedText"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"attach_evidence","kind":"act","impl":"imperative","description":"Attach structured evidence to the selected or explicitly identified tracked manuscript object. This visibly updates the same provenance state shown in the integrity panel.","title":"Attach research evidence","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"objectId":{"type":"string","description":"Optional tracked manuscript object id. Omit it to use the currently selected tracked object."},"type":{"type":"string","enum":["experiment-result","result-file","evaluation-script","configuration","implementation","figure-source","table-source","dataset","commit","analysis-artifact","other"]},"label":{"type":"string","maxLength":300},"artifactId":{"type":"string","maxLength":300},"experimentId":{"type":"string","maxLength":300},"commit":{"type":"string","maxLength":200},"metric":{"type":"string","maxLength":500},"uri":{"type":"string","maxLength":1000},"relation":{"type":"string","enum":["supports","produces","describes","derived-from"]},"notes":{"type":"string","maxLength":2000}},"required":["label"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"update_evidence","kind":"act","impl":"imperative","description":"Update structured evidence already linked to a tracked manuscript object. The evidence must belong to that object; unrelated evidence cannot be edited through this call.","title":"Update linked research evidence","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"objectId":{"type":"string","description":"Optional tracked object id. Omit it to use the selected tracked object."},"evidenceId":{"type":"string"},"type":{"type":"string","enum":["experiment-result","result-file","evaluation-script","configuration","implementation","figure-source","table-source","dataset","commit","analysis-artifact","other"]},"label":{"type":"string","maxLength":300},"artifactId":{"type":"string","maxLength":300},"experimentId":{"type":"string","maxLength":300},"commit":{"type":"string","maxLength":200},"metric":{"type":"string","maxLength":500},"uri":{"type":"string","maxLength":1000},"relation":{"type":"string","enum":["supports","produces","describes","derived-from"]},"notes":{"type":"string","maxLength":2000}},"required":["evidenceId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"verify_claim","kind":"act","impl":"imperative","description":"Run the editor's deterministic Verify This comparison for a selected or identified tracked claim. It compares only unambiguous manuscript and evidence metric values and returns an honest review-required outcome otherwise.","title":"Verify quantitative claim","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"claimId":{"type":"string","description":"Optional tracked claim id. Omit it to use the selected tracked claim."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"record_verification_result","kind":"act","impl":"imperative","description":"Record an evidence-backed conclusion from an external research agent on a tracked claim. This stores the visible result and reasons but never changes manuscript text; use propose_claim_change separately for a researcher-reviewed correction.","title":"Record external verification result","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"claimId":{"type":"string","description":"Optional tracked claim id. Omit it to use the selected tracked claim."},"outcome":{"type":"string","enum":["verified","contradicted","stale","missing-evidence","needs-review","partially-supported"]},"reason":{"type":"string","minLength":1,"maxLength":2000},"evidenceIds":{"type":"array","items":{"type":"string"},"maxItems":50}},"required":["outcome","reason","evidenceIds"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"set_verification_state","kind":"act","impl":"imperative","description":"Set the verification state of a tracked manuscript object. Verified, stale, contradicted, and needs-review states require linked evidence; unlinked is only valid when no evidence is attached.","title":"Set verification state","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"objectId":{"type":"string","description":"Optional tracked object id. Omit it to use the selected tracked object."},"verificationState":{"type":"string","enum":["unlinked","needs-review","verified","stale","contradicted"]}},"required":["verificationState"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"propose_claim_change","kind":"act","impl":"imperative","description":"Stage a replacement for a tracked claim as CriticMarkup. This never silently accepts the new manuscript text: the researcher receives the editor's normal accept/reject controls.","title":"Propose claim change","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"claimId":{"type":"string","description":"Optional tracked claim id. Omit it to use the selected tracked claim."},"expectedText":{"type":"string","minLength":1,"maxLength":10000},"replacementText":{"type":"string","maxLength":10000}},"required":["expectedText","replacementText"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"insert_comment","kind":"act","impl":"imperative","description":"Insert an additive visible comment on the current selection line or a tracked object's line. Existing comment threads are never overwritten; the tool fails if that line already has a comment.","title":"Insert manuscript comment","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":2000},"objectId":{"type":"string","description":"Optional tracked object whose anchor line should receive the comment."},"line":{"type":"integer","minimum":1,"description":"Optional explicit one-based manuscript line number."}},"required":["text"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"replace_selected_content","kind":"act","impl":"imperative","description":"Stage a replacement for the researcher's current explicit selection. Despite the action name, the new text is not silently accepted: it is inserted as CriticMarkup and remains pending until the researcher accepts or rejects it.","title":"Replace selected manuscript content for review","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"expectedText":{"type":"string","minLength":1,"maxLength":10000,"description":"Exact selected text observed before this call."},"replacementText":{"type":"string","maxLength":10000}},"required":["expectedText","replacementText"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"navigate_to_object","kind":"act","impl":"imperative","description":"Move the visible editor selection to a tracked claim, method, figure, or table. This changes navigation state only; it does not modify manuscript or provenance content.","title":"Navigate to manuscript object","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"objectId":{"type":"string"}},"required":["objectId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_research_diffs","kind":"answer","impl":"imperative","description":"Return evidence-driven Research Diff entries from live provenance alongside currently pending CriticMarkup manuscript proposals.","title":"Get reviewable manuscript changes","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"stage_research_diff","kind":"act","impl":"imperative","description":"Stage the proposed manuscript text for one evidence-driven Research Diff as CriticMarkup. The update remains unapplied until the researcher uses the visible accept/reject controls.","title":"Stage research diff for researcher review","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"diffId":{"type":"string"}},"required":["diffId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"review_research_diff","kind":"act","impl":"imperative","description":"Record a defer or reject decision for an evidence-driven Research Diff without changing manuscript text. Agents cannot accept manuscript rewrites.","title":"Defer or reject research diff","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"diffId":{"type":"string"},"decision":{"type":"string","enum":["deferred","rejected"]},"reason":{"type":"string","maxLength":1000}},"required":["diffId","decision"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"navigate_to_research_diff","kind":"act","impl":"imperative","description":"Move the visible editor selection to an evidence-driven Research Diff or pending CriticMarkup proposal so the researcher can inspect it without changing manuscript content.","title":"Navigate to reviewable manuscript change","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"from":{"type":"integer","minimum":0,"description":"A pending CriticMarkup diff's `from` value."},"diffId":{"type":"string","description":"An evidence-driven Research Diff id."}},"anyOf":[{"required":["from"]},{"required":["diffId"]}],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_experiments","kind":"answer","impl":"imperative","description":"Return the same persisted experiment runs visible in Potter’s Wheel, optionally filtered by run status.","title":"List research experiments","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"status":{"type":"string","enum":["planned","running","completed","failed","superseded"]},"limit":{"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_experiment","kind":"answer","impl":"imperative","description":"Return one run with its parameters, metrics, artifacts, produced evidence, and dependent manuscript objects.","title":"Get research experiment","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"experimentId":{"type":"string","maxLength":300,"description":"Experiment run id"}},"required":["experimentId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"compare_experiments","kind":"act","impl":"imperative","description":"Compare the configuration, metrics, datasets, artifacts, and provenance impact of two experiment runs.","title":"Compare research experiments","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"baseExperimentId":{"type":"string","maxLength":300,"description":"Earlier experiment id"},"candidateExperimentId":{"type":"string","maxLength":300,"description":"Newer experiment id"}},"required":["baseExperimentId","candidateExperimentId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"get_evidence_catalog","kind":"answer","impl":"imperative","description":"Return evidence between experiments and the paper, including its originating run and manuscript usage.","title":"List research evidence","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"experimentId":{"type":"string","maxLength":300,"description":"Optional originating experiment id"},"type":{"type":"string","enum":["experiment-result","result-file","evaluation-script","configuration","implementation","figure-source","table-source","dataset","commit","analysis-artifact","other"]}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"create_experiment","kind":"act","impl":"imperative","description":"Create a run in the same Experiments workspace the researcher uses.","title":"Create research experiment","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"id":{"type":"string","maxLength":300,"description":"Optional stable run id"},"name":{"type":"string","maxLength":300,"description":"Human-readable run name"},"status":{"type":"string","enum":["planned","running","completed","failed","superseded"]},"method":{"type":"string","maxLength":300,"description":"Model or research method"},"sourceCommit":{"type":"string","maxLength":200,"description":"Source commit"},"notes":{"type":"string","maxLength":2000,"description":"Research notes"},"startedAt":{"type":"string","maxLength":300,"description":"ISO timestamp"}},"required":["name"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"update_experiment","kind":"act","impl":"imperative","description":"Update run metadata such as its name, method, notes, timestamps, datasets, or source commit.","title":"Update research experiment","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"experimentId":{"type":"string","maxLength":300,"description":"Experiment run id"},"name":{"type":"string","maxLength":300,"description":"Run name"},"method":{"type":"string","maxLength":300,"description":"Model or method"},"sourceCommit":{"type":"string","maxLength":200,"description":"Source commit"},"notes":{"type":"string","maxLength":2000,"description":"Research notes"},"datasets":{"type":"array","items":{"type":"string"},"maxItems":100},"startedAt":{"type":"string","maxLength":300,"description":"ISO timestamp"},"completedAt":{"type":"string","maxLength":300,"description":"ISO timestamp"}},"required":["experimentId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"add_experiment_metric","kind":"act","impl":"imperative","description":"Add or update a named metric on a research run.","title":"Log experiment metric","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"experimentId":{"type":"string","maxLength":300,"description":"Experiment run id"},"key":{"type":"string","maxLength":300,"description":"Metric name"},"value":{}},"required":["experimentId","key","value"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"add_experiment_parameter","kind":"act","impl":"imperative","description":"Add or update a named configuration value on a research run.","title":"Log experiment parameter","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"experimentId":{"type":"string","maxLength":300,"description":"Experiment run id"},"key":{"type":"string","maxLength":300,"description":"Parameter name"},"value":{}},"required":["experimentId","key","value"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"log_experiment_metric_point","kind":"act","impl":"imperative","description":"Append a numeric metric point at a training step and update the run's latest value, like an MLflow metric history.","title":"Log experiment metric history","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"experimentId":{"type":"string","maxLength":300,"description":"Experiment run id"},"key":{"type":"string","maxLength":300,"description":"Metric name"},"value":{"type":"number"},"step":{"type":"number","minimum":0}},"required":["experimentId","key","value"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"attach_experiment_artifact","kind":"act","impl":"imperative","description":"Attach a result, figure, table, configuration, or other artifact to a research run.","title":"Attach experiment artifact","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"experimentId":{"type":"string","maxLength":300,"description":"Experiment run id"},"label":{"type":"string","maxLength":300,"description":"Artifact label"},"type":{"type":"string","maxLength":300,"description":"Artifact type"},"uri":{"type":"string","maxLength":1000,"description":"Artifact URI"},"id":{"type":"string","maxLength":300,"description":"Optional artifact id"}},"required":["experimentId","label"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"set_experiment_status","kind":"act","impl":"imperative","description":"Mark a run planned, running, completed, or failed in the shared experiment workspace.","title":"Set experiment status","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"experimentId":{"type":"string","maxLength":300,"description":"Experiment run id"},"status":{"type":"string","enum":["planned","running","completed","failed"]},"completedAt":{"type":"string","maxLength":300,"description":"Optional ISO completion timestamp"}},"required":["experimentId","status"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"supersede_experiment","kind":"act","impl":"imperative","description":"Identify a newer run as replacing an earlier run and mark dependent manuscript objects stale for review.","title":"Supersede research experiment","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"olderExperimentId":{"type":"string","maxLength":300,"description":"Superseded run id"},"newerExperimentId":{"type":"string","maxLength":300,"description":"Replacement run id"}},"required":["olderExperimentId","newerExperimentId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"create_experiment_evidence","kind":"act","impl":"imperative","description":"Turn a run metric, configuration, result, figure, or table artifact into durable evidence for the paper. A superseded evidence id rewires its manuscript links and creates Research Diffs.","title":"Publish experiment evidence","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"experimentId":{"type":"string","maxLength":300,"description":"Originating experiment id"},"label":{"type":"string","maxLength":300,"description":"Evidence label"},"type":{"type":"string","enum":["experiment-result","result-file","evaluation-script","configuration","implementation","figure-source","table-source","dataset","commit","analysis-artifact","other"]},"evidenceKind":{"type":"string","maxLength":300,"description":"Quantitative result, comparison, methodology, ablation, figure, or table result"},"metric":{"type":"string","maxLength":500,"description":"Machine-readable metric, for example accuracy=17.3%"},"value":{},"baseline":{},"artifactId":{"type":"string","maxLength":300,"description":"Artifact id"},"uri":{"type":"string","maxLength":1000,"description":"Artifact URI"},"notes":{"type":"string","maxLength":2000,"description":"Research notes"},"supersedesEvidenceId":{"type":"string","maxLength":300,"description":"Optional older evidence id to replace"}},"required":["experimentId","label"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"},{"name":"link_evidence_to_manuscript","kind":"act","impl":"imperative","description":"Connect existing experiment evidence to an existing claim, figure, table, or method in the same visible workspace.","title":"Link evidence to manuscript object","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"evidenceId":{"type":"string","maxLength":300,"description":"Evidence id"},"objectId":{"type":"string","maxLength":300,"description":"Tracked manuscript object id"},"relation":{"type":"string","enum":["supports","produces","describes","derived-from"]}},"required":["evidenceId","objectId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/openai-webmcp-challenge/"}],"category":"Health & Education","apiSurface":"spec","toolCount":37}}