Zum Inhalt springen

Validation Strategy

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

Normative language (MUST/SHOULD/MAY) follows the conventions defined in Conformance Language.


FlowMCP v4.2.0 introduces a two-layer validation strategy: deterministic (structural) and probabilistic (LLM-based). Together they produce a Grade Report with a letter grade (A–F).


See also — Grading-Spec in flowmcp-grading

Section titled “See also — Grading-Spec in flowmcp-grading”

A separate Grading-Spec (gradingSpec/1.0.0) covers Single-Schema and Selection grading in the flowmcp-grading repo. The Validation Strategy in this file remains the deterministic baseline; the Grading System defined in the Grading-Spec extends (and partly replaces) the simple A–F Grade System described below. The Schemas-Spec v4.2.0 remains the highest instance.

Entry point: flowmcp-grading/spec/1.0.0/00-overview.md.


GradeConditionMeaning
APASS + Score ≥ 4.0Production-ready
BPASS + Score ≥ 3.0Good, minor gaps
CPASS + Score ≥ 2.0Acceptable
DPASS + Score < 2.0Weak
FFAILNot loadable

PASS means the deterministic validator found no errors (warnings are allowed).

{
"schemaId": "etherscan-io/contracts",
"validatorVersion": "validation/4.0",
"timestamp": "2026-05-11T09:00:00Z",
"deterministic": {
"status": "PASS",
"errors": [],
"warnings": []
},
"probabilistic": {
"score": 4.2
},
"primitives": [
"etherscan-io/tool/getAbi",
"etherscan-io/tool/getContractCreation"
],
"grade": "A"
}
FieldTypeDescription
schemaIdstringSchema-File-ID (namespace/schema-name, 1 slash) — references the physical .mjs file
validatorVersionstringValidator version used (internal, not stored in schemas)
timestampstringISO 8601 when the report was generated
deterministic.statusstringPASS or FAIL
deterministic.errorsarrayValidation errors (VAL codes)
deterministic.warningsarrayValidation warnings
probabilistic.scorenumberLLM evaluation score (0.0–5.0)
primitivesstring[]All Primitive-IDs active in this schema at validation time
gradestringFinal grade: A, B, C, D, or F

schemaId MUST be the Schema-File-ID (namespace/schema-name, 1 slash) — not a Primitive-ID (2 slashes).

Correct: "schemaId": "etherscan-io/contracts"
Wrong: "schemaId": "etherscan-io/tool/getAbi" ← This is a Primitive-ID

The Schema-File-ID connects the report to the physical file on disk.

Validator versions are internal and are NOT stored in schema files. They appear only in the Grade Report:

  • validation/4.0 — initial v4 validator
  • validation/4.1 — incremental update (backward compatible)

This avoids validationVersion fields in schema files (anti-pattern — the Grade Report is the record).

Validates structural correctness:

  • Schema structure (main, tools, resources, etc.)
  • Required fields per primitive type
  • Validation rules VAL001–VAL107
  • SEL, AGT, RES rule sets

LLM-based quality evaluation:

  • Description quality (clear, accurate, useful)
  • Parameter documentation completeness
  • Test case coverage
  • One-Shot completeness for Skills

Score range: 0.0 (unusable) to 5.0 (excellent).

Before Production deploy, all failing Primitives MUST be removed from the schema file.

A Language Model calling flowmcp add etherscan-io/contracts receives the tool list and assumes all tools work. A failing tool in Production causes unpredictable errors.

Rule: 1 failing primitive gets removed — regardless of how many others pass.