Improve audit pipeline and outreach review

This commit is contained in:
2026-06-08 22:16:32 +02:00
parent ff18fc202e
commit 1695110e0a
34 changed files with 2792 additions and 238 deletions

View File

@@ -180,6 +180,25 @@ const publicAuditOffer = v.object({
ctaLabel: v.optional(v.string()),
ctaHref: v.optional(v.string()),
});
const auditFindingEvidenceType = v.union(
v.literal("crawl_page"),
v.literal("technical_check"),
v.literal("screenshot"),
v.literal("pagespeed"),
v.literal("jina_excerpt"),
v.literal("generation_stage"),
);
const auditFindingEvidenceRef = v.object({
id: v.string(),
type: auditFindingEvidenceType,
label: v.string(),
sourceUrl: v.optional(v.string()),
});
const auditFindingReviewStatus = v.union(
v.literal("pending"),
v.literal("accepted"),
v.literal("rejected"),
);
const eventDetail = v.object({
label: v.string(),
value: v.string(),
@@ -342,6 +361,24 @@ export default defineSchema({
.index("by_auditId_and_viewport", ["auditId", "viewport"])
.index("by_storageId", ["storageId"]),
auditFindings: defineTable({
auditId: v.id("audits"),
runId: v.id("agentRuns"),
skillId: v.string(),
claim: v.string(),
recommendation: v.string(),
customerBenefit: v.string(),
severity: v.union(v.literal(1), v.literal(2), v.literal(3)),
confidence: v.number(),
evidenceRefs: v.array(auditFindingEvidenceRef),
reviewStatus: auditFindingReviewStatus,
createdAt: v.number(),
updatedAt: v.number(),
})
.index("by_auditId", ["auditId"])
.index("by_runId", ["runId"])
.index("by_auditId_and_reviewStatus", ["auditId", "reviewStatus"]),
pageSpeedResults: defineTable({
leadId: v.id("leads"),
auditId: v.optional(v.id("audits")),