addrbookFor publishers
← The evidence ledger

Evidence row 566118

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 88d46c34-4207-4bee-b12d-84cb261cde55
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
12c62748d3416948b90ae7b9130c13e8944d2a8c529edd2958014ad10ad00483
Leaf
0xc8860795fd0cc557dfabc53d12a3e9fe8ea092012100a7bb41a922efa9b503cb

What was observed

{
  "count": 2,
  "tools": [
    {
      "description": "Generates the complete SpecPilot .specs/ file set plus the matching IDE rules and slash-command files from a full answer set - identical to what the SpecPilot web chat produces for the same answers. Requires projectName and projectDescription. Returns the files to write and the steps to follow after writing them.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "answers": {
            "description": "The complete SpecPilot answer set to generate from - everything collected through specpilot_next_questions, whose schema describes each field. projectName and projectDescription are required; every other field falls back to a sensible default.",
            "properties": {
              "accessControl": {
                "type": "string"
              },
              "accessibilityNotes": {
                "type": "string"
              },
              "activeUsers": {
                "type": "string"
              },
              "apiResponseTime": {
                "type": "string"
              },
              "apiStyle": {
                "type": "string"
              },
              "authStrategy": {
                "type": "string"
              },
              "availability": {
                "type": "string"
              },
              "buildTimeline": {
                "type": "string"
              },
              "cicd": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "compliance": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "constraintDescription": {
                "type": "string"
              },
              "customUserType": {
                "type": "string"
              },
              "dataSyncStrategy": {
                "type": "string"
              },
              "databases": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "deploymentTargets": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "designNotes": {
                "type": "string"
              },
              "designSystem": {
                "type": "string"
              },
              "figmaUrl": {
                "type": "string"
              },
              "handle": {
                "type": "string"
              },
              "hasDesignAssets": {
                "type": "boolean"
              },
              "ideAgent": {
                "type": "string"
              },
              "integrations": {
                "additionalProperties": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "isNewBuild": {
                "type": "boolean"
              },
              "languageOverride": {
                "type": "string"
              },
              "localDatabases": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "nonGoals": {
                "type": "string"
              },
              "offlineSupport": {
                "type": "boolean"
              },
              "otherApis": {
                "type": "string"
              },
              "platforms": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "projectCategory": {
                "anyOf": [
                  {
                    "enum": [
                      "saas",
                      "api",
                      "mobile",
                      "cli",
                      "pipeline",
                      "ml",
                      "static",
                      "docs",
                      "extension",
                      "library",
                      "other"
                    ],
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "projectDescription": {
                "type": "string"
              },
              "projectName": {
                "type": "string"
              },
              "realtimeEnabled": {
                "type": "boolean"
              },
              "realtimeTypes": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "scaleTier": {
                "type": "string"
              },
              "securityConcerns": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "specialConsiderations": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "systemPattern": {
                "type": "string"
              },
              "teamSize": {
                "type": "string"
              },
              "technicalConstraints": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "testingStrategy": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "uiStyle": {
                "type": "string"
              },
              "userTypes": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "answers"
        ],
        "type": "object"
      },
      "name": "specpilot_generate_specs"
    },
    {
      "description": "Returns the unanswered SpecPilot onboarding questions of the next incomplete step, gated by the answers so far: questions that do not apply are omitted, and options are filtered, badged or flagged as in the SpecPilot web chat. Stateless: send every answer collected so far on each call.\n\nProcedure: (1) Set `isNewBuild` from whether the repo already has real source code. (2) Infer what the repo answers instead of asking: `platforms` from the manifests and layout, `languageOverride`, `ideAgent` (you are the IDE), `handle` from git config or the origin remote, `projectName` from the manifest or folder name, `projectDescription` from the README only if it plainly says what the project is. (3) Call this tool, answer what the repo makes obvious and ask the developer the rest, a whole step per message. Send an empty value for a declined optional question or it is asked again; send `todoSentinel` verbatim when they do not know yet. For `projectDescription`, an exact returned chip label infers `projectCategory` and gates later questions; free prose infers nothing. Confirm pre-seeded values rather than accepting them silently. (4) Loop until `done` is true, then call specpilot_generate_specs and follow its `nextSteps` for where each file goes.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "answers": {
            "description": "Every SpecPilot onboarding answer collected so far. The server is stateless, so resend the whole object on every call; omit it entirely on the first call to get step 1.",
            "properties": {
              "accessControl": {
                "description": "The access control model.",
                "type": "string"
              },
              "accessibilityNotes": {
                "description": "Anything further on accessibility or constraints, in free text.",
                "type": "string"
              },
              "activeUsers": {
                "description": "Roughly how many active users are expected, as a range.",
                "type": "string"
              },
              "apiResponseTime": {
                "description": "Target API response time.",
                "type": "string"
              },
              "apiStyle": {
                "description": "API style - REST, GraphQL, gRPC or tRPC.",
                "type": "string"
              },
              "authStrategy": {
                "description": "Auth approach - a protocol built in-house (JWT/OAuth/SAML) or a managed service (Clerk, Auth0, Firebase).",
                "type": "string"
              },
              "availability": {
                "description": "Availability SLA target as a fraction of uptime.",
                "type": "string"
              },
              "buildTimeline": {
                "description": "How long the build is expected to take.",
                "type": "string"
              },
              "cicd": {
                "description": "CI/CD practices - automatically running tests and deploying on every change.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "compliance": {
                "description": "Compliance regimes that apply - GDPR, HIPAA, SOC 2. Pick by the actual situation (EU users, health data, payments).",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "constraintDescription": {
                "description": "More detail on whatever was named in technicalConstraints.",
                "type": "string"
              },
              "customUserType": {
                "description": "A user type in free text, when none of the userTypes options fit.",
                "type": "string"
              },
              "dataSyncStrategy": {
                "description": "How conflicting local and server state gets reconciled once the device is back online.",
                "type": "string"
              },
              "databases": {
                "description": "Database kinds in use - SQL, NoSQL, cache/key-value, vector. As many as apply.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "deploymentTargets": {
                "description": "Where this ships - cloud hosting, a package registry, a browser store. The option list depends on the project type.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "designNotes": {
                "description": "Notes on the designs.",
                "type": "string"
              },
              "designSystem": {
                "description": "Design system in use.",
                "type": "string"
              },
              "figmaUrl": {
                "description": "Figma link.",
                "type": "string"
              },
              "handle": {
                "description": "The developer GitHub handle. Optional. Infer from git config or the origin remote.",
                "type": "string"
              },
              "hasDesignAssets": {
                "description": "Whether Figma files, a design system or mockups exist.",
                "type": "boolean"
              },
              "ideAgent": {
                "description": "The editor or AI IDE in use - claudecode, cursor, copilot, codex, windsurf. You are the IDE, so set this yourself.",
                "type": "string"
              },
              "integrations": {
                "additionalProperties": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "description": "Third-party integrations keyed by category, e.g. { payments: [\"stripe\"] }. Only categories relevant to the project type apply.",
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              },
              "isNewBuild": {
                "description": "True for a greenfield project, false when adding onto an existing codebase.",
                "type": "boolean"
              },
              "languageOverride": {
                "description": "Primary language, when it should override what SpecPilot infers from the repo.",
                "type": "string"
              },
              "localDatabases": {
                "description": "On-device stores backing offline support. Leave empty when offline is not needed.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "nonGoals": {
                "description": "What this project explicitly will NOT do.",
                "type": "string"
              },
              "offlineSupport": {
                "description": "Whether this has to work offline. Set automatically when localDatabases is non-empty.",
                "type": "boolean"
              },
              "otherApis": {
                "description": "External APIs or services not covered by integrations.",
                "type": "string"
              },
              "platforms": {
                "description": "Platforms this should run on, e.g. web, ios, android, desktop. Infer from the dependency manifests and repo layout.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "projectCategory": {
                "anyOf": [
                  {
                    "enum": [
                      "saas",
                      "api",
                      "mobile",
                      "cli",
                      "pipeline",
                      "ml",
                      "static",
                      "docs",
                      "extension",
                      "library",
                      "other"
                    ],
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Project archetype. Normally inferred from projectDescription when it exactly matches a returned chip label - send it only if you already know it."
              },
              "projectDescription": {
                "description": "One line saying what the project is. Required by specpilot_generate_specs. Sending one of the chip labels returned by specpilot_next_questions verbatim is what infers projectCategory and gates every later question; free prose infers nothing.",
                "type": "string"
              },
              "projectName": {
                "description": "Short name for the project. Required by specpilot_generate_specs. Infer from the package manifest or the folder name.",
                "type": "string"
              },
              "realtimeEnabled": {
                "description": "Whether anything updates live without a refresh. Set automatically when realtimeTypes is non-empty.",
                "type": "boolean"
              },
              "realtimeTypes": {
                "description": "Realtime transports - WebSockets, SSE, polling. Leave empty when nothing needs to update live.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "scaleTier": {
                "description": "Expected scale of the system.",
                "type": "string"
              },
              "securityConcerns": {
                "description": "Security measures to plan for - encryption, rate limiting, audit logging.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "specialConsiderations": {
                "description": "Cross-cutting concerns that apply, such as accessibility, internationalisation or offline support.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "systemPattern": {
                "description": "Architecture pattern - monolith, modular monolith, or microservices.",
                "type": "string"
              },
              "teamSize": {
                "description": "How many people are building this.",
                "type": "string"
              },
              "technicalConstraints": {
                "description": "Hard constraints - budget, existing infrastructure, legacy systems, a fixed deadline.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "testingStrategy": {
                "description": "Testing approaches this project will use.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "uiStyle": {
                "description": "Preferred UI style.",
                "type": "string"
              },
              "userTypes": {
                "description": "Who is going to use this system, e.g. end users, admins, internal staff.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "name": "specpilot_next_questions"
    }
  ]
}

What the leaf hashes

{"body":"12c62748d3416948b90ae7b9130c13e8944d2a8c529edd2958014ad10ad00483","id":566118,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793138366315528,"prev":null,"subject":"88d46c34-4207-4bee-b12d-84cb261cde55","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).

  1. 0xc886042ef63dfc31024771146f68490d9cfc234c569d8c957f22de7adf571d75
  2. 0xcf0e28305c4f014239df5f0e6af9189cd0a29b41f029d965965a05934b46f177
  3. 0x3691a0fbf85afdae9cb4cb7b07b8e345fb3c2388fd2ce1f7189e60d3846bb62c
  4. 0x3837dc172c70022be3ab8a8a7790d9b7f611802e53a0a0fc4cef9aab77104fea
  5. 0xf976a0e94218a758668ae3659048972238f22f19abaf577ed27519f874bd9db3
  6. 0x3e18e6c8e134ec136e2e338e2e4ddc572422784abf6c6f799906f27b83cd971e
  7. 0xea38ff15278666052d17e8a82bd39aec1515070f940c44aa7455f708fb4a7961
  8. 0xbff69b5a449426746fb87521b989542f04660b2c072d72a1de40b715614097ff
  9. 0x9d79fcbf85b18acafae8fbf8f715e557ee2a4a7e98ac6b2b40db37c6fe25c9f3
  10. 0xc07f68881be9c6fd04904f0cba37bbbe3a2a90327d812665083d299dcb343ba7
  11. 0x057a79dae7284d2b0542272663bf1bcad5f3c4a13e38a7fdd7392ad650b50c86
  12. 0xd16d7e5f125e1d777c4add2d34626605aa2a6b03288469395f9c1f401de8e9e1
  13. 0x938752e9acd199cd15f468392bc2dd8eefc52293e7144e30b87b241ca6b2513b
  14. 0xcc49fd573532e5a29f5be4033f62a2eff71456c020bd2258312b98e95cfe301e
  15. 0x969cd44e5a4e8dc3110540398fbf689659eb51df735c1cda5d8f021ef9ff5683
  16. 0xa94627de1af0e823832e05a9069b304ecccb8c0cdb8f9cfc4f2039bfb9799dc5
  17. 0xdf1105afdc109de3c09a98fc8a3864159ad964e6f49b635c105a27a1e1f14310
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON