{"service":{"name":"Memorylayer","package":"engram-cloud","version":"0.3.0","base_url":"https://memorylayer.run","runtime_target":"vps"},"runtime":{"language":"python","python":"3.12.13","python_requires":">=3.11","container_image":"python:3.12-slim","framework":{"name":"FastAPI","version":"0.136.3"},"server":{"name":"Uvicorn","version":"0.48.0","port":8090},"process_model":"long-lived ASGI app with warm workspace runtime cache"},"storage":{"metadata_database":"postgres","metadata_driver":{"orm":"SQLAlchemy 2.0.50","driver":"psycopg 3.3.4"},"engram_package":"engram-memory-system 0.5.2","workspace_backend":"postgres","workspace_schema_pattern":"ws_<slug>","workspace_dsn_strategy":"Postgres search_path is scoped per workspace schema"},"models":{"embedding_model":"BAAI/bge-small-en-v1.5","embedding_dimensions":384,"embedding_backend":"auto","reranker_model":"cross-encoder/ms-marco-MiniLM-L-6-v2","local_default_storage_backend":"sqlite","hosted_storage_backend":"postgres","hosted_runtime":"CPU PyTorch container"},"limits":{"max_workspace_runtimes":16,"idle_ttl_seconds":1800,"max_request_bytes":2000000,"api_rate_limit_per_minute":240,"auth_rate_limit_per_minute":12,"session_max_age_seconds":1209600},"security":{"allowed_hosts":["127.0.0.1","localhost","memorylayer.run","testserver","www.memorylayer.run"],"secure_cookies":true,"session_cookie":"memorylayer_session","same_site":"lax","request_guard":"host, path, method, body size, origin, and rate-limit checks before routing","headers":["CSP","HSTS on HTTPS","X-Frame-Options","X-Content-Type-Options","Referrer-Policy"]},"deployment":{"host":"memorylayer.run","runtime":"docker compose on VPS","remote_dir":"/opt/engram-cloud","strategy":"git archive over SSH into the remote app directory, then docker compose up -d --build web","scripts":{"deploy":"scripts/deploy.sh","live_check":"scripts/live-check.sh"},"preflight":["git diff --check","python -m pytest -q","python -m compileall app"],"live_checks":["/api/service/readiness","/api/service/architecture","/api/service/manifest"]},"surfaces":{"public":["/api/service/status","/api/service/manifest","/api/service/architecture","/api/service/readiness","/api/mcp/manifest","/openapi.json"],"workspace":["/api/workspaces/{slug}/bootstrap","/api/workspaces/{slug}/connect","/api/workspaces/{slug}/env","/api/workspaces/{slug}/mcp","/api/workspaces/{slug}/mcp/tools","/api/workspaces/{slug}/ingest","/api/workspaces/{slug}/ingest/preview","/api/workspaces/{slug}/usage","/api/workspaces/{slug}/observability","/api/workspaces/{slug}/audit","/api/workspaces/{slug}/export/recent","/api/workspaces/{slug}/agent-config","/api/workspaces/{slug}/codex.toml","/api/workspaces/{slug}/claude-skill.md"]}}