SolutionDeskDocs

Coverage map

How product docs relate to ADRs and the OKF knowledge bundle — and what is intentionally out of scope.

SolutionDesk has three documentation layers. They must not all say the same things.

LayerAudienceLocationPurpose
Product docsStaff, portal users, host integratorsapps/docs (this site)What to click, what customers see
ADRsEngineers & agents making decisionsdocs/adrs/Why we built it this way
OKF knowledgeAgents implementing/debuggingdocs/knowledge/Load-bearing traps and invariants

ADR → product docs

ADRTopicProduct docsNotes
0001 → 0009Staff vs end-user identitiesAudiencesSuperseded details stay in ADR
0002MagicLink portalOpen portal, Host API
0003 → 0009Cosmos partition keys—Impl only (knowledge: partition-scoping)
0004 + 0010Host SaaS API / API keysHost SaaS API, Integrations
0005Zod SSOT—Impl only
0006 → 0007Better-Auth Cosmos adapter—Impl only
0008 → 0009Path tenancy / slugWorkspace shape, Sign-inProduct: workspace slug URLs
0009Workspace / Company vocabularyWorkspace shape, Companies
0011 + 0013Ticket types & custom fieldsTicket configuration, Create ticket
0012Readable ticket idsTickets & visibilityReference #… / YYMMDD-XXXX style ids
0014API + SPA split—Architecture; not end-user UX
0015SMTP password encryptionIntegrationsProduct: configure SMTP; crypto is ADR/knowledge
0016Tenant config i18nLanguages, portal locale notes, event languagesEvents translate per language on the event (decision E18), not per field
0017 + 0018Two-tier portal, roles, company statusesTwo-tier portal, Portal roles
0019Staff MCPMCP for agents, Agents & MCPKnowledge has tool traps
0020API under /v1Host SaaS APIPaths mentioned for integrators
0021Custom domainsIntegrations & domains
0022Company labels (portal)Company labels
0023 + 0026MentionsMentions & watchers
0024Guest portalsGuest portalsKnowledge: guest-tokens
0025Ticket watchersMentions & watchers, portal detail
0027Visibility tiersTickets & visibilityKnowledge: reverse-visibility for two-tier
0028Live updates (SSE)Live updatesMostly invisible UX
0029Azure service principal—Ops/impl only
0030Free trial stamped on workspace creationSign inNon-enforcing; knowledge: auth/workspace-trial
0031Erasure tombstones the identity, keeps content—Not built — no self-service account deletion yet; Account says so
0032Per-user notification preferencesAccount, Settings overviewSwitches live under Settings → Notifications; MCP exposes get_/save_notification_preferences
0033Staff two-factor & passkeysSign in, Account, Settings overviewKnowledge: auth/staff-mfa
0034Addon system (App Store)App StoreShipped addons: Demo tickets, Sentry. Knowledge: addons/*
0035Ticket subtasksCreate ticket, Portal board, Request detail, MCPKnowledge: data/ticket-subtasks (rules, completion policy, fence)
0036Ticket templates separate from typesTicket configuration, Create ticket, Ticket detailKnowledge: data/ticket-templates
0037Command/query bus in the API—Impl only
0038CRM module with linkable accountsCRM, Accounts & contacts, Deals, Activities, meetings & tasks, Import, CRM settings, MCPStaff-only; never in portal guides. Knowledge: crm/*
0039CRM contacts separate from portal identitiesAccounts & contactsKnowledge: crm/contacts-and-portal-users
0040Inbound email—Proposed, not built
0041Server-side CRM searchSearchKnowledge: crm/search-and-customer-card, data/global-search
0043CRM task remindersActivities, meetings & tasks, CRM settingsKnowledge: crm/task-reminders
0044Multiple ticket boardsBoards, Tickets board, Ticket configuration, Integrations (“Notify me for boards”)Portal guides unchanged: customers only ever see the customer board. Knowledge: data/board-*
0045Background jobs queue—Impl only
0046Files on CRM accountsAccounts & contactsKnowledge: crm/*
0047Fixed staff rolesMembers & roles, CRM, NewsletterKnowledge: auth/*
0048CRM duplicates and mergingDuplicatesKnowledge: crm/*
0049Events module with public registrationEvents, Registration, On your website, Event settings, Host APIPublic event pages run on the events site (apps/events); cover and gallery images, languages, website announcement, MCP tools. Knowledge: events/*
0050Newsletter moduleNewsletter, Newsletter settingsStage 1 complete: lists, sign-up pages with double opt-in, preferences page, campaigns, tracking, the CRM link, the event checkbox, retention and the access-request download. The integration API (stage 2) isn't built. Knowledge: newsletter/*

Knowledge bundle → product docs

Most of docs/knowledge/ is agent debugging and should not be rewritten as product tutorials.

Knowledge areaProduct surface?
data/* (pagination, partitions, config keys)No — agents only
visibility/*Partial — user-facing summary in concepts; reverse visibility in two-tier guide
auth/*Partial — audiences + guest portals; guard details stay knowledge
portal/*Yes — portal guide + two-tier + roles
realtime/*Brief product note only
mcp/*Product: connect + tools; knowledge: announce, leaks, architecture
addons/*Partial — App Store covers install and setup; webhooks and the registry stay knowledge
crm/*Yes — team guide CRM pages (click paths); partition keys, lock docs, claims and reminder index stay knowledge
events/*Yes — team guide Events pages (click paths); revision check, route layout and time-zone helpers stay knowledge
newsletter/*Yes — team guide Newsletter pages; pacing, job and hashing details stay knowledge
jobs/*No
notifications/*Product: SMTP settings + watchers/mentions UX
attachments/*Product: attach/download in ticket flows
testing/*No

Deliberately omitted from product docs

  • Cosmos / partition keys / pagination drain
  • Zod as SSOT, package layout, webpack
  • Service principal and connection strings
  • Vitest Nest patterns
  • MCP announce interceptor internals

When in doubt: if a customer or staff user never sees it in the UI, it belongs in ADR or knowledge, not here.

On this page