PBI-67: Add review-plan support to Idea model and job config
- Add plan_review_log and reviewed_at fields to Idea model - Add REVIEWING_PLAN, PLAN_REVIEW_FAILED, PLAN_REVIEWED to IdeaStatus enum - Add IDEA_REVIEW_PLAN to ClaudeJobKind enum - Add IDEA_REVIEW_PLAN config to job-config.ts with model=opus, thinking_budget=6000 - Create migration record for schema changes (applied via db push) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
1e95837190
commit
1fb3cc093e
3 changed files with 46 additions and 16 deletions
|
|
@ -101,6 +101,19 @@ const KIND_DEFAULTS: Record<string, JobConfig> = {
|
|||
'mcp__scrum4me__update_job_status',
|
||||
],
|
||||
},
|
||||
IDEA_REVIEW_PLAN: {
|
||||
model: 'claude-opus-4-7',
|
||||
thinking_budget: 6000,
|
||||
permission_mode: 'acceptEdits',
|
||||
max_turns: 1,
|
||||
allowed_tools: [
|
||||
'Read', 'Write', 'Grep', 'Glob',
|
||||
'mcp__scrum4me__update_idea_plan_reviewed',
|
||||
'mcp__scrum4me__log_idea_decision',
|
||||
'mcp__scrum4me__update_job_status',
|
||||
'mcp__scrum4me__ask_user_question',
|
||||
],
|
||||
},
|
||||
PLAN_CHAT: {
|
||||
model: 'claude-sonnet-4-6',
|
||||
thinking_budget: 6000,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
-- AlterEnum
|
||||
ALTER TYPE "IdeaStatus" ADD VALUE 'REVIEWING_PLAN';
|
||||
ALTER TYPE "IdeaStatus" ADD VALUE 'PLAN_REVIEW_FAILED';
|
||||
ALTER TYPE "IdeaStatus" ADD VALUE 'PLAN_REVIEWED';
|
||||
|
||||
-- AlterEnum
|
||||
ALTER TYPE "ClaudeJobKind" ADD VALUE 'IDEA_REVIEW_PLAN';
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "ideas" ADD COLUMN "plan_review_log" JSONB,
|
||||
ADD COLUMN "reviewed_at" TIMESTAMP(3);
|
||||
|
|
@ -100,6 +100,9 @@ enum IdeaStatus {
|
|||
PLANNING
|
||||
PLAN_FAILED
|
||||
PLAN_READY
|
||||
REVIEWING_PLAN
|
||||
PLAN_REVIEW_FAILED
|
||||
PLAN_REVIEWED
|
||||
PLANNED
|
||||
}
|
||||
|
||||
|
|
@ -107,6 +110,7 @@ enum ClaudeJobKind {
|
|||
TASK_IMPLEMENTATION
|
||||
IDEA_GRILL
|
||||
IDEA_MAKE_PLAN
|
||||
IDEA_REVIEW_PLAN
|
||||
PLAN_CHAT
|
||||
SPRINT_IMPLEMENTATION
|
||||
}
|
||||
|
|
@ -511,22 +515,24 @@ model ProductMember {
|
|||
}
|
||||
|
||||
model Idea {
|
||||
id String @id @default(cuid())
|
||||
user User @relation(fields: [user_id], references: [id], onDelete: Cascade)
|
||||
user_id String
|
||||
product Product? @relation(fields: [product_id], references: [id], onDelete: SetNull)
|
||||
product_id String?
|
||||
code String @db.VarChar(30)
|
||||
title String
|
||||
description String? @db.VarChar(4000)
|
||||
grill_md String? @db.Text
|
||||
plan_md String? @db.Text
|
||||
pbi Pbi? @relation(fields: [pbi_id], references: [id], onDelete: SetNull)
|
||||
pbi_id String? @unique
|
||||
status IdeaStatus @default(DRAFT)
|
||||
archived Boolean @default(false)
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
id String @id @default(cuid())
|
||||
user User @relation(fields: [user_id], references: [id], onDelete: Cascade)
|
||||
user_id String
|
||||
product Product? @relation(fields: [product_id], references: [id], onDelete: SetNull)
|
||||
product_id String?
|
||||
code String @db.VarChar(30)
|
||||
title String
|
||||
description String? @db.VarChar(4000)
|
||||
grill_md String? @db.Text
|
||||
plan_md String? @db.Text
|
||||
plan_review_log Json? // ReviewLog from orchestrator (all rounds, convergence metrics, approval status)
|
||||
reviewed_at DateTime? // When last reviewed
|
||||
pbi Pbi? @relation(fields: [pbi_id], references: [id], onDelete: SetNull)
|
||||
pbi_id String? @unique
|
||||
status IdeaStatus @default(DRAFT)
|
||||
archived Boolean @default(false)
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime @updatedAt
|
||||
|
||||
questions ClaudeQuestion[]
|
||||
jobs ClaudeJob[]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue