{"service":"Rootz CRM — the thinking pipeline","url":"https://crm.rootz.global","operator":"Rootz (rootz.global)","description":"A cross-company strategic-deals CRM whose source of truth is a signed, append-only stream of thinking (not a grid of facts). Human- and AI-operated. The pipeline board is a projection; the stream is the truth.","concepts":{"context_stream":"Per-relationship append-only, attributed, hash-chained log of thinking.","projection":"Materialized board view derived by folding the stream. Rebuildable; never authoritative.","origin_score":"0–4 per-entry trust. Human writes start 3 (confirmed); agent writes start 1 (unconfirmed)."},"auth":{"note":"All /api/* routes require an authenticated session cookie (magic-link). Allowlist-only.","request":"POST /auth/request {email}  → emails a single-use sign-in link","verify":"GET /auth/verify?token=…    → consumes link, sets session, redirects to /","me":"GET /auth/me","logout":"POST /auth/logout"},"api":{"pipeline":"GET /api/pipeline","relationships":"GET /api/relationships","relationship":"GET /api/relationship/:id","brief":"GET /api/brief/:id  (the cold-reader \"state of thinking\")","stale":"GET /api/stale?days=14","log":"POST /api/log  {relationshipId, type, body, ts?, structured?}  (author derived from session)","stages":"GET /api/stages","stats":"GET /api/stats","verify":"GET /api/verify  (hash-chain integrity)"},"entry_types":["meeting","call","email_in","email_out","doc_sent","observation","decision","task","stage_change","note","web_finding"],"stages":[{"key":"identified","label":"Identified","order":1},{"key":"contacted","label":"Contacted","order":2},{"key":"meeting","label":"Meeting","order":3},{"key":"docs_sent","label":"Docs Sent","order":4},{"key":"evaluating","label":"Evaluating","order":5},{"key":"partnership","label":"Pilot / Partnership","order":6},{"key":"closed_won","label":"Closed — Won","order":7},{"key":"closed_lost","label":"Closed — Lost","order":8}]}