Operational Contracts
Canonical specifications for cross-layer operational concerns: authentication, service discovery, and health monitoring.
Authentication Contract
Bearer Token Authentication
All layer-to-layer communication uses Bearer token authentication.
Request Headers:
Authorization: Bearer {jwt_token}
Content-Type: application/json
JWT Token Structure:
{
"iss": "mnemoverse-auth",
"sub": "layer_l2_acs_001",
"aud": ["l1_noosphere", "l4_adapters", "l5_evaluation"],
"iat": 1693497600,
"exp": 1693501200,
"scope": ["search:read", "evaluation:write", "experience:write"],
"layer": "L2",
"component": "ACS"
}
Token Scopes:
search:read
— Query Noosphere layer (L1)evaluation:read
— Read evaluation results (L5)evaluation:write
— Submit tasks for evaluation (L5)experience:read
— Query experience hints (L5)experience:write
— Record experience data (L5)orchestration:admin
— Administrative access to orchestration
Error Responses:
{
"error": {
"code": "INVALID_TOKEN",
"message": "JWT token is expired or malformed",
"details": {
"expired_at": "2025-09-06T10:00:00Z",
"current_time": "2025-09-06T10:30:00Z"
}
}
}
Standard Auth Error Codes:
INVALID_TOKEN
— Token malformed, expired, or invalid signatureINSUFFICIENT_SCOPE
— Token lacks required scope for operationTOKEN_REVOKED
— Token has been revokedLAYER_UNAUTHORIZED
— Requesting layer not authorized for target layer
Service Discovery Contract
Service Registry
Each layer registers its endpoints and capabilities.
Registration Request:
{
"service_id": "l1_noosphere_primary",
"layer": "L1",
"component": "noosphere",
"instance_id": "noosphere_001",
"endpoints": {
"search": "https://noosphere.mnemoverse.dev/api/v0/search",
"health": "https://noosphere.mnemoverse.dev/api/v0/health"
},
"capabilities": ["vector_search", "graph_search", "ai_agents"],
"metadata": {
"region": "us-west-2",
"version": "v0.1.2",
"max_throughput": 100,
"sla_tier": "production"
},
"health_check_interval_ms": 30000,
"ttl_ms": 300000
}
Service Discovery Query:
{
"query": {
"layer": "L1",
"capabilities": ["vector_search"],
"region": "us-west-2",
"sla_tier": "production"
},
"preferences": {
"load_balancing": "round_robin",
"fallback_regions": ["us-east-1"]
}
}
Service Discovery Response:
{
"services": [
{
"service_id": "l1_noosphere_primary",
"endpoints": {
"search": "https://noosphere.mnemoverse.dev/api/v0/search"
},
"health_status": "healthy",
"current_load": 0.65,
"estimated_latency_ms": 150,
"metadata": {
"region": "us-west-2",
"version": "v0.1.2"
}
}
],
"metadata": {
"total_available": 3,
"query_latency_ms": 25,
"fallbacks_available": 2
}
}
Health Check Contract
Unified Health Endpoint
All layers implement /health
endpoint with standardized response.
Health Check Response:
{
"status": "healthy",
"timestamp": "2025-09-06T10:00:00Z",
"version": "v0.1.2",
"layer": "L1",
"component": "noosphere",
"instance_id": "noosphere_001",
"components": {
"vector_search": {
"status": "healthy",
"response_time_ms": 45,
"last_check": "2025-09-06T09:59:30Z"
},
"knowledge_graph": {
"status": "degraded",
"response_time_ms": 1200,
"last_check": "2025-09-06T09:59:30Z",
"issues": ["High query latency", "Connection pool exhausted"]
},
"ai_agents": {
"status": "healthy",
"response_time_ms": 200,
"last_check": "2025-09-06T09:59:30Z"
}
},
"metrics": {
"requests_per_second": 45.2,
"avg_response_time_ms": 180,
"error_rate": 0.02,
"uptime_seconds": 86400,
"memory_usage_percent": 68.5,
"cpu_usage_percent": 42.1
},
"dependencies": {
"database": {
"status": "healthy",
"endpoint": "postgres://internal-db:5432",
"response_time_ms": 15
},
"vector_store": {
"status": "healthy",
"endpoint": "pinecone-us-west-2",
"response_time_ms": 85
}
}
}
Health Status Values:
healthy
— All systems operational within SLAdegraded
— Reduced performance but functionalunhealthy
— Service unavailable or failingmaintenance
— Planned maintenance mode
Health Check Intervals:
- Internal: Every 10 seconds
- Cross-layer: Every 30 seconds
- External monitoring: Every 60 seconds
Circuit Breaker Contract
Circuit Breaker State Management
Services implement circuit breakers for resilient inter-layer communication.
Circuit Breaker States:
closed
— Normal operation, requests flowingopen
— Circuit tripped, requests blockedhalf_open
— Testing if service recovered
Circuit Breaker Configuration:
{
"failure_threshold": 5,
"success_threshold": 3,
"timeout_ms": 10000,
"reset_interval_ms": 60000,
"monitoring_window_ms": 30000
}
Circuit Breaker Response:
{
"error": {
"code": "CIRCUIT_BREAKER_OPEN",
"message": "Service temporarily unavailable due to circuit breaker",
"details": {
"state": "open",
"failures": 7,
"last_failure": "2025-09-06T10:15:00Z",
"retry_after_ms": 45000
}
}
}
Rate Limiting Contract
Layer-Specific Rate Limits
Each layer enforces rate limits based on API key and scope.
Rate Limit Headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 1693497900
X-RateLimit-Window: 3600
Rate Limit Exceeded Response:
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Request rate limit exceeded",
"details": {
"limit": 1000,
"window_seconds": 3600,
"retry_after_seconds": 1800,
"current_usage": 1000
}
}
}
Layer-Specific Limits:
- L1 (Noosphere): 1000 requests/hour, 10 requests/second burst
- L2 (Orchestration): 2000 requests/hour, 20 requests/second burst
- L4 (Adapters): 5000 requests/hour, 50 requests/second burst
- L5 (Evaluation): 500 requests/hour, 5 requests/second burst
Monitoring & Observability
Distributed Tracing
All layer-to-layer requests include distributed tracing headers.
Tracing Headers:
X-Trace-Id: 550e8400-e29b-41d4-a716-446655440000
X-Span-Id: a716-446655440001
X-Parent-Span-Id: e29b-41d4a716
X-Trace-Flags: 01
Metrics Collection
Standard metrics collected across all layers:
Request Metrics:
requests_total{layer, component, status}
— Total request countrequest_duration_seconds{layer, component}
— Request latency histogramrequest_size_bytes{layer, component}
— Request size histogram
System Metrics:
memory_usage_bytes{layer, component, instance}
— Memory consumptioncpu_usage_ratio{layer, component, instance}
— CPU utilizationdisk_usage_bytes{layer, component, instance}
— Disk usage
Business Metrics:
search_quality_score{layer="L1"}
— Search result qualityevaluation_accuracy{layer="L5"}
— Evaluation accuracy rateexperience_hint_relevance{layer="L5"}
— Hint relevance score
Log Format
Standardized JSON log format across all layers:
{
"timestamp": "2025-09-06T10:00:00.123Z",
"level": "INFO",
"layer": "L1",
"component": "noosphere",
"instance_id": "noosphere_001",
"trace_id": "550e8400-e29b-41d4-a716-446655440000",
"span_id": "a716-446655440001",
"message": "Search request processed successfully",
"request_id": "req_noosphere_001",
"user_id": "user_123",
"duration_ms": 145,
"status_code": 200,
"metadata": {
"search_type": "vector",
"results_count": 10,
"quality_score": 0.87
}
}
Implementation Priority: High - Required for production deployment Status: Canonical specification ready for implementation