Initial curated projectbrain source from 8a7b1e0651dbdab97d744cbd2e653ab3970ac6c5
This commit is contained in:
commit
5aa3e8d685
700 files changed
+132801
No files matched your search
+147
@@ -0,0 +1,147 @@
|
||||
-- P7 current state, handoff bundle, Codex task, and Codex import persistence.
|
||||
ALTER TYPE "EntityType" ADD VALUE IF NOT EXISTS 'current_state_report';
|
||||
ALTER TYPE "EntityType" ADD VALUE IF NOT EXISTS 'handoff_bundle';
|
||||
ALTER TYPE "EntityType" ADD VALUE IF NOT EXISTS 'codex_task';
|
||||
ALTER TYPE "EntityType" ADD VALUE IF NOT EXISTS 'codex_run_import';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "CurrentStateReport" (
|
||||
"id" TEXT NOT NULL,
|
||||
"projectId" TEXT NOT NULL,
|
||||
"slug" TEXT,
|
||||
"readableId" TEXT,
|
||||
"generatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"existsJson" JSONB NOT NULL,
|
||||
"worksJson" JSONB NOT NULL,
|
||||
"uncertainJson" JSONB NOT NULL,
|
||||
"brokenJson" JSONB NOT NULL,
|
||||
"currentRisksJson" JSONB NOT NULL,
|
||||
"pendingReviewItemIdsJson" JSONB NOT NULL,
|
||||
"activeContextPackId" TEXT,
|
||||
"recommendedNextActionsJson" JSONB NOT NULL,
|
||||
"source" TEXT NOT NULL DEFAULT 'runtime',
|
||||
"approvalState" "ApprovalState" NOT NULL DEFAULT 'pending',
|
||||
"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 "CurrentStateReport_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "HandoffBundle" (
|
||||
"id" TEXT NOT NULL,
|
||||
"projectId" TEXT NOT NULL,
|
||||
"slug" TEXT,
|
||||
"readableId" TEXT,
|
||||
"target" TEXT NOT NULL,
|
||||
"title" TEXT NOT NULL,
|
||||
"markdown" TEXT NOT NULL,
|
||||
"qualityScore" INTEGER NOT NULL DEFAULT 0,
|
||||
"sourceTruthItemIdsJson" JSONB NOT NULL,
|
||||
"sourceReviewItemIdsJson" JSONB NOT NULL,
|
||||
"sourceCaptureItemIdsJson" JSONB NOT NULL,
|
||||
"sourceProjectUpdateIdsJson" JSONB,
|
||||
"sourceOperatingLogEntryIdsJson" JSONB,
|
||||
"status" TEXT NOT NULL DEFAULT 'ready',
|
||||
"approvalState" "ApprovalState" NOT NULL DEFAULT 'pending',
|
||||
"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 "HandoffBundle_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "CodexTask" (
|
||||
"id" TEXT NOT NULL,
|
||||
"projectId" TEXT NOT NULL,
|
||||
"slug" TEXT,
|
||||
"readableId" TEXT,
|
||||
"handoffBundleId" TEXT,
|
||||
"goal" TEXT NOT NULL,
|
||||
"contextPackId" TEXT,
|
||||
"constraintsJson" JSONB NOT NULL,
|
||||
"relevantFilesJson" JSONB NOT NULL,
|
||||
"doNotBreakRulesJson" JSONB NOT NULL,
|
||||
"validationCommandsJson" JSONB NOT NULL,
|
||||
"expectedReportFormat" TEXT NOT NULL,
|
||||
"outputImportInstructions" TEXT NOT NULL,
|
||||
"approvalState" "ApprovalState" NOT NULL DEFAULT 'pending',
|
||||
"status" TEXT NOT NULL DEFAULT 'draft',
|
||||
"payloadJson" JSONB,
|
||||
"provenanceJson" JSONB,
|
||||
"createdBy" TEXT NOT NULL DEFAULT 'api',
|
||||
"updatedBy" TEXT,
|
||||
"sourceType" TEXT NOT NULL DEFAULT 'handoff',
|
||||
"archivedAt" TIMESTAMP(3),
|
||||
"deletedAt" TIMESTAMP(3),
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
CONSTRAINT "CodexTask_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS "CodexRunImport" (
|
||||
"id" TEXT NOT NULL,
|
||||
"projectId" TEXT NOT NULL,
|
||||
"slug" TEXT,
|
||||
"readableId" TEXT,
|
||||
"codexTaskId" TEXT,
|
||||
"sourceRun" TEXT NOT NULL,
|
||||
"summary" TEXT NOT NULL,
|
||||
"extractedReviewItemIdsJson" JSONB NOT NULL,
|
||||
"status" TEXT NOT NULL DEFAULT 'imported',
|
||||
"payloadJson" JSONB,
|
||||
"provenanceJson" JSONB,
|
||||
"createdBy" TEXT NOT NULL DEFAULT 'api',
|
||||
"updatedBy" TEXT,
|
||||
"sourceType" TEXT NOT NULL DEFAULT 'codex_output',
|
||||
"archivedAt" TIMESTAMP(3),
|
||||
"deletedAt" TIMESTAMP(3),
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||
CONSTRAINT "CodexRunImport_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "CurrentStateReport_projectId_slug_key" ON "CurrentStateReport"("projectId", "slug");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "CurrentStateReport_projectId_readableId_key" ON "CurrentStateReport"("projectId", "readableId");
|
||||
CREATE INDEX IF NOT EXISTS "CurrentStateReport_projectId_idx" ON "CurrentStateReport"("projectId");
|
||||
CREATE INDEX IF NOT EXISTS "CurrentStateReport_projectId_generatedAt_idx" ON "CurrentStateReport"("projectId", "generatedAt");
|
||||
CREATE INDEX IF NOT EXISTS "CurrentStateReport_projectId_approvalState_idx" ON "CurrentStateReport"("projectId", "approvalState");
|
||||
CREATE INDEX IF NOT EXISTS "CurrentStateReport_projectId_deletedAt_idx" ON "CurrentStateReport"("projectId", "deletedAt");
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "HandoffBundle_projectId_slug_key" ON "HandoffBundle"("projectId", "slug");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "HandoffBundle_projectId_readableId_key" ON "HandoffBundle"("projectId", "readableId");
|
||||
CREATE INDEX IF NOT EXISTS "HandoffBundle_projectId_idx" ON "HandoffBundle"("projectId");
|
||||
CREATE INDEX IF NOT EXISTS "HandoffBundle_projectId_target_idx" ON "HandoffBundle"("projectId", "target");
|
||||
CREATE INDEX IF NOT EXISTS "HandoffBundle_projectId_status_idx" ON "HandoffBundle"("projectId", "status");
|
||||
CREATE INDEX IF NOT EXISTS "HandoffBundle_projectId_createdAt_idx" ON "HandoffBundle"("projectId", "createdAt");
|
||||
CREATE INDEX IF NOT EXISTS "HandoffBundle_projectId_deletedAt_idx" ON "HandoffBundle"("projectId", "deletedAt");
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "CodexTask_projectId_slug_key" ON "CodexTask"("projectId", "slug");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "CodexTask_projectId_readableId_key" ON "CodexTask"("projectId", "readableId");
|
||||
CREATE INDEX IF NOT EXISTS "CodexTask_projectId_idx" ON "CodexTask"("projectId");
|
||||
CREATE INDEX IF NOT EXISTS "CodexTask_projectId_handoffBundleId_idx" ON "CodexTask"("projectId", "handoffBundleId");
|
||||
CREATE INDEX IF NOT EXISTS "CodexTask_projectId_status_idx" ON "CodexTask"("projectId", "status");
|
||||
CREATE INDEX IF NOT EXISTS "CodexTask_projectId_approvalState_idx" ON "CodexTask"("projectId", "approvalState");
|
||||
CREATE INDEX IF NOT EXISTS "CodexTask_projectId_deletedAt_idx" ON "CodexTask"("projectId", "deletedAt");
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "CodexRunImport_projectId_slug_key" ON "CodexRunImport"("projectId", "slug");
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS "CodexRunImport_projectId_readableId_key" ON "CodexRunImport"("projectId", "readableId");
|
||||
CREATE INDEX IF NOT EXISTS "CodexRunImport_projectId_idx" ON "CodexRunImport"("projectId");
|
||||
CREATE INDEX IF NOT EXISTS "CodexRunImport_projectId_codexTaskId_idx" ON "CodexRunImport"("projectId", "codexTaskId");
|
||||
CREATE INDEX IF NOT EXISTS "CodexRunImport_projectId_status_idx" ON "CodexRunImport"("projectId", "status");
|
||||
CREATE INDEX IF NOT EXISTS "CodexRunImport_projectId_deletedAt_idx" ON "CodexRunImport"("projectId", "deletedAt");
|
||||
|
||||
ALTER TABLE "CurrentStateReport" ADD CONSTRAINT "CurrentStateReport_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE "HandoffBundle" ADD CONSTRAINT "HandoffBundle_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE "CodexTask" ADD CONSTRAINT "CodexTask_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
ALTER TABLE "CodexTask" ADD CONSTRAINT "CodexTask_handoffBundleId_fkey" FOREIGN KEY ("handoffBundleId") REFERENCES "HandoffBundle"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||
ALTER TABLE "CodexRunImport" ADD CONSTRAINT "CodexRunImport_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||
Reference in new issue
Block a user