Documentation

    Documentation

    Documentation

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    1. /
    2. /Data Model

    Updated Jul 7, 20265 min listen

    1. /
    2. /Data Model

    Updated Jul 7, 20265 min listen

    1. /
    2. /Data Model

    Updated Jul 7, 20265 min listen

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Architecture
    Data Model
    Real Time
    Discovery Mutation Sync
    Security
    Backend Services
    k8s-postgres-fcm Mode
    Firebase Integration
    Features
    Authentication
    Email AI-CRM
    Entities
    Opportunities
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Tunnel Protocol
    Wallet & Credit System
    Multi-Vendor Store
    Referral Codes (Refcodes)
    Affiliate & Referral Enablement
    Payments Overview
    PaymentConductor
    SubscriptionConductor
    VideoConductor
    News Module - Digital Newspaper Experience
    Member Blogs
    Public Profile Pages
    Username Reservation System
    Scientific Editor
    Locale System
    Security & Compliance
    NFT Marketplace
    Token Staking System
    Performance Optimization Patterns
    Mobile Experience
    Wallet
    Wallet Security Tips
    API
    Authentication
    Email AI-CRM API
    Entities
    Opportunities
    Messaging API
    Notifications API
    Wallet API
    Store API
    Admin API
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Branding
    Themes
    Web3
    Token launch jurisdictions
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Development
    Local Setup
    Code Structure
    Documentation components
    Community tooling
    Ring MCP Server
    Generative Images (ImageConductor)
    Autonomous Newsroom (Grok)
    OSS vs enterprise
    Whitelabel Navigation
    Best Practices
    Workflow
    Code Style
    Performance
    Testing
    Deployment
    Debugging
    Contributing
    MCP
    ring-image-create
    ring-video-create
    Examples
    Quick Start
    White Label
    Real World
    Integrations
    Ethereum wallets (Wagmi v3)

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Architecture
    Data Model
    Real Time
    Discovery Mutation Sync
    Security
    Backend Services
    k8s-postgres-fcm Mode
    Firebase Integration
    Features
    Authentication
    Email AI-CRM
    Entities
    Opportunities
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Tunnel Protocol
    Wallet & Credit System
    Multi-Vendor Store
    Referral Codes (Refcodes)
    Affiliate & Referral Enablement
    Payments Overview
    PaymentConductor
    SubscriptionConductor
    VideoConductor
    News Module - Digital Newspaper Experience
    Member Blogs
    Public Profile Pages
    Username Reservation System
    Scientific Editor
    Locale System
    Security & Compliance
    NFT Marketplace
    Token Staking System
    Performance Optimization Patterns
    Mobile Experience
    Wallet
    Wallet Security Tips
    API
    Authentication
    Email AI-CRM API
    Entities
    Opportunities
    Messaging API
    Notifications API
    Wallet API
    Store API
    Admin API
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Branding
    Themes
    Web3
    Token launch jurisdictions
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Development
    Local Setup
    Code Structure
    Documentation components
    Community tooling
    Ring MCP Server
    Generative Images (ImageConductor)
    Autonomous Newsroom (Grok)
    OSS vs enterprise
    Whitelabel Navigation
    Best Practices
    Workflow
    Code Style
    Performance
    Testing
    Deployment
    Debugging
    Contributing
    MCP
    ring-image-create
    ring-video-create
    Examples
    Quick Start
    White Label
    Real World
    Integrations
    Ethereum wallets (Wagmi v3)

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Architecture
    Data Model
    Real Time
    Discovery Mutation Sync
    Security
    Backend Services
    k8s-postgres-fcm Mode
    Firebase Integration
    Features
    Authentication
    Email AI-CRM
    Entities
    Opportunities
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Tunnel Protocol
    Wallet & Credit System
    Multi-Vendor Store
    Referral Codes (Refcodes)
    Affiliate & Referral Enablement
    Payments Overview
    PaymentConductor
    SubscriptionConductor
    VideoConductor
    News Module - Digital Newspaper Experience
    Member Blogs
    Public Profile Pages
    Username Reservation System
    Scientific Editor
    Locale System
    Security & Compliance
    NFT Marketplace
    Token Staking System
    Performance Optimization Patterns
    Mobile Experience
    Wallet
    Wallet Security Tips
    API
    Authentication
    Email AI-CRM API
    Entities
    Opportunities
    Messaging API
    Notifications API
    Wallet API
    Store API
    Admin API
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Branding
    Themes
    Web3
    Token launch jurisdictions
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Development
    Local Setup
    Code Structure
    Documentation components
    Community tooling
    Ring MCP Server
    Generative Images (ImageConductor)
    Autonomous Newsroom (Grok)
    OSS vs enterprise
    Whitelabel Navigation
    Best Practices
    Workflow
    Code Style
    Performance
    Testing
    Deployment
    Debugging
    Contributing
    MCP
    ring-image-create
    ring-video-create
    Examples
    Quick Start
    White Label
    Real World
    Integrations
    Ethereum wallets (Wagmi v3)

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)
    Docs
    Architecture
    Docs
    Architecture
    Docs
    Architecture

    Data Model

    One article, two lenses. Use the Founder / Developer tabs in the docs sidebar to filter this page. Shared sections stay visible for both audiences; wrapped blocks show concepts or integration detail respectively.

    Ring Platform stores almost all application data in PostgreSQL using a JSONB-first document shape: every row is id + data + timestamps. That gives founders a flexible product model (add fields without migrations for every tweak) and gives developers a single db() contract across every Ring clone.

    What lives in the database?

    DomainWhat founders configureTypical clone scenarios
    Users & authRoles, profiles, credit balanceMember portals, gated content, admin consoles
    EntitiesOrganizations, vendor profiles, verified listingsDirectory, marketplace sellers, NGO profiles
    OpportunitiesJobs, grants, bounties, RFPsJob board, grant matcher, project marketplace
    Store & ordersMulti-vendor catalog, inventory, checkoutWhite-label shop, B2B catalog, subscription boxes
    Wallet & paymentsLedger, WayForPay/Stripe, membership creditsToken-gated perks, prepaid credits, affiliate payouts
    Messaging & notifyConversations, in-app + FCM pushBuyer–seller chat, opportunity alerts
    Content & CRMNews, email sequences, AI matcher hooksCommunity hub, publisher ring, opportunity notifications
    Platform settingsAI provider keys, branding, web3 oracleSUPERadmin namespace config per clone

    Why this model matters for your Ring clone

    When you ringize a deployment, you are not buying a rigid CRM schema. You inherit a proven marketplace + community skeleton that already connects:

    • People (users with roles from visitor → superadmin)
    • Organizations (entities — your "vendor", "partner", or "chapter" records)
    • Demand (opportunities — anything you'd post as a listing others apply to)
    • Commerce (store products, orders, PaymentConductor settlements)
    • Trust (reviews, verification flags, confidential tiers)
    • Operator config (platform settings namespaces — AI, branding, web3)

    Founder scenarios (generalized)

    Regional opportunity network

    Entities represent local businesses; opportunities are grants and contracts; AI matcher notifies relevant members.

    Multi-vendor marketplace

    Each entity can sell through the store module; orders and inventory share one Postgres cluster per clone.

    JSONB document contract

    Every core collection table follows the same physical layout (see data/schema.sql):

    Design rules:

    • id — Firebase UID, UUID string, or domain key (e.g. lowercase username in usernames).
    • data — all domain fields; query with data->>'field' and GIN indexes for hot paths.
    • Triggers — updated_at maintained cluster-wide; LISTEN/NOTIFY hooks for realtime adapters.

    Hybrid exception: platform_settings

    Most tables are pure JSONB-in-data. platform_settings is the only hybrid table with top-level secrets and updated_by columns:

    PostgreSQLAdapter splits writes automatically: public config → data, API keys → secrets, actor → updated_by. Services consume via db().readDoc / createDoc / updateDoc:

    ModuleNamespace examplesPath
    Platform settingsai, branding, matcherfeatures/admin/platform-settings/platform-settings-service.ts
    Ring token oracle

    Related documentation

    Data Validation

    Zod schemas at the route boundary — how Ring ensures data integrity before it reaches the database.

    Backend modes

    When Postgres is primary vs Firebase-full; shared pool SSOT and raw SQL escape hatch.

    k8s-postgres-fcm

    PostGIS setup, connection pool tuning, K8s deployment.

    Authentication

    Auth.js tables in the same JSONB model.

    Data Model

    One article, two lenses. Use the Founder / Developer tabs in the docs sidebar to filter this page. Shared sections stay visible for both audiences; wrapped blocks show concepts or integration detail respectively.

    Ring Platform stores almost all application data in PostgreSQL using a JSONB-first document shape: every row is id + data + timestamps. That gives founders a flexible product model (add fields without migrations for every tweak) and gives developers a single db() contract across every Ring clone.

    What lives in the database?

    DomainWhat founders configureTypical clone scenarios
    Users & authRoles, profiles, credit balanceMember portals, gated content, admin consoles
    EntitiesOrganizations, vendor profiles, verified listingsDirectory, marketplace sellers, NGO profiles
    OpportunitiesJobs, grants, bounties, RFPsJob board, grant matcher, project marketplace
    Store & ordersMulti-vendor catalog, inventory, checkoutWhite-label shop, B2B catalog, subscription boxes
    Wallet & paymentsLedger, WayForPay/Stripe, membership creditsToken-gated perks, prepaid credits, affiliate payouts
    Messaging & notifyConversations, in-app + FCM pushBuyer–seller chat, opportunity alerts
    Content & CRMNews, email sequences, AI matcher hooksCommunity hub, publisher ring, opportunity notifications
    Platform settingsAI provider keys, branding, web3 oracleSUPERadmin namespace config per clone

    Why this model matters for your Ring clone

    When you ringize a deployment, you are not buying a rigid CRM schema. You inherit a proven marketplace + community skeleton that already connects:

    • People (users with roles from visitor → superadmin)
    • Organizations (entities — your "vendor", "partner", or "chapter" records)
    • Demand (opportunities — anything you'd post as a listing others apply to)
    • Commerce (store products, orders, PaymentConductor settlements)
    • Trust (reviews, verification flags, confidential tiers)
    • Operator config (platform settings namespaces — AI, branding, web3)

    Founder scenarios (generalized)

    Regional opportunity network

    Entities represent local businesses; opportunities are grants and contracts; AI matcher notifies relevant members.

    Multi-vendor marketplace

    Each entity can sell through the store module; orders and inventory share one Postgres cluster per clone.

    JSONB document contract

    Every core collection table follows the same physical layout (see data/schema.sql):

    Design rules:

    • id — Firebase UID, UUID string, or domain key (e.g. lowercase username in usernames).
    • data — all domain fields; query with data->>'field' and GIN indexes for hot paths.
    • Triggers — updated_at maintained cluster-wide; LISTEN/NOTIFY hooks for realtime adapters.

    Hybrid exception: platform_settings

    Most tables are pure JSONB-in-data. platform_settings is the only hybrid table with top-level secrets and updated_by columns:

    PostgreSQLAdapter splits writes automatically: public config → data, API keys → secrets, actor → updated_by. Services consume via db().readDoc / createDoc / updateDoc:

    ModuleNamespace examplesPath
    Platform settingsai, branding, matcherfeatures/admin/platform-settings/platform-settings-service.ts
    Ring token oracle

    Related documentation

    Data Validation

    Zod schemas at the route boundary — how Ring ensures data integrity before it reaches the database.

    Backend modes

    When Postgres is primary vs Firebase-full; shared pool SSOT and raw SQL escape hatch.

    k8s-postgres-fcm

    PostGIS setup, connection pool tuning, K8s deployment.

    Authentication

    Auth.js tables in the same JSONB model.

    Data Model

    One article, two lenses. Use the Founder / Developer tabs in the docs sidebar to filter this page. Shared sections stay visible for both audiences; wrapped blocks show concepts or integration detail respectively.

    Ring Platform stores almost all application data in PostgreSQL using a JSONB-first document shape: every row is id + data + timestamps. That gives founders a flexible product model (add fields without migrations for every tweak) and gives developers a single db() contract across every Ring clone.

    What lives in the database?

    DomainWhat founders configureTypical clone scenarios
    Users & authRoles, profiles, credit balanceMember portals, gated content, admin consoles
    EntitiesOrganizations, vendor profiles, verified listingsDirectory, marketplace sellers, NGO profiles
    OpportunitiesJobs, grants, bounties, RFPsJob board, grant matcher, project marketplace
    Store & ordersMulti-vendor catalog, inventory, checkoutWhite-label shop, B2B catalog, subscription boxes
    Wallet & paymentsLedger, WayForPay/Stripe, membership creditsToken-gated perks, prepaid credits, affiliate payouts
    Messaging & notifyConversations, in-app + FCM pushBuyer–seller chat, opportunity alerts
    Content & CRMNews, email sequences, AI matcher hooksCommunity hub, publisher ring, opportunity notifications
    Platform settingsAI provider keys, branding, web3 oracleSUPERadmin namespace config per clone

    Why this model matters for your Ring clone

    When you ringize a deployment, you are not buying a rigid CRM schema. You inherit a proven marketplace + community skeleton that already connects:

    • People (users with roles from visitor → superadmin)
    • Organizations (entities — your "vendor", "partner", or "chapter" records)
    • Demand (opportunities — anything you'd post as a listing others apply to)
    • Commerce (store products, orders, PaymentConductor settlements)
    • Trust (reviews, verification flags, confidential tiers)
    • Operator config (platform settings namespaces — AI, branding, web3)

    Founder scenarios (generalized)

    Regional opportunity network

    Entities represent local businesses; opportunities are grants and contracts; AI matcher notifies relevant members.

    Multi-vendor marketplace

    Each entity can sell through the store module; orders and inventory share one Postgres cluster per clone.

    JSONB document contract

    Every core collection table follows the same physical layout (see data/schema.sql):

    Design rules:

    • id — Firebase UID, UUID string, or domain key (e.g. lowercase username in usernames).
    • data — all domain fields; query with data->>'field' and GIN indexes for hot paths.
    • Triggers — updated_at maintained cluster-wide; LISTEN/NOTIFY hooks for realtime adapters.

    Hybrid exception: platform_settings

    Most tables are pure JSONB-in-data. platform_settings is the only hybrid table with top-level secrets and updated_by columns:

    PostgreSQLAdapter splits writes automatically: public config → data, API keys → secrets, actor → updated_by. Services consume via db().readDoc / createDoc / updateDoc:

    ModuleNamespace examplesPath
    Platform settingsai, branding, matcherfeatures/admin/platform-settings/platform-settings-service.ts
    Ring token oracle

    Related documentation

    Data Validation

    Zod schemas at the route boundary — how Ring ensures data integrity before it reaches the database.

    Backend modes

    When Postgres is primary vs Firebase-full; shared pool SSOT and raw SQL escape hatch.

    k8s-postgres-fcm

    PostGIS setup, connection pool tuning, K8s deployment.

    Authentication

    Auth.js tables in the same JSONB model.

    Membership + credits

    User JSONB holds credit_balance; wallet transactions provide an audit trail for top-ups and spends.

    Confidential deal room

    Role confidential plus entity/opportunity visibility flags — same tables, stricter layout gates.

    Operator takeaway

    You do not need separate databases per feature. Postgres + JSONB lets each clone emphasize store, opportunities, or community without forking the codebase. Schema SSOT: data/schema.sql (v4.0.3).

    web3
    features/wallet/services/ring-token-oracle.ts
    Do not bypass db()

    Never write raw SQL or instantiate a private pg.Pool for platform_settings. The adapter hybrid path is the only supported write surface.

    DatabaseService (application API)

    All server code goes through db() from @/lib/database — never raw SQL in route handlers (except PostGIS via getSharedPgPool()).

    readDoc / queryDocs return { success, data, error }. error is an Error object, not a string. Throw on failure in services; Server Actions may map to { error: string } for forms only.

    Email CRM via jsonb-collection

    The email CRM feature does not open its own database connection. features/email-crm/lib/jsonb-collection.ts wraps db().*Doc:

    HelperDelegates to
    readDocdb().readDoc
    upsertDocdb().readDoc + updateDoc or createDoc
    queryDocsdb().queryDocs
    deleteDocdb().deleteDoc

    Repositories (jsonb-contact-repository.ts, jsonb-draft-repository.ts, etc.) import from jsonb-collection.ts — same JSONB row shape as other collections.

    Entity-relationship map (logical)

    Ring Platform — core Postgres collections

    Apply schema to a fresh database

    1. 1

      Locate SSOT

      Single file: data/schema.sql (v4.0.3). Do not use deprecated scripts/postgres-schema.sql.

    2. 2

      Apply on cluster or local Postgres

    3. 3

      Set backend mode

      Production rings use DB_BACKEND_MODE=k8s-postgres-fcm. See Backend modes and databases.

    Query and index patterns

    • Filter JSONB: (data->>'status') = 'open' with btree expression indexes on hot keys.
    • Full-text: opportunities table includes search vectors (see schema comments).
    • Geospatial: PostGIS via lib/geolocation/geolocation-service.ts and getSharedPgPool() — not private pools.

    Deep dive: AI-CONTEXT/concepts/database/query-patterns.json and Discovery & mutation sync.

    PaymentConductor

    Orders, payments JSONB, webhook idempotency.

    Entities feature

    Product-facing entity profiles and verification flows.

    Membership + credits

    User JSONB holds credit_balance; wallet transactions provide an audit trail for top-ups and spends.

    Confidential deal room

    Role confidential plus entity/opportunity visibility flags — same tables, stricter layout gates.

    Operator takeaway

    You do not need separate databases per feature. Postgres + JSONB lets each clone emphasize store, opportunities, or community without forking the codebase. Schema SSOT: data/schema.sql (v4.0.3).

    web3
    features/wallet/services/ring-token-oracle.ts
    Do not bypass db()

    Never write raw SQL or instantiate a private pg.Pool for platform_settings. The adapter hybrid path is the only supported write surface.

    DatabaseService (application API)

    All server code goes through db() from @/lib/database — never raw SQL in route handlers (except PostGIS via getSharedPgPool()).

    readDoc / queryDocs return { success, data, error }. error is an Error object, not a string. Throw on failure in services; Server Actions may map to { error: string } for forms only.

    Email CRM via jsonb-collection

    The email CRM feature does not open its own database connection. features/email-crm/lib/jsonb-collection.ts wraps db().*Doc:

    HelperDelegates to
    readDocdb().readDoc
    upsertDocdb().readDoc + updateDoc or createDoc
    queryDocsdb().queryDocs
    deleteDocdb().deleteDoc

    Repositories (jsonb-contact-repository.ts, jsonb-draft-repository.ts, etc.) import from jsonb-collection.ts — same JSONB row shape as other collections.

    Entity-relationship map (logical)

    Ring Platform — core Postgres collections

    Apply schema to a fresh database

    1. 1

      Locate SSOT

      Single file: data/schema.sql (v4.0.3). Do not use deprecated scripts/postgres-schema.sql.

    2. 2

      Apply on cluster or local Postgres

    3. 3

      Set backend mode

      Production rings use DB_BACKEND_MODE=k8s-postgres-fcm. See Backend modes and databases.

    Query and index patterns

    • Filter JSONB: (data->>'status') = 'open' with btree expression indexes on hot keys.
    • Full-text: opportunities table includes search vectors (see schema comments).
    • Geospatial: PostGIS via lib/geolocation/geolocation-service.ts and getSharedPgPool() — not private pools.

    Deep dive: AI-CONTEXT/concepts/database/query-patterns.json and Discovery & mutation sync.

    PaymentConductor

    Orders, payments JSONB, webhook idempotency.

    Entities feature

    Product-facing entity profiles and verification flows.

    Membership + credits

    User JSONB holds credit_balance; wallet transactions provide an audit trail for top-ups and spends.

    Confidential deal room

    Role confidential plus entity/opportunity visibility flags — same tables, stricter layout gates.

    Operator takeaway

    You do not need separate databases per feature. Postgres + JSONB lets each clone emphasize store, opportunities, or community without forking the codebase. Schema SSOT: data/schema.sql (v4.0.3).

    web3
    features/wallet/services/ring-token-oracle.ts
    Do not bypass db()

    Never write raw SQL or instantiate a private pg.Pool for platform_settings. The adapter hybrid path is the only supported write surface.

    DatabaseService (application API)

    All server code goes through db() from @/lib/database — never raw SQL in route handlers (except PostGIS via getSharedPgPool()).

    readDoc / queryDocs return { success, data, error }. error is an Error object, not a string. Throw on failure in services; Server Actions may map to { error: string } for forms only.

    Email CRM via jsonb-collection

    The email CRM feature does not open its own database connection. features/email-crm/lib/jsonb-collection.ts wraps db().*Doc:

    HelperDelegates to
    readDocdb().readDoc
    upsertDocdb().readDoc + updateDoc or createDoc
    queryDocsdb().queryDocs
    deleteDocdb().deleteDoc

    Repositories (jsonb-contact-repository.ts, jsonb-draft-repository.ts, etc.) import from jsonb-collection.ts — same JSONB row shape as other collections.

    Entity-relationship map (logical)

    Ring Platform — core Postgres collections

    Apply schema to a fresh database

    1. 1

      Locate SSOT

      Single file: data/schema.sql (v4.0.3). Do not use deprecated scripts/postgres-schema.sql.

    2. 2

      Apply on cluster or local Postgres

    3. 3

      Set backend mode

      Production rings use DB_BACKEND_MODE=k8s-postgres-fcm. See Backend modes and databases.

    Query and index patterns

    • Filter JSONB: (data->>'status') = 'open' with btree expression indexes on hot keys.
    • Full-text: opportunities table includes search vectors (see schema comments).
    • Geospatial: PostGIS via lib/geolocation/geolocation-service.ts and getSharedPgPool() — not private pools.

    Deep dive: AI-CONTEXT/concepts/database/query-patterns.json and Discovery & mutation sync.

    PaymentConductor

    Orders, payments JSONB, webhook idempotency.

    Entities feature

    Product-facing entity profiles and verification flows.