Initial curated projectbrain source from 8a7b1e0651dbdab97d744cbd2e653ab3970ac6c5
This commit is contained in:
commit
5aa3e8d685
700 files changed
+132801
No files matched your search
+113
@@ -0,0 +1,113 @@
|
||||
-- P6 accepted truth, project updates, and operating log persistence.
|
||||
ALTER TYPE "EntityType" ADD VALUE IF NOT EXISTS 'accepted_truth_item';
|
||||
ALTER TYPE "EntityType" ADD VALUE IF NOT EXISTS 'project_update';
|
||||
ALTER TYPE "EntityType" ADD VALUE IF NOT EXISTS 'operating_log_entry';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "AcceptedTruthItem" (
|
||||
"id" TEXT NOT NULL,
|
||||
"projectId" TEXT NOT NULL,
|
||||
"slug" TEXT,
|
||||
"readableId" TEXT,
|
||||
"sourceReviewItemId" TEXT NOT NULL,
|
||||
"kind" TEXT NOT NULL,
|
||||
"title" TEXT NOT NULL,
|
||||
"summary" TEXT NOT NULL,
|
||||
"status" TEXT NOT NULL DEFAULT 'accepted',
|
||||
"source" TEXT NOT NULL,
|
||||
"confidence" INTEGER NOT NULL DEFAULT 0,
|
||||
"approvalState" "ApprovalState" NOT NULL DEFAULT 'approved',
|
||||
"evidenceStrength" "EvidenceStrength" NOT NULL DEFAULT 'weak',
|
||||
"verificationState" "VerificationState" NOT NULL DEFAULT 'verified',
|
||||
"payloadJson" JSONB,
|
||||
"provenanceJson" JSONB,
|
||||
"createdBy" TEXT NOT NULL DEFAULT 'api',
|
||||
"updatedBy" TEXT,
|
||||
"sourceType" TEXT NOT NULL DEFAULT 'review_queue',
|
||||
"verifiedAt" TIMESTAMP(3),
|
||||
"verifiedBy" TEXT,
|
||||
"archivedAt" TIMESTAMP(3),
|
||||
"deletedAt" TIMESTAMP(3),
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
CONSTRAINT "AcceptedTruthItem_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "ProjectUpdate" (
|
||||
"id" TEXT NOT NULL,
|
||||
"projectId" TEXT NOT NULL,
|
||||
"slug" TEXT,
|
||||
"readableId" TEXT,
|
||||
"sourceTruthItemId" TEXT NOT NULL,
|
||||
"kind" TEXT NOT NULL,
|
||||
"title" TEXT NOT NULL,
|
||||
"summary" TEXT NOT NULL,
|
||||
"targetArea" TEXT NOT NULL,
|
||||
"status" TEXT NOT NULL DEFAULT 'ready',
|
||||
"confidence" INTEGER NOT NULL DEFAULT 0,
|
||||
"approvalState" "ApprovalState" NOT NULL DEFAULT 'pending',
|
||||
"evidenceStrength" "EvidenceStrength" NOT NULL DEFAULT 'weak',
|
||||
"payloadJson" JSONB,
|
||||
"provenanceJson" JSONB,
|
||||
"createdBy" TEXT NOT NULL DEFAULT 'api',
|
||||
"updatedBy" TEXT,
|
||||
"sourceType" TEXT NOT NULL DEFAULT 'accepted_truth',
|
||||
"appliedAt" TIMESTAMP(3),
|
||||
"archivedAt" TIMESTAMP(3),
|
||||
"deletedAt" TIMESTAMP(3),
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
CONSTRAINT "ProjectUpdate_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "OperatingLogEntry" (
|
||||
"id" TEXT NOT NULL,
|
||||
"projectId" TEXT NOT NULL,
|
||||
"slug" TEXT,
|
||||
"readableId" TEXT,
|
||||
"timestamp" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"type" TEXT NOT NULL,
|
||||
"title" TEXT NOT NULL,
|
||||
"summary" TEXT NOT NULL,
|
||||
"linkedEntityIdsJson" JSONB NOT NULL,
|
||||
"source" TEXT NOT NULL,
|
||||
"importance" TEXT NOT NULL DEFAULT 'normal',
|
||||
"payloadJson" JSONB,
|
||||
"provenanceJson" JSONB,
|
||||
"createdBy" TEXT NOT NULL DEFAULT 'api',
|
||||
"updatedBy" TEXT,
|
||||
"sourceType" TEXT NOT NULL DEFAULT 'runtime',
|
||||
"archivedAt" TIMESTAMP(3),
|
||||
"deletedAt" TIMESTAMP(3),
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
CONSTRAINT "OperatingLogEntry_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "AcceptedTruthItem_projectId_slug_key" ON "AcceptedTruthItem"("projectId", "slug");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "AcceptedTruthItem_projectId_readableId_key" ON "AcceptedTruthItem"("projectId", "readableId");
|
||||
CREATE INDEX IF NOT EXISTS "AcceptedTruthItem_projectId_idx" ON "AcceptedTruthItem"("projectId");
|
||||
CREATE INDEX IF NOT EXISTS "AcceptedTruthItem_projectId_sourceReviewItemId_idx" ON "AcceptedTruthItem"("projectId", "sourceReviewItemId");
|
||||
CREATE INDEX IF NOT EXISTS "AcceptedTruthItem_projectId_kind_idx" ON "AcceptedTruthItem"("projectId", "kind");
|
||||
CREATE INDEX IF NOT EXISTS "AcceptedTruthItem_projectId_status_idx" ON "AcceptedTruthItem"("projectId", "status");
|
||||
CREATE INDEX IF NOT EXISTS "AcceptedTruthItem_projectId_createdAt_idx" ON "AcceptedTruthItem"("projectId", "createdAt");
|
||||
CREATE INDEX IF NOT EXISTS "AcceptedTruthItem_projectId_deletedAt_idx" ON "AcceptedTruthItem"("projectId", "deletedAt");
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "ProjectUpdate_projectId_slug_key" ON "ProjectUpdate"("projectId", "slug");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "ProjectUpdate_projectId_readableId_key" ON "ProjectUpdate"("projectId", "readableId");
|
||||
CREATE INDEX IF NOT EXISTS "ProjectUpdate_projectId_idx" ON "ProjectUpdate"("projectId");
|
||||
CREATE INDEX IF NOT EXISTS "ProjectUpdate_projectId_sourceTruthItemId_idx" ON "ProjectUpdate"("projectId", "sourceTruthItemId");
|
||||
CREATE INDEX IF NOT EXISTS "ProjectUpdate_projectId_targetArea_idx" ON "ProjectUpdate"("projectId", "targetArea");
|
||||
CREATE INDEX IF NOT EXISTS "ProjectUpdate_projectId_status_idx" ON "ProjectUpdate"("projectId", "status");
|
||||
CREATE INDEX IF NOT EXISTS "ProjectUpdate_projectId_createdAt_idx" ON "ProjectUpdate"("projectId", "createdAt");
|
||||
CREATE INDEX IF NOT EXISTS "ProjectUpdate_projectId_deletedAt_idx" ON "ProjectUpdate"("projectId", "deletedAt");
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "OperatingLogEntry_projectId_slug_key" ON "OperatingLogEntry"("projectId", "slug");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "OperatingLogEntry_projectId_readableId_key" ON "OperatingLogEntry"("projectId", "readableId");
|
||||
CREATE INDEX IF NOT EXISTS "OperatingLogEntry_projectId_idx" ON "OperatingLogEntry"("projectId");
|
||||
CREATE INDEX IF NOT EXISTS "OperatingLogEntry_projectId_type_idx" ON "OperatingLogEntry"("projectId", "type");
|
||||
CREATE INDEX IF NOT EXISTS "OperatingLogEntry_projectId_timestamp_idx" ON "OperatingLogEntry"("projectId", "timestamp");
|
||||
CREATE INDEX IF NOT EXISTS "OperatingLogEntry_projectId_deletedAt_idx" ON "OperatingLogEntry"("projectId", "deletedAt");
|
||||
|
||||
ALTER TABLE "AcceptedTruthItem" ADD CONSTRAINT "AcceptedTruthItem_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE "ProjectUpdate" ADD CONSTRAINT "ProjectUpdate_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE "OperatingLogEntry" ADD CONSTRAINT "OperatingLogEntry_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
Reference in new issue
Block a user