Skip to content

Experience search alias β€” quick usage ​

This is a debug alias to query the Experience Layer directly. It’s intended for troubleshooting and demos. Production clients should consume Experience slices via the main context reply contract.

Request ​

  • Method: GET
  • Path: /experience/search
  • Headers (recommended):
    • Authorization: Bearer token (if enabled)
    • X-Request-ID: uuid

Query params:

  • q: string β€” search query (required)
  • limit: int β€” default 5, max 20
  • locale: string β€” optional, e.g. en-US

Example:

bash
curl -s \
  -H "X-Request-ID: 2c7f9a2e-3bf2-4d85-9a71-0cbd8b27aa01" \
  "https://example.local/experience/search?q=how+to+run+l4&limit=5&locale=en-US"

Response (200 OK) ​

Body shape (debug alias):

  • hits: array of objects with fields
    • unit_id: string
    • score: number
    • title: string
    • summary: string (may be redacted under privacy policy)
    • source: { source_app?, repo?, branch?, tool_name?, session_id?, project_id?, tenant_id?, locale? }
  • timings: { l4_time_ms?, total_time_ms? }

Example (truncated):

json
{
  "hits": [
    {
      "unit_id": "u_01J7R0K9Y6ZB8QF3W9C5V1H7GJ",
      "score": 0.78,
      "title": "L4: ingestion β†’ summarize β†’ hybrid index",
      "summary": "Ingest events, produce compact summaries, index in hybrid store. Budget-aware retrieval at request time.",
      "source": {
        "source_app": "chat-ui",
        "repo": "mnemoverse/mnemoverse-arch",
        "branch": "main",
        "locale": "en-US"
      }
    }
  ],
  "timings": { "l4_time_ms": 11, "total_time_ms": 46 }
}

Headers ​

  • X-Request-ID: echoed
  • X-L4-Time-Ms: number β€” time spent in Experience retrieval
  • X-L4-Share: number β€” share of total request time (0..1)
  • X-Privacy-Mode: allow|redact|block (when applicable)
  • X-Warning-Code / X-Warning-Action: present when degradations occur

Notes:

  • Privacy is enforced; summaries may be redacted or omitted.
  • Budgets/degradations apply; minimal replies return fewer fields.
  • This alias may change without notice; the canonical contract remains render_context_reply.slices.experience[].