Aligned hydrocarbon-nitrogen-water forecasting engine with TensorFlow Metal diagnostics and MCP tooling
10 tools with explicit schemas and descriptions, but significant quality gaps. Tool names lack action verbs (e.g., 'backend_status_tool' vs 'get_backend_status'). Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Parameter descriptions exist but lack constraints, ranges, and format guidance. No output schemas documented. Error handling is minimal, responses include generic error objects without recovery guidance. Tools like 'train_model_tool' and 'optimize_schedule_tool' accept identical parameters (backend_preference, force_retrain, scenario_rows) suggesting poor composition. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels (WRITE vs READ_ONLY). Audit and evidence recording present but not integrated into tool responses.
Expose the dated source manifest and the macro-to-chemistry alignment map.
Inspect TensorFlow, visible devices, Metal probe status, and CPU fallback notes.
Forecast aligned chemical observables for the next horizon.
Inspect host readiness, file layout, and backend availability.
Run the differentiable multi-objective control optimizer over the future horizon.
Persist source-backed evidence gathered by an agent, with source_url required for every item.
Tool names lack action verbs. All 10 tools end with '_tool' suffix and use noun-only names (e.g., 'backend_status_tool', 'alignment_manifest_tool'). LLMs rely on verb-noun patterns (get_, create_, update_) to infer intent. Current names force LLMs to read full descriptions to understand what each tool does.
Parameter descriptions lack constraints and format guidance. 'backend_preference' accepts 'gpu' or 'cpu' but description does not enumerate valid values or explain fallback behavior. 'scenario_rows' is typed as array but lacks element schema, length limits, or structure documentation. No ranges for numeric params.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Return the shortest single-call briefing payload for MCP clients.
Train the three-layer LSTM plus temporal-attention forecaster.
Return lab protocols with expected GC, FTIR, IC, yield, and conductivity outputs.
Rebuild model, forecast, optimization, figures, and manifest artifacts.
No output schemas documented. Tools return wrapped responses with 'ok', 'tool', 'request_id', 'duration_ms', 'data', 'artifacts', 'error' fields, but the structure and content of 'data' field is never specified. LLMs cannot plan downstream calls or extract required fields without documented return types.
Tool annotations missing. Code declares Risk levels (READ_ONLY, WRITE) but does not expose readOnlyHint or destructiveHint in tool definitions. Agents cannot distinguish safe from destructive operations without explicit annotations.
Parameter duplication across tools. 'train_model_tool', 'forecast_observables_tool', 'optimize_schedule_tool', 'validation_protocols_tool', 'write_artifacts_tool', and 'scenario_briefing_tool' all accept identical (backend_preference, force_retrain, scenario_rows) parameters. Suggests poor composition, these should be separate, focused tools or a single parameterized tool.