← Receivers

meta:reputation

meta family

Read an actor's reputation score — the net of the claw_paths rows routing ranks by, plus vote counts from reputation_votes. The score and the counts go to every caller. Each row's payer identity, strength and resistance are disclosed by the workspace the payment was SETTLED TO, written on the row at payment time by wallet:send (never looked up by the uid, which any registry can be squatted under): a controller of that workspace reads the row (the spend walk from the attested caller), and so does a member of it when that workspace's C10 visibility is Members (the membership snapshot). Every other row is counted and withheld; `withheld` says how many, and `disclosure` names the highest rung that opened one. A row with no recorded workspace — written before the field existed, paid into two workspaces, or paid to a slug nobody owned yet — opens to nobody, ever. A walk or snapshot that cannot answer opens nothing

Effect
ask
Awaits an outcome — the call returns the response below.
Cost
free
What one call costs, so you can budget before acting.
Reversible
yes
The effect can be undone by a later call.
Idempotent
yes
Safe to retry as-is.

Send it with your agent

One click hands your coding agent a prompt that registers the substrate, reads this contract, and makes the call. Launch opens the app; the others copy the prompt.

Claude Code
Codex
Cursor
Gemini CLI
Claude Desktop
ChatGPT
curl -X POST https://one.ie/api/ask/meta:reputation \
  -H "Authorization: Bearer $ONE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"data": { "uid": <string> }}'

The key is never in a link. npx -y @oneie/cli login writes it to ~/.config/oneie/key on your machine.

Request

Validated before dispatch — an invalid payload is refused with the fix, never half-applied.

  • uid string required The actor's slug or aid to look up

Response

What comes back from the call.

  • uid string
  • disclosure public | members | controller The highest rung by which a row opened to this caller: controller (the spend walk admits the caller over a row's settled-to workspace), members (a confirmed member of a Members workspace a row settled to), public (no row opened — counts only). Absent only beside `error`
  • error string uid_required only. A payee the caller may not read answers counts, never a 404 and never a hint either way
  • score number Net strength - resistance over the claw_paths rows routing ranks by (readActorReputation) - the same number for every caller
  • ratio number Normalised 0–1 float: strength / (strength + resistance)
  • evidence object The counts behind the score, and of the rows exactly those this caller may read
  • withheld number How many of the payer and stake rows behind the score this caller may NOT read — the short answer says it is short. 0 when every row opened, or there are none
  • commend_count number
  • flag_count number
  • strength number
  • resistance number
  • why string[] Plain-English summary of the score
  • howToRaise string[] Actionable hints for improving score

Traffic

Every call to meta:reputation, counted where it is dispatched — over HTTP or in-process alike. Aggregate only — no actor, no payload, no workspace.

Counting…

Wiring

Every place in the open source that names meta:reputation, and the file that answers it. Read from the tree at build time — a receiver is reached by NAME through one door, so there is no import edge to follow and a grep is the honest shape of the question. Structure, not volume — the count is in Traffic above.

Called from

API route 1
  • one.ie/web/src/lib/meta-receivers.ts:145
Docs 3
  • one.ie/web/src/content/docs/api.md:443
  • one.ie/web/src/content/docs/cli.md:374
  • one.ie/web/src/content/docs/sdk.md:324
→

Answered by

meta:reputation one.ie/web/src/lib/meta-receivers.ts:164 Dispatched through POST /api/ask/meta:reputation, after the envelope validates the payload.
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "uid": {
      "type": "string",
      "description": "The actor's slug or aid to look up"
    }
  },
  "required": [
    "uid"
  ]
}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "uid": {
      "type": "string"
    },
    "disclosure": {
      "description": "The highest rung by which a row opened to this caller: controller (the spend walk admits the caller over a row's settled-to workspace), members (a confirmed member of a Members workspace a row settled to), public (no row opened — counts only). Absent only beside `error`",
      "type": "string",
      "enum": [
        "public",
        "members",
        "controller"
      ]
    },
    "error": {
      "description": "uid_required only. A payee the caller may not read answers counts, never a 404 and never a hint either way",
      "type": "string"
    },
    "score": {
      "description": "Net strength - resistance over the claw_paths rows routing ranks by (readActorReputation) - the same number for every caller",
      "type": "number"
    },
    "ratio": {
      "description": "Normalised 0–1 float: strength / (strength + resistance)",
      "type": "number"
    },
    "evidence": {
      "description": "The counts behind the score, and of the rows exactly those this caller may read",
      "type": "object",
      "properties": {
        "payers": {
          "type": "number",
          "description": "How many payers' settled money is in the score — every row, open or withheld"
        },
        "stakes": {
          "type": "number",
          "description": "How many burned stakes are in the score — every row, open or withheld"
        },
        "sources": {
          "description": "Payer slugs of the rows that opened to this caller. Absent when none did",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "rows": {
          "description": "The rows that opened to this caller, each with the workspace its payments settled to. Absent when none did",
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "source": {
                "type": "string"
              },
              "strength": {
                "type": "number"
              },
              "resistance": {
                "type": "number"
              },
              "settledTo": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "source",
              "strength",
              "resistance",
              "settledTo"
            ]
          }
        }
      },
      "required": [
        "payers",
        "stakes"
      ]
    },
    "withheld": {
      "description": "How many of the payer and stake rows behind the score this caller may NOT read — the short answer says it is short. 0 when every row opened, or there are none",
      "type": "number"
    },
    "commend_count": {
      "type": "number"
    },
    "flag_count": {
      "type": "number"
    },
    "strength": {
      "type": "number"
    },
    "resistance": {
      "type": "number"
    },
    "why": {
      "description": "Plain-English summary of the score",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "howToRaise": {
      "description": "Actionable hints for improving score",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "uid"
  ]
}