{
  "service": "schemalattice",
  "version": "0.1.0",
  "authority": "https://schemalattice.com",
  "totals": {
    "concepts": 223,
    "contexts": 43,
    "events": 2925
  },
  "transparency": {
    "recorded": "search query text (unless ephemeral:true), best match + score, random session id",
    "sharedOnward": "unmet queries appear aggregated in lattice_demand_report",
    "neverRecorded": "your code, unpublished schemas, identity",
    "feedback": "lattice_feedback notes go to maintainers only"
  },
  "endpoints": {
    "skill": "GET /skill (the workflow instructions for AI clients)",
    "builderSkill": "GET /skill/builder (one-page brief for apps built on an existing backend)",
    "contribute": "GET /contribute (send back types the catalog lacks; or POST /api/tools/lattice_contribute)",
    "pack": "GET /pack, /pack/{context}[,{context}] or /pack?q=... (paste-ready vocabulary for hosted app builders without MCP)",
    "mesh": "GET /mesh?a=app:<slug>&b=app:<slug> (how well two apps or an app and a data source will exchange data; or POST /api/tools/lattice_mesh_report)",
    "atlas": "GET /atlas (every concept placed by meaning, growth over time, unmet searches, public datasets; data at /atlas.json)",
    "sources": "GET /sources, /sources?q=...&jurisdiction=US-CT/new-haven, /sources/{slug} (public datasets: endpoints, what each field means, join keys)",
    "client": "GET /cli/schemalattice.mjs (publish a platform's vocabulary from its code; vendor it)",
    "resolveConcept": "GET /c/{context}/{slug}@{hash}",
    "resolveContext": "GET /s/{context}@{hash}",
    "listContext": "GET /s/{context}@{hash}/concepts",
    "listContexts": "POST /api/tools/lattice_list_context with {} — every context",
    "discover": "GET /discover?description=...&limit=10&context=<slug>&ephemeral=true",
    "tools": "GET /api/tools",
    "callTool": "POST /api/tools/{name}",
    "mcp": "POST /mcp"
  },
  "writesRequireKey": true
}
