Skip to content

Product Functionality Documentation

This directory contains per-feature documentation for the Canonical platform. Each functional area has its own subdirectory with user journeys, workflows, and technical details.

DirectoryCoversKey Routes/Components
search/Semantic + keyword search, filters, saved searches/api/search/, SearchPage, browse filters
content-management/Browse, create, edit, lifecycle, layers, source documents/api/items/, BrowsePage, ItemDetailPage
bid-management/Completing forms (procurement first): pipeline, Q&A library, responses, templates/api/procurement/, /procurement/[id], /library
quality-governance/Quality scores, freshness, review queue, governance/api/governance/, ReviewPage, quality cron
knowledge-organisation/Taxonomy, layers, guides, coverage, entities, tags/api/taxonomy/, CoveragePage, GuidePage
ai-integration/MCP server, classification, summaries, embeddings/api/mcp/, lib/ai/, MCP tools
administration/Settings, roles, entity management, notifications, cron/api/settings/, SettingsPage, user roles

Three templates in _templates/ provide consistent structure:

TemplateUse For
user-journeys.template.mdDocumenting end-to-end user workflows by role
workflows.template.mdDocumenting system workflows (data flow, state machines, automation)
technical.template.mdDocumenting API routes, components, hooks, and database details
AreaStatusLast Updated
searchDone29 April 2026
content-managementDone29 April 2026
bid-managementDone29 April 2026
quality-governanceDone29 April 2026
knowledge-organisationDone29 April 2026
ai-integrationDone29 April 2026
administrationDone29 April 2026

When writing or updating documentation in this directory:

  1. Always read the actual codebase. Do not rely on other documentation files for current state — they may be stale. Read the routes, components, hooks, and tests directly.

  2. Use the templates. Start from the appropriate template in _templates/. Each template has instructions at the top explaining what to include.

  3. Cross-reference with generated stats. Check docs/generated/ for current counts (tools, routes, components, etc.) rather than hardcoding numbers.

  4. Query the database if needed. Use Supabase MCP tools (execute_sql, list_tables) to verify schema details, RLS policies, and RPC functions.

  5. Note limitations honestly. Every feature has rough edges — document them. This helps future development sessions prioritise work.

  6. UK English throughout. DD/MM/YYYY dates, “colour” not “color”, “organisation” not “organization”.

  7. Keep files focused. One file per document type per functional area. If a file grows beyond ~500 lines, split it.

  8. Update the status table in this README when you add or update documentation for a functional area.

DocumentLocationPurpose
State of the Productdocs/reference/state-of-the-product.mdHigh-level product reference
Schema Quick Referencedocs/reference/SCHEMA-QUICK-REFERENCE.mdAll 30 tables, columns, functions
Codebase Statsdocs/generated/codebase-stats.mdAuto-generated volatile counts
MCP Inventorydocs/generated/mcp-inventory.mdAuto-generated tool/resource/prompt list
AI Integration Layersdocs/reference/ai-integration-layers.md5-layer AI architecture
Classification Promptdocs/reference/classification-prompt.mdDomain taxonomy and classification rules
Design Systemdocs/design/warm-meridian-implementation-spec.mdSemantic tokens, components