Team Knowledge Hub
Find it at Dashboard → Knowledge (top nav). Requires a team org — create one at /team.
Overview#
The Knowledge Hub reads directly from your team org's running Brain instances through the cachly API. It doesn't store a separate copy — every page reflects the live state of the Brain.
An org selector, shown when you belong to more than one org, lets you switch context. Your selection is saved to localStorage and survives tab switches.
| Tab | URL | API endpoint |
|---|---|---|
| Knowledge Base | /knowledge |
GET /api/v1/orgs/:id/lessons |
| Retention | /knowledge/retention |
GET /api/v1/orgs/:id/retention |
| Onboarding Brief | /knowledge/onboarding |
GET /api/v1/orgs/:id/lessons |
Knowledge Base#
A searchable, browsable list of every lesson the Brain has crystallized across all org instances. Lessons are de-duplicated by topic (the most-recalled version wins) and ranked by recall count, so the most battle-tested knowledge rises to the top.
- Search — free-text across topic, body, author, and tags. Case-insensitive, client-side, instant results.
- Severity filter — show only critical, major, or minor lessons.
- Export CSV — appears when results are present. Exports the currently-filtered set; filter by severity or search first to get a focused slice. Columns: Topic, Outcome, Severity, What Worked, What Failed, Author, Recalls, Confidence %, Tags.
The API caps results at the 1,000 most-recalled lessons per org. Lessons with no recalls yet don't appear here — they need at least one hit to surface in the Knowledge Base.
Retention#
The retention view answers one question: what happens to knowledge when someone leaves? The short answer — nothing. It stays in the Brain and keeps being recalled.
Every lesson the Brain stores can carry an optional author field, set through learn_from_attempts. The retention endpoint cross-references those author strings against your current org roster. Members whose rows still exist are active; authors not matched to any current member are former.
Metrics
- Knowledge retained — lessons authored by former members that are still in the Brain
- Still recalled — how many times those lessons have been used since the author left; the number that proves ROI
- Former / Active contributors — unique author counts by status
Export CSV gives the full contributor breakdown, including top topics and last-active timestamp — useful for offboarding reports and leadership presentations.
Onboarding Brief#
Auto-generated Day 1 reading for new hires. Pulls the most-proven lessons from the org Brain, filters them by minimum quality thresholds, groups them by topic category, and presents them as a numbered list.
Quality thresholds (built in, not configurable)
- At least 2 recalls (proven, not theoretical)
- At least 50% confidence score
- Top 12 lessons shown (the highest-recalled that pass)
Grouping — topic categories are inferred from the topic string; everything before the first : becomes the category (e.g. deploy:order → deploy). Topics without a colon fall into "general".
Print / Save as PDF — use browser Print (⌘P / Ctrl+P) → Save as PDF. The page includes print-optimized styles that hide navigation and format the brief cleanly for A4/Letter.
Author matching#
The retention endpoint matches lesson author strings against your org member list using four strategies, in order, all case-insensitive:
- Full email match —
jane@acme.iomatches a member with invite emailjane@acme.io - Email local-part —
janematches the same member - Cross-domain local-part — an author string of
jane@old-company.comalso matches through its local partjane - Display name —
Jane Smithmatches if the member's display name is set to "Jane Smith"
Authors that don't match any strategy appear as former in the retention table. This correctly handles external contributors and automation bots — their lessons still count toward retained knowledge.
Display names#
When developers use their full name in git commits or MCP sessions (e.g. author: "Jane Smith"), email-based matching fails. Set a display name once to fix this:
- Go to Team → find the member row
- Click "set display name…" under their email
- Enter the exact string used in lessons (e.g. "Jane Smith") and click Save
Display names are org-scoped and admin-only. You can also set them at invite time through the API:
POST /api/v1/orgs/:id/invite
{
"email": "jane@acme.io",
"role": "member",
"display_name": "Jane Smith"
}
Or update an existing member:
PATCH /api/v1/orgs/:id/members/:memberId/display-name
{
"display_name": "Jane Smith"
}
API reference#
Both endpoints require a valid JWT (Bearer token) and org membership. Responses are JSON.
GET /api/v1/orgs/:id/lessons#
Returns the full de-duplicated knowledge base for the org, up to 1,000 lessons sorted by recall count descending.
{
"org_id": "uuid",
"count": 42,
"lessons": [
{
"topic": "deploy:order",
"outcome": "failure",
"what_failed": "migrated before column existed",
"severity": "major",
"author": "jane",
"tags": ["deploy", "migration"],
"confidence": 0.82,
"recall_count": 17,
"ts": "2025-11-04T09:12:00Z",
"instances": ["uuid-a", "uuid-b"]
}
]
}GET /api/v1/orgs/:id/retention#
Cross-references lesson authors with the current member roster. Former contributors sort first.
{
"org_id": "uuid",
"total_lessons": 200,
"attributed_lessons": 120,
"retained_lessons": 35,
"retained_recalls": 408,
"active_authors": 5,
"former_authors": 2,
"authors": [
{
"author": "alice",
"status": "former",
"lesson_count": 20,
"total_recalls": 231,
"last_active_ts": "2025-09-01T00:00:00Z",
"top_topics": ["deploy", "auth", "db"]
}
]
}Related#
The Knowledge Hub is a read surface on top of the same lessons described in 3-Layer AI Memory System. For the compressed digest version used in session briefings, see Memory Crystals.