Skip to content

Data Model

ShipLens uses PostgreSQL with the pgvector extension. Here's the complete schema and how entities relate.

Entity Relationship

Core Entities

Company

The tenant root. All data is scoped to a company.

FieldTypeDescription
namestringCompany name
planenumfree, starter, business, enterprise
settingsmapCompany-level configuration

Team

A sub-group within a company.

FieldTypeDescription
namestringTeam name
company_idFKParent company

Contributor

An individual team member. May have multiple git identities.

FieldTypeDescription
namestringDisplay name
team_idFKTeam membership
last_commit_atdatetimeMost recent commit timestamp

Contributor Identity

Maps git emails to contributors, handling the common case of developers using different emails.

FieldTypeDescription
emailstringGit commit email
contributor_idFKLinked contributor

Project

A connected git repository.

FieldTypeDescription
namestringRepository name
company_idFKParent company
architecture_contexttextCrawled project understanding

Domain

A logical area within a project with assigned criticality.

FieldTypeDescription
namestringDomain name (e.g., "auth", "payments")
criticalityenumcritical, high, medium, low, trivial
project_idFKParent project

Analysis Entities

Commit Report

The result of LLM analysis for a single commit.

FieldTypeDescription
shastringGit commit SHA
commit_typeenumfeat, fix, refactor, test, docs, chore, style, perf
summarytextLLM-generated summary
areas_affectedlistDomains/areas touched
complexityinteger (1-5)Assessed complexity
impactinteger (1-5)Assessed impact
confidencefloatLLM confidence level
quality_signalslistBoolean quality indicators
risk_signalslistBoolean risk indicators
slop_dimensionsmapSeven-dimension slop assessment
slop_indexfloatComputed slop index (0–1)
gaming_flagslistDetected gaming patterns
co_authorslistCo-author metadata (AI detection)
depthenumshallow, standard, deep
cost_usdfloatLLM cost for this analysis
lines_addedintegerLines added
lines_removedintegerLines removed
files_changedlistFiles modified
contributor_idFKAuthor
project_idFKRepository
committed_atdatetimeWhen the commit was authored

Commit Score

The scored result, computed from a Commit Report using the scoring engine.

FieldTypeDescription
final_scorefloatThe 0–10 score
normalized_corefloatComplexity × Impact, normalized
effort_bonusfloatLogarithmic effort contribution
quality_bonusfloatQuality signals contribution
risk_bonusfloatRisk signals contribution
versionintegerScoring engine version (1 or 2)
configmapScoring configuration used
commit_report_idFKSource report

Intelligence Entities

Weekly Digest

FieldTypeDescription
week_startdateMonday of the digest week
week_enddateSunday of the digest week
contenttextLLM-generated digest content
statusenumpending, generating, completed, failed
cost_usdfloatGeneration cost
company_idFKScope: company
team_idFK (nullable)Scope: team (nil = company-wide)

One-on-One Report

FieldTypeDescription
periodenumtwo_weeks, month, quarter
contenttextLLM-generated report content
cost_usdfloatGeneration cost
contributor_idFKSubject contributor

Contributor Alert

FieldTypeDescription
alert_typestringsilent_contributor, high_fix_ratio, low_test_discipline
messagetextHuman-readable description
resolved_atdatetime (nullable)When resolved (nil = active)
contributor_idFKAffected contributor

Built with intelligence, not surveillance.