深化20条目录资料并保留发现来源审计
This commit is contained in:
@@ -14,6 +14,7 @@ export type ResearchCompany = {
|
||||
extraUrl?: string; pricingEvidence?: string;
|
||||
businessModel?: string; entityBasis?: string;
|
||||
profileOnly?: boolean; classificationBasis?: string; directoryTags?: string[];
|
||||
directoryOrigin?: "yc-2025-2026";
|
||||
technicalReview?: {
|
||||
level: "description" | "public-artifact" | "independent-test";
|
||||
reviewedAt: string; summary: string; evidenceIds: string[]; testScope?: string;
|
||||
@@ -81,6 +82,8 @@ export function validateResearch(snapshot: ResearchSnapshot) {
|
||||
throw new Error(`Invalid technical review: ${c.id}`);
|
||||
if (c.profileOnly && (c.revenueStatus !== "unknown" || !c.classificationBasis))
|
||||
throw new Error(`Invalid profile-only research record: ${c.id}`);
|
||||
if (c.directoryOrigin && (c.directoryOrigin !== "yc-2025-2026" || !/^YC\d+$/.test(c.id)))
|
||||
throw new Error(`Invalid research directory origin: ${c.id}`);
|
||||
if (!categories.has(c.cat) || !evidenceUrl(c.url) ||
|
||||
c.evidenceIds.some((id) => !evidence.has(id)) ||
|
||||
(c.pricingEvidence && !evidence.has(c.pricingEvidence)))
|
||||
@@ -99,7 +102,7 @@ export function validateResearch(snapshot: ResearchSnapshot) {
|
||||
if (coverage && (coverage.profilesRead + coverage.failedProfiles !== coverage.candidateRecords ||
|
||||
coverage.matchingProfiles !== coverage.existingProfiles + coverage.newProfiles ||
|
||||
coverage.matchingProfiles + coverage.otherOrMissingYear + coverage.unclearAI + coverage.dateConflicts !== coverage.profilesRead ||
|
||||
snapshot.companies.filter((c) => c.profileOnly).length !== coverage.newProfiles || !evidenceUrl(coverage.source)))
|
||||
snapshot.companies.filter((c) => c.profileOnly || c.directoryOrigin === "yc-2025-2026").length !== coverage.newProfiles || !evidenceUrl(coverage.source)))
|
||||
throw new Error("Invalid research coverage accounting");
|
||||
for (const r of snapshot.reviews)
|
||||
if (r.evidenceIds.some((id) => !evidence.has(id)) ||
|
||||
|
||||
Reference in New Issue
Block a user