Skip to content

FeedbackService — DDL appendix

Generated from the architecture model

This page is rendered from model/**/*.yaml by tools/docs_model during mkdocs build. Edit the YAML, not this page; hand-written design lives on the linked service, platform and plane pages.

Dialect shown: SQL Server (nvarchar, uniqueidentifier, datetimeoffset). Migrations are authored as FluentMigrator classes in the service's DatabaseModel.Migrations project; the TenantId column and the NHibernate tenant filter follow canonical ADR-0100 in SharedDb mode.

dbo.HumanFeedback

Owner: HumanFeedback

CREATE TABLE [dbo].[HumanFeedback] (
    [FeedbackId] uniqueidentifier NOT NULL,
    [TenantId] nvarchar(64) NOT NULL,
    [ProjectId] nvarchar(64) NOT NULL,
    [SubjectKind] nvarchar(16) NOT NULL,
    [SubjectRef] nvarchar(256) NOT NULL,
    [Kind] int NOT NULL,
    [Rating] int NULL,
    [CommentRef] nvarchar(512) NULL,
    [CorrectedArtifactRef] nvarchar(512) NULL,
    [GivenBy] nvarchar(256) NOT NULL,
    [GivenAt] datetimeoffset NOT NULL,
    CONSTRAINT [PK_HumanFeedback] PRIMARY KEY ([FeedbackId])
);
CREATE INDEX [IX_Feedback_Subject] ON [dbo].[HumanFeedback] ([TenantId], [SubjectKind], [SubjectRef]);
Column Type Null Key Description
FeedbackId uniqueidentifier no PK
TenantId nvarchar(64) no
ProjectId nvarchar(64) no
SubjectKind nvarchar(16) no
SubjectRef nvarchar(256) no
Kind int no
Rating int yes
CommentRef nvarchar(512) yes
CorrectedArtifactRef nvarchar(512) yes
GivenBy nvarchar(256) no
GivenAt datetimeoffset no

dbo.Datasets

Owner: Dataset

CREATE TABLE [dbo].[Datasets] (
    [DatasetId] uniqueidentifier NOT NULL,
    [TenantId] nvarchar(64) NOT NULL,
    [Name] nvarchar(128) NOT NULL,
    [Target] nvarchar(32) NOT NULL,
    [Version] int NOT NULL,
    [TaskCount] int NOT NULL,
    [SnapshotRef] nvarchar(512) NOT NULL,
    [Classification] nvarchar(16) NOT NULL,
    [PublishedAt] datetimeoffset NULL,
    CONSTRAINT [PK_Datasets] PRIMARY KEY ([DatasetId])
);
CREATE UNIQUE INDEX [UX_Datasets_Name_Version] ON [dbo].[Datasets] ([TenantId], [Name], [Version]);
Column Type Null Key Description
DatasetId uniqueidentifier no PK
TenantId nvarchar(64) no
Name nvarchar(128) no
Target nvarchar(32) no
Version int no
TaskCount int no
SnapshotRef nvarchar(512) no
Classification nvarchar(16) no
PublishedAt datetimeoffset yes

dbo.DatasetTasks

Owner: Dataset

CREATE TABLE [dbo].[DatasetTasks] (
    [DatasetId] uniqueidentifier NOT NULL,
    [TaskId] nvarchar(128) NOT NULL,
    [TenantId] nvarchar(64) NOT NULL,
    [SourceRunId] uniqueidentifier NULL,
    [InputRef] nvarchar(512) NOT NULL,
    [ExpectedRef] nvarchar(512) NOT NULL,
    [ScoringJson] nvarchar(1024) NOT NULL,
    CONSTRAINT [PK_DatasetTasks] PRIMARY KEY ([DatasetId], [TaskId])
);
ALTER TABLE [dbo].[DatasetTasks] ADD CONSTRAINT [FK_DatasetTasks_Datasets_DatasetId] FOREIGN KEY ([DatasetId]) REFERENCES [dbo].[Datasets] ([DatasetId]);
Column Type Null Key Description
DatasetId uniqueidentifier no PK FK → Datasets.DatasetId
TaskId nvarchar(128) no PK
TenantId nvarchar(64) no
SourceRunId uniqueidentifier yes
InputRef nvarchar(512) no
ExpectedRef nvarchar(512) no
ScoringJson nvarchar(1024) no

dbo.LearningProposals

Owner: LearningProposal

CREATE TABLE [dbo].[LearningProposals] (
    [ProposalId] uniqueidentifier NOT NULL,
    [TenantId] nvarchar(64) NOT NULL,
    [Kind] int NOT NULL,
    [TargetAssetId] nvarchar(128) NOT NULL,
    [TargetVersion] nvarchar(32) NOT NULL,
    [SummaryRef] nvarchar(512) NOT NULL,
    [EvidenceRefsJson] nvarchar(max) NOT NULL,
    [ExpectedEffectJson] nvarchar(512) NULL,
    [State] int NOT NULL,
    [ReviewedBy] nvarchar(256) NULL,
    [ResultingReleaseId] nvarchar(256) NULL,
    [RaisedAt] datetimeoffset NOT NULL,
    CONSTRAINT [PK_LearningProposals] PRIMARY KEY ([ProposalId])
);
CREATE INDEX [IX_Proposals_Tenant_State] ON [dbo].[LearningProposals] ([TenantId], [State]);
CREATE INDEX [IX_Proposals_Target] ON [dbo].[LearningProposals] ([TargetAssetId], [State]);
Column Type Null Key Description
ProposalId uniqueidentifier no PK
TenantId nvarchar(64) no
Kind int no
TargetAssetId nvarchar(128) no
TargetVersion nvarchar(32) no
SummaryRef nvarchar(512) no
EvidenceRefsJson nvarchar(max) no
ExpectedEffectJson nvarchar(512) yes
State int no
ReviewedBy nvarchar(256) yes
ResultingReleaseId nvarchar(256) yes
RaisedAt datetimeoffset no