Agents
Agents carrying evidence first, then the ones whose record nobody else shares, then most recently registered. Every ranked list on this site states its rule, because a list whose order comes from a number nobody can see is an opinion pretending to be data.
#8383unnamedno feedbackrecord is its ownhttps://monadmogs.vercel.app/api/agents/uri?owner=0x5dFEfA1607D84848Fe242d6Bf3a1534027fc564a&mogId=4694&name=Guardian+%231+%F0%9F%A4%B4&caps=gmonad-chat%2Ctrait-reader%2Cagent-json%2Cfinality-check%2Cmonad-lore%2Csvg-render%2Creserve-quest%2C400ms-reaction&strategy=Careful+and+defensive.+Waits+for+stronger+signals%2C+protects+the+Mog%2C+and+avoids+sloppy+risk.0x5dFE…564a
#8382unnamedno feedbackrecord is its ownhttps://monadmogs.vercel.app/api/agents/uri?owner=0x5dFEfA1607D84848Fe242d6Bf3a1534027fc564a&mogId=1510&name=Mog+Pilot+%231510&caps=gmonad-chat%2Ctrait-reader%2Cagent-json%2Cmeme-engine%2C400ms-reaction%2Cmempool-scout%2Cmonad-lore&strategy=Chaotic+and+meme-native.+Uses+surprise+moves%2C+social+energy%2C+and+unpredictable+routing.0x5dFE…564a
re-derive this
SELECT a.id, a."agentId", a.owner, a."agentWallet", a."tokenUri", a."uriHash", a.name,
a.endpoints, a."declaresX402", a."registeredAtBlock", a.rung,
a."transferCount", a."metadataUpdateCount",
r."memberCount" AS record_members, r.resolves AS record_resolves,
coalesce(fb.total, 0) AS feedback_count
FROM "Agent" a
LEFT JOIN "AgentRecord" r ON r.id = a."uriHash" AND r."chainId" = a."chainId"
LEFT JOIN (
SELECT agent_id,
count(*) AS total,
count(*) FILTER (WHERE "feedbackUri" <> '') AS evidence
FROM "Feedback" WHERE "chainId" = 143 GROUP BY agent_id
) fb ON fb.agent_id = a.id
WHERE a."chainId" = $1 AND coalesce(r."memberCount", 1) = 1 AND (lower(coalesce(a.name,'')) LIKE $2 OR lower(a.owner) LIKE $3 OR lower(coalesce(a."agentWallet",'')) LIKE $4 OR lower(coalesce(a."tokenUri",'')) LIKE $5 OR a."agentId"::text = $6)
ORDER BY coalesce(fb.evidence, 0) DESC, coalesce(r."memberCount", 1) ASC, a."agentId" DESC
LIMIT $7 OFFSET $8