feat(ack): refine intake and validation workflow

This commit is contained in:
2026-08-04 10:52:37 +08:00
parent b9c82b5520
commit 5018a1801d
32 changed files with 1602 additions and 302 deletions
+107 -4
View File
@@ -181,7 +181,7 @@
"provider": { "const": "feishu-base" },
"workflow": {
"type": "string",
"enum": ["read-only-v1", "reviewed-writeback-v1"]
"enum": ["read-only-v1", "reviewed-writeback-v1", "clarified-writeback-v1"]
},
"profile": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$" },
"baseToken": { "type": "string", "minLength": 1, "pattern": "^\\S+$" },
@@ -189,7 +189,7 @@
"viewId": { "type": "string", "minLength": 1, "pattern": "^\\S+$" },
"fields": {
"type": "object",
"required": ["title", "actual", "expected", "stepsToReproduce", "acceptance", "priority", "attachments", "updatedAt"],
"required": [],
"additionalProperties": false,
"properties": {
"title": { "type": "string", "minLength": 1, "pattern": "^\\S+$" },
@@ -201,10 +201,28 @@
"priority": { "type": "string", "minLength": 1, "pattern": "^\\S+$" },
"attachments": { "type": "string", "minLength": 1, "pattern": "^\\S+$" },
"updatedAt": { "type": "string", "minLength": 1, "pattern": "^\\S+$" }
,"details": { "type": "string", "minLength": 1, "pattern": "^\\S+$" }
,"problemStatement": { "type": "string", "minLength": 1, "pattern": "^\\S+$" }
,"expectedOutcome": { "type": "string", "minLength": 1, "pattern": "^\\S+$" }
,"intakeStatus": { "type": "string", "minLength": 1, "pattern": "^\\S+$" }
,"ackTaskId": { "type": "string", "minLength": 1, "pattern": "^\\S+$" }
}
}
},
"allOf": [
{
"if": {
"not": {
"properties": { "workflow": { "const": "clarified-writeback-v1" } },
"required": ["workflow"]
}
},
"then": {
"properties": {
"fields": { "required": ["title", "actual", "expected", "stepsToReproduce", "acceptance", "attachments", "updatedAt"] }
}
}
},
{
"if": {
"properties": { "workflow": { "const": "reviewed-writeback-v1" } },
@@ -212,7 +230,18 @@
},
"then": {
"properties": {
"fields": { "required": ["fixLogic"] }
"fields": { "required": ["fixLogic", "priority"] }
}
}
}
,{
"if": {
"properties": { "workflow": { "const": "clarified-writeback-v1" } },
"required": ["workflow"]
},
"then": {
"properties": {
"fields": { "required": ["title", "details", "problemStatement", "expectedOutcome", "acceptance", "intakeStatus", "ackTaskId", "attachments", "updatedAt"] }
}
}
}
@@ -226,7 +255,7 @@
"kind": { "const": "feishu-base" },
"workflow": {
"type": "string",
"enum": ["read-only-v1", "reviewed-writeback-v1"]
"enum": ["read-only-v1", "reviewed-writeback-v1", "clarified-writeback-v1"]
},
"ref": {
"type": "string",
@@ -250,6 +279,15 @@
"required": ["approvedRevision", "approvedPayloadHash"]
}
}
,{
"if": {
"properties": { "workflow": { "const": "clarified-writeback-v1" } },
"required": ["workflow"]
},
"then": {
"required": ["approvedRevision", "approvedPayloadHash"]
}
}
]
},
"profileId": {
@@ -614,6 +652,13 @@
"launchFingerprint": {
"$ref": "#/definitions/sha256"
},
"projectRoot": {
"type": "string",
"pattern": "^/"
},
"boardHash": {
"$ref": "#/definitions/sha256"
},
"slot": {
"type": "integer",
"minimum": 1,
@@ -730,6 +775,57 @@
"evidence": { "type": "string" }
}
},
"environmentIncident": {
"type": "object",
"required": [
"id",
"role",
"phase",
"status",
"summary",
"evidence",
"impact",
"recoveryAction",
"userAction",
"reportedAt"
],
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*-ENV-[1-9][0-9]*$"
},
"attemptId": { "type": ["string", "null"] },
"role": {
"type": "string",
"enum": ["coordinator", "developer", "test"]
},
"phase": {
"type": "string",
"enum": [
"launch",
"orchestration",
"service",
"test_data",
"browser",
"tooling",
"permissions",
"other"
]
},
"status": {
"type": "string",
"enum": ["open", "resolved"]
},
"summary": { "type": "string", "minLength": 1, "pattern": "\\S" },
"evidence": { "type": "string", "minLength": 1, "pattern": "\\S" },
"impact": { "type": "string", "minLength": 1, "pattern": "\\S" },
"recoveryAction": { "type": "string", "minLength": 1, "pattern": "\\S" },
"userAction": { "type": "string", "minLength": 1, "pattern": "\\S" },
"reportedAt": { "type": "string", "minLength": 1, "pattern": "\\S" },
"resolvedAt": { "type": ["string", "null"] }
}
},
"knowledgeRef": {
"type": "string",
"pattern": "^K-[A-Z0-9][A-Z0-9-]*@[1-9][0-9]*$"
@@ -906,6 +1002,7 @@
"running",
"blocked",
"failed",
"validation_ready",
"review_ready",
"released",
"skipped"
@@ -944,6 +1041,7 @@
"running",
"blocked",
"failed",
"validation_ready",
"review_ready",
"released"
]
@@ -965,6 +1063,7 @@
"enum": [
"blocked",
"failed",
"validation_ready",
"review_ready",
"released",
"skipped"
@@ -1062,6 +1161,10 @@
"rounds": {
"type": "array",
"items": { "$ref": "#/definitions/round" }
},
"environmentIncidents": {
"type": "array",
"items": { "$ref": "#/definitions/environmentIncident" }
}
}
},