← The evidence ledger
Evidence row 565847
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 1fe3cb63-97c2-482c-9ec3-27854da61d71
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- a96773605007f0a99d900b418fb67691987e4277ac67396ed9eb0ab9faf7bc16
- Leaf
- 0x4f9c29dbdc6ec66e4a7bd169ff69b5a837ab5d15ad05e4eae5283de5b211922f
What was observed
{
"count": 10,
"tools": [
{
"description": "Calculate weekly review demand, utilization, capacity gap, supported change throughput, and changes lacking evidence from measured team inputs. No cost model, benchmark, or hidden industry assumption is applied; the output shows the arithmetic and a concrete balancing action.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ai_changes_per_week": {
"maximum": 1000000,
"minimum": 0,
"type": "integer"
},
"available_reviewer_hours_per_week": {
"maximum": 100000,
"minimum": 0,
"type": "number"
},
"average_review_minutes_per_change": {
"maximum": 10000,
"minimum": 0.1,
"type": "number"
},
"evidence_coverage_percent": {
"maximum": 100,
"minimum": 0,
"type": "number"
},
"lang": {
"description": "Response language (default: en)",
"enum": [
"en",
"de"
],
"type": "string"
},
"two_week_churn_percent": {
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"required": [
"ai_changes_per_week",
"average_review_minutes_per_change",
"available_reviewer_hours_per_week",
"evidence_coverage_percent"
],
"type": "object"
},
"name": "calculate_verification_capacity"
},
{
"description": "Return GO, CONDITIONAL, or NO_GO from supplied acceptance-criterion results, check evidence, rollback, monitoring, limitations, and independent review. The verdict is deliberately based only on supplied evidence; this tool does not inspect code, CI, or a deployment.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acceptance_criteria_failed": {
"maximum": 10000,
"minimum": 0,
"type": "integer"
},
"acceptance_criteria_not_run": {
"maximum": 10000,
"minimum": 0,
"type": "integer"
},
"acceptance_criteria_passed": {
"maximum": 10000,
"minimum": 0,
"type": "integer"
},
"blast_radius": {
"description": "Largest expected impact boundary",
"enum": [
"single_component",
"service",
"multi_service",
"customer_data",
"production_wide"
],
"type": "string"
},
"change_summary": {
"description": "Plain-language summary of the change",
"maxLength": 2000,
"minLength": 10,
"type": "string"
},
"change_types": {
"description": "Technical and risk-relevant change types",
"items": {
"enum": [
"ui",
"api",
"auth",
"database",
"payments",
"personal_data",
"dependency",
"infrastructure",
"public_api",
"compliance"
],
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
},
"checks": {
"items": {
"properties": {
"evidence": {
"maxLength": 1000,
"type": "string"
},
"kind": {
"enum": [
"build",
"lint",
"typecheck",
"unit",
"integration",
"e2e",
"accessibility",
"security",
"migration",
"manual"
],
"type": "string"
},
"name": {
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"status": {
"enum": [
"pass",
"fail",
"not_run"
],
"type": "string"
}
},
"required": [
"kind",
"status"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"independent_review": {
"type": "boolean"
},
"known_limitations_recorded": {
"type": "boolean"
},
"lang": {
"description": "Response language (default: en)",
"enum": [
"en",
"de"
],
"type": "string"
},
"monitoring_ready": {
"type": "boolean"
},
"rollback": {
"description": "Current rollback or recovery state",
"enum": [
"automatic",
"documented",
"manual",
"none",
"unknown"
],
"type": "string"
},
"rollback_ready": {
"type": "boolean"
}
},
"required": [
"change_summary",
"change_types",
"blast_radius",
"rollback",
"acceptance_criteria_passed",
"acceptance_criteria_failed",
"acceptance_criteria_not_run",
"checks",
"rollback_ready",
"monitoring_ready",
"known_limitations_recorded",
"independent_review"
],
"type": "object"
},
"name": "check_release_readiness"
},
{
"description": "Estimate a software team's verification debt from team parameters. Computes the four published metrics (generation-to-verification ratio, review depth, unverified-merge rate, two-week churn) and an annual cost estimate, with the full calculation path, labeled assumptions, thresholds, and sources (GitClear, Sonar, Faros, Veracode). Deterministic arithmetic from published models - no benchmark claims. Only team_size is required; every additional parameter refines the estimate. Set lang='de' for a German report.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"ai_merges_per_month": {
"description": "AI-assisted merges per month (enables the unverified-merge rate)",
"maximum": 100000,
"minimum": 0,
"type": "integer"
},
"ai_merges_with_evidence_per_month": {
"description": "AI-assisted merges per month with recorded validation evidence (enables the unverified-merge rate)",
"maximum": 100000,
"minimum": 0,
"type": "integer"
},
"ai_share_percent": {
"description": "Share of merges that are AI-assisted, in percent (default: 60, assumption)",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"hourly_rate_eur": {
"description": "Loaded cost per engineer hour in EUR (default: 75, assumption)",
"maximum": 1000,
"minimum": 1,
"type": "number"
},
"hours_per_reworked_change": {
"description": "Average hours per reworked change (default: 6, assumption)",
"maximum": 100,
"minimum": 0.1,
"type": "number"
},
"incident_allowance_eur_per_year": {
"description": "Annual incident allowance in EUR (default: 0; add one only when you have a locally defined incident class, frequency and expected-loss method)",
"maximum": 10000000,
"minimum": 0,
"type": "number"
},
"lang": {
"description": "Report language (default: en)",
"enum": [
"en",
"de"
],
"type": "string"
},
"merged_loc_per_week": {
"description": "Merged changed lines of code per week (enables the GVR and review-depth metrics)",
"maximum": 100000000,
"minimum": 0,
"type": "number"
},
"prs_per_engineer_per_month": {
"description": "Merged PRs per engineer per month (default: 20, derived from the published worked report on /measure-verification-debt)",
"maximum": 500,
"minimum": 0.1,
"type": "number"
},
"prs_per_month": {
"description": "Total merged PRs per month (default: team_size x prs_per_engineer_per_month)",
"maximum": 100000,
"minimum": 1,
"type": "integer"
},
"review_reconstruction_hours_per_pr": {
"description": "Average reviewer hours spent reconstructing intent per AI-assisted PR (default: 0.5, assumption)",
"maximum": 20,
"minimum": 0,
"type": "number"
},
"reviewer_hours_per_week": {
"description": "Reviewer hours actually spent per week (enables the GVR metric)",
"maximum": 10000,
"minimum": 0,
"type": "number"
},
"rework_rate_percent": {
"description": "Share of AI-assisted changes reworked for a defect within 14 days, in percent (default: 2, the illustrative rate from /cost-of-verification-debt - replace it with your own reason-coded rate)",
"maximum": 100,
"minimum": 0,
"type": "number"
},
"substantive_review_comments_per_week": {
"description": "Substantive review comments per week, excluding bots and nitpicks (enables the review-depth metric)",
"maximum": 1000000,
"minimum": 0,
"type": "number"
},
"team_size": {
"description": "Number of developers on the team (required)",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"two_week_churn_percent": {
"description": "Share of new lines revised or reverted within 14 days, in percent. A warning signal in the metrics block; it never enters the cost model, because it measures lines and the cost model counts changes",
"maximum": 100,
"minimum": 0,
"type": "number"
}
},
"required": [
"team_size"
],
"type": "object"
},
"name": "check_verification_debt"
},
{
"description": "Fetch a document from the Reality Graph knowledge base by id (as returned by search, e.g. '/verification-debt') or by full realitygraph.dev URL. Returns the document's summary, definitions, key facts, FAQ, and sources as text, plus the canonical URL.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"description": "Document id from search results, or a realitygraph.dev URL",
"maxLength": 300,
"minLength": 1,
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "fetch"
},
{
"description": "Returns Reality Graph's free fill-in template (v0) for a verifiable task contract: goal, non-goals, boundaries (may change / must not change / forbidden), 3-7 yes/no acceptance criteria, validation plan, expected evidence, assumptions, open questions — with a filled example and fill-in guidance. Write the contract before an AI agent runs; verify the result against it after. format='json' returns a machine-fillable JSON structure; default is a compact markdown skeleton. Set lang='de' for German. Static content, nothing stored.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"format": {
"description": "Template format (default: markdown)",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"lang": {
"description": "Language (default: en)",
"enum": [
"en",
"de"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_task_contract_template"
},
{
"description": "Returns the free fill-in template (v0) for a verification report — the artifact you write right after an AI-assisted run: task recap, files changed AND files confirmed untouched, validation results per acceptance criterion (not authored by the generating model), what was skipped, limitations, and the explicit decision. format='json' for a machine-fillable structure; default is a compact markdown file. Static content, nothing stored. lang='de' for German.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"format": {
"description": "Template format (default: markdown)",
"enum": [
"markdown",
"json"
],
"type": "string"
},
"lang": {
"description": "Language (default: en)",
"enum": [
"en",
"de"
],
"type": "string"
}
},
"type": "object"
},
"name": "get_verification_report_template"
},
{
"description": "Check whether a free-text work order for an AI coding agent is verifiable BEFORE handing it over. Heuristic, deterministic lint of the task's form against the four building blocks of a checkable task (goal, boundaries, acceptance criteria, validation plan) plus rule checks (vague adjectives without numbers, unnamed unhappy paths, missing file anchors). Returns a status table with evidence, the concrete questions that close each gap, and a fill-in skeleton. It checks form, not content — no LLM, nothing stored. Set lang='de' for a German report.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lang": {
"description": "Report language (default: en)",
"enum": [
"en",
"de"
],
"type": "string"
},
"task": {
"description": "The work order / task text you intend to give an AI coding agent (English or German)",
"maxLength": 8000,
"minLength": 10,
"type": "string"
}
},
"required": [
"task"
],
"type": "object"
},
"name": "lint_task_spec"
},
{
"description": "Turn explicit change characteristics into a risk tier, required automated checks, manual scenarios, evidence, release blockers, role handoff, and canonical Reality Graph guidance. Use before implementation or review. It does not inspect code and never invents a confidence score.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"blast_radius": {
"description": "Largest expected impact boundary",
"enum": [
"single_component",
"service",
"multi_service",
"customer_data",
"production_wide"
],
"type": "string"
},
"change_summary": {
"description": "Plain-language summary of the change",
"maxLength": 2000,
"minLength": 10,
"type": "string"
},
"change_types": {
"description": "Technical and risk-relevant change types",
"items": {
"enum": [
"ui",
"api",
"auth",
"database",
"payments",
"personal_data",
"dependency",
"infrastructure",
"public_api",
"compliance"
],
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
},
"lang": {
"description": "Response language (default: en)",
"enum": [
"en",
"de"
],
"type": "string"
},
"rollback": {
"description": "Current rollback or recovery state",
"enum": [
"automatic",
"documented",
"manual",
"none",
"unknown"
],
"type": "string"
}
},
"required": [
"change_summary",
"change_types",
"blast_radius",
"rollback"
],
"type": "object"
},
"name": "plan_change_verification"
},
{
"description": "Full-text search over the Reality Graph knowledge base on AI coding verification: 40+ glossary definitions, 700+ FAQ answers, sourced statistics, and article summaries on verification debt, AI code review, spec-vs-implementation checking, EU compliance (EU AI Act, GDPR, NIS2), and AI coding governance — in English and German. Returns matching documents with title, URL, and snippet. Use fetch to read a result.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"lang": {
"description": "Restrict results to one language (default: both)",
"enum": [
"en",
"de"
],
"type": "string"
},
"query": {
"description": "Search query (English or German)",
"maxLength": 300,
"minLength": 2,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search"
},
{
"description": "Deterministically validates a FILLED task contract (the JSON structure from get_task_contract_template): completeness of goal/non-goals/boundaries, decidability of each acceptance criterion (vague words, missing measurable markers), automated checks in the validation plan, expected evidence, and leftover placeholders. Returns a verdict (PASS / PASS WITH WARNINGS / FAIL), four dimension scores, and a concrete fix per finding. Validates form and completeness, not correctness. No LLM, nothing stored. lang='de' for German.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"contract": {
"description": "The filled task contract as a JSON string (structure from get_task_contract_template, format='json')",
"maxLength": 16000,
"minLength": 20,
"type": "string"
},
"lang": {
"description": "Report language (default: en)",
"enum": [
"en",
"de"
],
"type": "string"
}
},
"required": [
"contract"
],
"type": "object"
},
"name": "validate_task_contract"
}
]
}What the leaf hashes
{"body":"a96773605007f0a99d900b418fb67691987e4277ac67396ed9eb0ab9faf7bc16","id":565847,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793138283072582,"prev":null,"subject":"1fe3cb63-97c2-482c-9ec3-27854da61d71","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x4f9c5854833a04b4c795d7318334bec0feaa2ec3dfa4845ff787d03233ab54f6
- 0x2967da2552072d7a057c68b10126c2d3fd9d0bb10b429e932970936d630a4172
- 0x15a665c35ef1b9f255dd8bc2c07bd393d1f385800c98e88657f572b54c1d92a8
- 0x0595c2120c240e7d4fd86561ec7560c85b2b27057be1e2c328ff37e7426cf612
- 0xe435081bd5ed9d1900771632e87402b3d49213d21ff543cac0742e27f6a249c8
- 0x422aa4222fc075edee3435540127da841e35cc9a67b0aed7b776f1ea3bec1eba
- 0xf51dd1633411ab3ffbd5972009869e885fc35f697ed141ca06b5e029d6a52ce3
- 0xcf4c118eafc62ef1012085c90052deca4dd4672fda3b8dee1ce38a5ade0400aa
- 0xb510543e7f84108441287986553cc0908ce9d30f42671399cce634c856a7d132
- 0xf833df792e157e86b1fec470b40449423d669f06490afc7e934a9ce7929db11f
- 0x7b0f54aa0116cedb8afb80e7150869a7cf2b70adc313e0079a760b5d19d2efbc
- 0x8762ddf9a7f6b156629a8a66fe575b878ee44cd59a7f0a583ec6db0a152d703b
- 0x797da99476c7ebaa971607ae725e5e240b79de9e49d28859b94de107c850aaab
- 0x9ea0c6a53f80a30b6f13671109f98a000cf98e581875129f4be4b57131d06364
- 0xb78ea6a255dd06e2f402a1a733bca392fa6243920bcba95e8b80bdfc6ce5f553
- 0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d
- 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
- 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4