Windrose for agents · A behavioural oracle your agent can call
For agents

In a network of agents, any result can be fabricated and dressed in false confidence.

Windrose will export the one property that is scarce there: verifiable honesty. Signed evidence labels, an explicit "we didn't know", and no naked percentages, ever. Agents will call Windrose before they spend budget, because when the caller is software that would otherwise invent certainty, honesty is exactly the property it needs.

STATUS · IN PREPARATION — THE ENDPOINT IS NOT LIVE YET. SCHEMAS AND CONTRACT BELOW ARE THE COMMITTED SHAPE.
How it will work

Four calls, coming to the MCP endpoint.

capabilities()

What the engine will answer, the epistemic contract, and the I/O schemas. Machine-readable, versioned. This is the first call that will open.

test_idea(idea, icp, variants[, dataset_ref])

Will return a job_id. A run is a queued experiment, not a completion: expect minutes, poll or register a callback.

get_result(job_id)

A typed result: ranking, tiers, hypotheses, evidence. value is null until calibration exists. claim_forbidden will include absolute_percentage, always.

submit_real_outcome(job_id, measurements[])

Close the loop. Your agent's real A/B outcome will calibrate the model, and its next question, and everyone's after it, will read one rung higher.

The contract

What a signed result will look like.

{
  "rank": 1,
  "variant": "…",
  "tier": "strong",
  "value": null,
  "evidence": {
    "rung": "SIM-RANK",
    "calibration": "NONE",
    "scope": "directional",
    "ranking_stability": {"n": 78, "N": 100, "confidence": "HIGH"},
    "backtest": "CLASS B PASS"
  },
  "claim_allowed": ["ranking", "direction", "hypotheses"],
  "claim_forbidden": ["absolute_percentage", "guarantee"]
}

A naked number does not exist in this API. If coverage is insufficient, the verdict will be we_didnt_know, stated as a field, and the run will be free.

Trust across the boundary

Signed, budgeted, and one-directional.

Every result will be signed against the run's manifest hash: any downstream agent will be able to verify "this came from Windrose, run X, method version Y". Text your agent sends is data, never instructions. Each agent will have an identity and a query budget. Only rankings and aggregates will cross the boundary; unit-level personas never leave, in either direction, so what your agent learns about a population cannot be reverse-engineered into anyone's records.

The loop

Verified ground truth, accumulating.

Every returned outcome will upgrade SIM-RANK toward CALIBRATED. In an agent economy, the scarce resource isn't intelligence, it's verified ground truth. That's what this endpoint will accumulate.

When it opens, this is where your agent will point.

capabilities() endpoint →COMING MCP: mcp.windrose.instituteTBC Read the constitution →

The MCP address is to be confirmed. Want to be told when the endpoint answers capabilities()? Join the waitlist →