Where the data lives.

Source files, search vectors and review records are different data sets.

What happens to your code

From code to a finding

  1. GitLabMR · SHA

    Read the selected revision

  2. IdentityTenant · ACL

    Check current access

  3. ContextPackDiff · files · rules

    Pin source and policy versions

  4. Review modelAPI / CLI

    Send the approved context

  5. DraftPostgreSQL

    Save the finding before publishing

A model receives selected material. The team controls publication and merge.

Three kinds of stored data

  1. Source filesSHA · blob · hash

    Private read-only snapshots

  2. QdrantVectors · metadata

    A separate index for each tenant

  3. PostgreSQLContextPack · review

    Separate databases and service logins

Qdrant stores retrieval vectors and metadata. Source files stay in snapshots; selected context and review records stay in PostgreSQL.

One tenant, its own data owners

  1. IdentityUser → tenant → role

    Trusted identity, checked per request

  2. Private servicesControl · Connector · Worker · Context

    Service token and exact tenant scope

  3. Separate ownersPostgreSQL · files · Qdrant

    Separate logins, paths, volumes and keys

Repository scope is enforced by the API. Repositories inside one service share its SQL role; a compromised process is a separate threat boundary.

Product architecture. Validate your deployment separately.

PostgreSQL by owner

OwnerStored records
IdentityUsers, organizations, memberships and sessions
ControlVersioned rules, queue, runs and drafts
ConnectorInbox, feedback and publication/action receipts
WorkerAttempts and model result records
ContextSource jobs, manifests, index generations and immutable ContextPacks
ContextForgeGateway state in its own database and owner

How context is assembled

The Connector reads the exact repository revision. Read-only source snapshots carry SHA, blob and content hashes. The indexer records an index generation; Qdrant holds vectors and search metadata. Retrieved fragments are checked against source and current ACL before entering a ContextPack.

What a ContextPack fixes

tenant / repository / SHA
selected diff + verified fragments
ACL + policy + retrieval revisions
content digest

The pack is saved in Context PostgreSQL and bound to a review run. Source-ready alone does not mean the index is ready. An embedding model builds vectors; a review model reads the selected context and produces findings.

Secrets and deletion

GitLab and model credentials belong to their services and are kept in private files. Access revocation blocks future reads; it does not automatically erase source snapshots, indexes, audit history or backups. Define deletion and backup retention separately.