cozymori
cozymori

Simpler, Easier, For Developers. Open-source frameworks for AI observability.

Products

  • VectorWave
  • VectorSurfer

Resources

  • Documentation
  • GitHub

© 2026 cozymori. All rights reserved.

Built with simplicity.

Overview

Getting Started

  • Introduction
  • Quick Start

VectorWave

  • VectorWave Overview
  • Installation
  • @vectorize Core
  • Semantic Caching
  • Self-Healing
  • Golden Dataset
  • Drift Detection
  • Replay Testing
  • RAG Search
  • Advanced Configuration
  • API Reference

VectorSurfer

  • VectorSurfer Overview
  • Getting Started
  • Usage Guide

Ecosystem

  • VectorCheck
  • VectorSurferSTL
  • Contributing

VectorWave

RAG Search

Natural language Q&A over your stored code and execution logs.

Overview

VectorWave stores your function source code, execution logs, and traces in Weaviate as vectorized data. RAG Search lets you query this data with natural language.

from vectorwave import search_and_answer

answer = search_and_answer("Which functions handle user authentication?")
print(answer)
# "Based on your codebase, authentication is handled by:
#  1. app.auth.verify_token() - JWT token verification
#  2. app.auth.login() - User login with password hashing
#  3. app.middleware.auth_guard() - Route protection middleware"

Code Search

Search Functions

Find functions by natural language description:

from vectorwave import search_functions

results = search_functions(
    query="error handling and retry logic",
    limit=5,
)

for func in results:
    print(f"{func['full_name']} — {func['description']}")
    print(f"  Module: {func['module_path']}")
    print(f"  Score: {func['similarity']:.2f}")

Search Executions

Find specific execution logs using filter-based search:

from vectorwave import search_executions

results = search_executions(
    limit=10,
    filters={
        "status": "ERROR",
        "function_name__like": "payment",
    },
    sort_by="timestamp_utc",
    sort_ascending=False,
)

for log in results:
    print(f"{log['function_name']} — {log['timestamp_utc']}")
    print(f"  Error: {log['error_message']}")
    print(f"  Trace: {log['trace_id']}")

Search Errors

Find errors by semantic similarity to a natural language description:

from vectorwave import search_errors_by_message

results = search_errors_by_message(
    query="timeout connecting to external API",
    limit=10,
    filters={"function_name": "generate_response"},
)

for error in results:
    print(f"{error['function_name']} — {error['error_code']}")
    print(f"  Message: {error['error_message']}")
    print(f"  Trace: {error['trace_id']}")

Unlike search_executions (filter-based), search_errors_by_message uses vector search to find semantically similar error messages — useful when you don't know the exact error text.

RAG Q&A

Code-Level Q&A

Ask questions about your codebase and get contextual answers:

from vectorwave import search_and_answer

# Ask about function behavior
answer = search_and_answer(
    "How does the semantic caching work in our generate_response function?"
)

# Ask about error patterns
answer = search_and_answer(
    "What are the most common errors in the payment module this week?"
)

# Ask about architecture
answer = search_and_answer(
    "What functions are called when a user submits a form?"
)

Trace Log Analysis

Analyze distributed traces with natural language:

from vectorwave import analyze_trace_log

analysis = analyze_trace_log(
    trace_id="abc-123",
    question="Why did this trace take so long?",
)

print(analysis)
# "The trace took 4.2s total. The bottleneck was the
#  embed() function (3.8s), which called the OpenAI
#  API. Consider using semantic caching to avoid
#  redundant embedding calls."

Hybrid Search

VectorWave supports hybrid search — combining vector similarity with keyword filtering:

from vectorwave import search_functions_hybrid

results = search_functions_hybrid(
    query="database connection pooling",
    limit=10,
    alpha=0.5,   # 0.0 = pure keyword (BM25), 1.0 = pure vector
    filters={"team": "backend"},  # Optional filters
)

This uses Weaviate's built-in hybrid search, combining BM25 keyword matching with vector similarity for more precise results.

VectorSurfer: All search capabilities are available through the VectorSurfer dashboard with a visual interface — natural language search bar, filters by function/team/status/date, click-through to execution details, and trace waterfall visualization.

Next Steps

  • Advanced Configuration — Custom properties, webhooks, archiving
  • API Reference — Complete search API reference
  • VectorSurfer Search — Visual search dashboard