← The evidence ledger
Evidence row 307468
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 6ecd536b-808d-4d2f-8dd8-9e483e076db8
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- d89e99c859cd2032c581489dbdf30abaa1211545678b6b0c02f5c69cb7f6eb6e
- Leaf
- 0x493152adcbdd0e3d87d68593e426cc32ed718fbbe52823dee9e04645e22e20ac
What was observed
{
"count": 9,
"tools": [
{
"description": "Record a lesson result for a learner AFTER grading its quiz/assignment. passed:true marks it done and advances; passed:false records the attempt without advancing (reteach). Always include a `reflection` when you have one — it's the signal that improves the course.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"learner": {
"description": "Same EMAIL address used in start_session.",
"type": "string"
},
"passed": {
"description": "Did they pass the quiz/assignment? Default true. false = reteach, don't advance.",
"type": "boolean"
},
"reflection": {
"description": "What confused them, what landed, or what they want next (≤1000 chars). Feeds curriculum improvement.",
"type": "string"
},
"slug": {
"description": "The lesson slug just attempted.",
"type": "string"
}
},
"required": [
"learner",
"slug"
],
"type": "object"
},
"name": "complete_lesson"
},
{
"description": "OPERATOR / Inspectable State: usage snapshot of the whole course — learner count, level mix, completions, per-lesson pass rates, and recent reflections. Requires admin_key. Answers 'what is the state of the work?' for an operator agent.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"admin_key": {
"description": "Operator admin key (Worker secret ADMIN_KEY).",
"type": "string"
}
},
"required": [
"admin_key"
],
"type": "object"
},
"name": "course_stats"
},
{
"description": "Get the full markdown of one lesson by slug. Teach from it: lead with the why, then run the exercise with the learner's real work.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"slug": {
"description": "Lesson slug from list_lessons / start_session.",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_lesson"
},
{
"description": "List lessons (slug, title, track, order, summary), optionally filtered to one track.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"track": {
"description": "Optional track filter.",
"enum": [
"scratch",
"intermediate",
"power"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_lessons"
},
{
"description": "What delegation.school is, the three tracks, and how to run the course as the learner's tutor. Background reading.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "overview"
},
{
"description": "OPERATOR: reclassify an existing learner's track (scratch | intermediate | power). Routes through the learner's record so the change sticks. Use when a learner was placed wrong — e.g. a scratch enrollee who's really a power operator. Requires admin_key. The learner must have started a session first.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"admin_key": {
"description": "Operator admin key (Worker secret ADMIN_KEY).",
"type": "string"
},
"learner": {
"description": "The learner's name/email (same key used in start_session).",
"type": "string"
},
"level": {
"description": "The new level: scratch | intermediate | power.",
"enum": [
"scratch",
"intermediate",
"power"
],
"type": "string"
}
},
"required": [
"learner",
"level",
"admin_key"
],
"type": "object"
},
"name": "set_level"
},
{
"description": "Call FIRST. Place or resume a learner: returns their level, completed lessons, and the recommended next lesson. Ask for the learner's EMAIL ADDRESS and pass it as `learner` — emails are stable and unique; a bare name collides across learners and gets mistyped. Pass their real name as `name` for the certificate.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"learner": {
"description": "The learner's EMAIL ADDRESS — their stable, unique progress key. Ask for it; do not key off a bare name (names collide across learners and get mistyped).",
"type": "string"
},
"level": {
"description": "Optional: set/override their level (scratch | intermediate | power).",
"enum": [
"scratch",
"intermediate",
"power"
],
"type": "string"
},
"name": {
"description": "Optional: the learner's display name, for the certificate and a friendlier greeting. The email stays the key.",
"type": "string"
}
},
"required": [
"learner"
],
"type": "object"
},
"name": "start_session"
},
{
"description": "Send the course team feedback FOR the learner — what's confusing, a bug, an idea, or praise. No grade, no admin key. Use it the moment a learner is stuck or reacts to something, AND always offer it when a session wraps ('anything confusing, or that you wish it did?'). Routes to the team's Slack + the feedback log so friction becomes a signal instead of a 1:1 text.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"kind": {
"description": "Optional category.",
"enum": [
"stuck",
"bug",
"idea",
"praise",
"other"
],
"type": "string"
},
"learner": {
"description": "Optional: the learner's name/email so the team can follow up.",
"type": "string"
},
"lesson": {
"description": "Optional: the lesson slug it's about.",
"type": "string"
},
"message": {
"description": "The learner's feedback, in their own words (≤2000 chars).",
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
},
"name": "submit_feedback"
},
{
"description": "OPERATOR (Capital Factory gift shop): validate a reward code (Golden Ticket GT- or Founding Graduate badge FG-) — returns who earned it, the reward, when, and whether it's been redeemed. Pass redeem:true to mark it redeemed at point of redemption. Requires admin_key.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"admin_key": {
"description": "Operator admin key (Worker secret ADMIN_KEY).",
"type": "string"
},
"code": {
"description": "The reward code, e.g. GT-AB12CD34 (Station ticket) or FG-AB12CD34 (Founding badge).",
"type": "string"
},
"redeem": {
"description": "If true, mark the ticket redeemed now (one-way).",
"type": "boolean"
}
},
"required": [
"code",
"admin_key"
],
"type": "object"
},
"name": "verify_ticket"
}
]
}What the leaf hashes
{"body":"d89e99c859cd2032c581489dbdf30abaa1211545678b6b0c02f5c69cb7f6eb6e","id":307468,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793057684990513,"prev":null,"subject":"6ecd536b-808d-4d2f-8dd8-9e483e076db8","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x49315459b4e97b4b3cedae3cf029538b580d803abbd97a0901c86671a1fcd788
- 0x56fbfebae600243c6722a3dbbfefd7e9aeb6dd9d0e9929880b2c32d25a2df47a
- 0xdd4dc2a2b93b8d2a13a9f4ec008b2271e95a324250daacff2d983e2e364351a6
- 0x39076e1513033a64ecc241f437e40e0941d270bb13ec9034c82b35064b8b595a
- 0x23472ed69eae975fa85f391f22512924d5090db824de70411f6677d0e9bc9c45
- 0x8d22ff6f1457b29f50c3b984cb4cddf078feda1288b6f3ed4233e5f67b85fe0b
- 0x5db15b0f640db361ce4e7fd848035fdd06ce7a9723f2076ec1d421c089e7802c
- 0xc7030292d06775814630ce84a84f8aace027d708bd27b383e364a8af1e25fd7f
- 0x7541cd1918e38f4a0f6add627a7846433315f4898be3452c4fe4e6121a5b9747
- 0x1c31b9fd609755e3d960fab27bd2b1eb3a2104f15e3f9261a56d30e3613f4c01
- 0xa40c09a143bc388ccac821ec3854902941c513470a57a806c98060a6d63aedf9
- 0xee7d5711cd2515f4b08f3e4041d3d56304f9db6bffd82d82746f0f4ea43b8f26
- 0xb86fa861d04737cb507e721eefbb066d26528fdb6017b1145c18d1223b93ee21
- 0x88e326a39b26e2c125306c9d3805d14398ace088bba9a2a0aa376b811cfb201a
- 0x2be1e80e065dd6b2cc75a7142be22225acd144ac975d70bf24b4f01fd76dc497
- 0x2e6a32eb32761c210560e852405e2f865f958ddbe01027894f8b9c1b3433b9f0
- 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
- 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae