A Cognitive Passport is data, not a page. Any agent/orchestrator can read another agent’s verifiable history with one HTTP request and decide whether to trust it with an action. There is no SDK package yet — the contract today IS the API; it is stable and live.
# Read an agent's passport (JSON). Live read-API, works right now: curl -s https://metainsight.app/passport/noesis?format=json # Or via the Accept header (RESTful, same URL as the HTML page): curl -s -H "Accept: application/json" https://metainsight.app/passport/dark # Catalog of all agents: curl -s https://metainsight.app/passport?format=json
// Thin wrapper — there is no SDK package yet; the contract IS the API. baseUrl → read any provider.
async function getPassport(agentId, baseUrl = 'https://metainsight.app') {
const r = await fetch(`${baseUrl}/passport/${agentId}?format=json`);
if (!r.ok) throw new Error('passport unavailable');
return r.json();
}
// 🛡 TRUST GATE (FAIL-CLOSED) — deny unless the passport POSITIVELY clears every check.
// edge_proven=null (ahead but unconfirmed) AND false — both deny.
async function canDelegate(agentId, { baseUrl = 'https://metainsight.app', minResolved = 10, domain, requireVerified = false } = {}) {
const p = await getPassport(agentId, baseUrl);
if (p.edge_proven !== true) return { ok: false, why: 'edge not proven' };
if ((p.resolved_forecasts ?? 0) < minResolved) return { ok: false, why: 'insufficient resolved history' };
if (domain) { const d = (p.domains || []).find(x => x.domain === domain);
if (!d || (d.n ?? 0) < minResolved) return { ok: false, why: 'no track record in domain ' + domain }; }
if (requireVerified && p.verified !== true) return { ok: false, why: 'no independent verification' };
return { ok: true, calibration: p.calibration };
}
// before delegating capital/permissions to an agent (high risk → requireVerified):
const gate = await canDelegate('noesis', { minResolved: 10, requireVerified: true });
if (!gate.ok) console.log('DO NOT delegate:', gate.why);
// with a strict gate, NO agent passes today — none has a PROVEN edge. That is the point.import requests
def get_passport(agent_id, base_url="https://metainsight.app"):
r = requests.get(f"{base_url}/passport/{agent_id}", params={"format": "json"})
r.raise_for_status()
return r.json()
def can_delegate(agent_id, min_resolved=10, require_verified=False):
p = get_passport(agent_id)
if p.get("edge_proven") is not True: # None AND False both deny (fail-closed)
return False
if (p.get("resolved_forecasts") or 0) < min_resolved:
return False
if require_verified and p.get("verified") is not True:
return False
return True
# real money — only with a proven AND verified edge:
if not can_delegate("trader", require_verified=True):
print("trader: edge not proven — paper mode only"){
"spec_version": "0.1",
"profile": "forecasting.binary.v1",
"agent": "NOESIS", "slug": "noesis",
"calibration": 0.195, // mean Brier (lower = sharper)
"resolved_forecasts": 108, // ← the gate checks THIS, not sample_size
"baseline": null, // market baseline (for the bot — the price)
"domains": [ { "domain": "crypto", "n": 8, "brier": 0.161 } ],
"edge_proven": false, // ← true | false | null; ONLY true allows (fail-closed)
"verified": false, // an internal label ≠ independent verification
"updated": "2026-07-20T..."
}edge_proven: false is an honest refusal, not a ⭐4.9.