Resolve Utopai founding history and preserve Fundraisly entity gaps
This commit is contained in:
@@ -183,7 +183,7 @@ async function main() {
|
||||
const research = await researchResponse.json();
|
||||
assert.equal(research.companies.length, 1022);
|
||||
assert.equal(research.categories.length, 11);
|
||||
assert.equal(research.evidence.length, 1245);
|
||||
assert.equal(research.evidence.length, 1248);
|
||||
assert.equal(research.observations.length, 189);
|
||||
assert.equal((await request("/api/research/ai-companies", { method: "POST", headers })).status, 405);
|
||||
const researchPage = await request("/docs/other-research/ai-company-research/overview", { headers });
|
||||
|
||||
@@ -24,7 +24,7 @@ test("research revisions share the authentication database and preserve replay l
|
||||
assert.equal(consumeCode(config, "invalid"), "limited");
|
||||
const initial = readResearchSnapshot();
|
||||
assert.equal(initial.companies.length, 1022);
|
||||
assert.equal(initial.evidence.length, 1245);
|
||||
assert.equal(initial.evidence.length, 1248);
|
||||
assert.equal(initial.observations.length, 189);
|
||||
assert.deepEqual(initial.candidateBatches, seed.candidateBatches, "candidate gaps persist in the same database metadata");
|
||||
assert.deepEqual(initial.directoryRechecks, seed.directoryRechecks, "follow-up classifications persist without rewriting the discovery audit");
|
||||
@@ -66,7 +66,7 @@ test("reviews link explicit companies without turning global or excluded cases i
|
||||
const snapshot = structuredClone(seed) as ResearchSnapshot;
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "companies").length, 58);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 8);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 26);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 27);
|
||||
const review = snapshot.reviews.find((r) => r.id === "R4")!;
|
||||
assert.deepEqual(reviewCompanyIds(snapshot, review), ["AI007", "AI013", "AI021", "AI034"]);
|
||||
assert.deepEqual(reviewCompanyIds(snapshot, snapshot.reviews.find((r) => r.id === "CN-R-PSI")!), []);
|
||||
@@ -307,7 +307,7 @@ test("unreconciled directory financials remain source reviews instead of income
|
||||
assert.ok(review.evidenceIds.includes("PH-TANA-DR"));
|
||||
assert.equal(reviewCompanyIds(snapshot, review).length, 0);
|
||||
assert.ok(!snapshot.observations.some((o) => o.evidence === "PH-TANA-DR"));
|
||||
assert.equal(snapshot.candidateBatches!.flatMap((b) => b.records).filter((r) => r.status === "pending-year").length, 8);
|
||||
assert.equal(snapshot.candidateBatches!.flatMap((b) => b.records).filter((r) => r.status === "pending-year").length, 7);
|
||||
});
|
||||
|
||||
test("product pivots and founder histories do not become new company years or current revenue", () => {
|
||||
@@ -342,7 +342,7 @@ test("Chinese discovery entries preserve unread articles and use separate primar
|
||||
assert.equal(batch.records.length, 4);
|
||||
assert.ok(batch.records.every((row) => row.kind === "company" && row.profileStatus === "unavailable"));
|
||||
assert.equal(batch.records.filter((row) => row.status === "linked").length, 2);
|
||||
assert.equal(batch.records.find((row) => row.name === "Utopai")?.status, "pending-year");
|
||||
assert.equal(batch.records.find((row) => row.name === "Utopai")?.status, "outside-cohort");
|
||||
assert.ok(!snapshot.observations.some((o) => ["PS-CODE", "SG-START", "SG-APR", "SSI-HISTORY"].includes(o.evidence)), "task costs, investment, capacity and financing are not revenue");
|
||||
const prism = snapshot.companies.find((c) => c.id === "AI075")!;
|
||||
assert.equal(prism.team, null, "a team range or linked employees must not become exact headcount");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "2026-10-30-goldfish-1",
|
||||
"version": "2026-10-30-utopai-1",
|
||||
"asOf": "2026-10-30",
|
||||
"scope": "全球公开资料研究:保留首批个案,并扩展核查2025—2026八个YC批次候选池;成立年份以官方公司页面字段为依据。",
|
||||
"limitations": [
|
||||
@@ -45673,6 +45673,39 @@
|
||||
"kind": "公司产品文档",
|
||||
"summary": "说明经操作系统辅助功能读取屏幕文字、设备本地存储记忆,运行于macOS与Windows,并提供写作与上下文功能。",
|
||||
"limitation": "属于产品描述,非独立测试或安全审计;本地记忆不等所有模型推理在本地,不以文档可读判定技术领先。"
|
||||
},
|
||||
{
|
||||
"id": "UTOPAI-HISTORY",
|
||||
"companyId": null,
|
||||
"title": "Utopai官方成立与品牌沿革",
|
||||
"url": "https://www.utopaistudios.com/en/about",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方材料",
|
||||
"summary": "官网明确Founded 2022,历史段说明以Cybever起步,2025转为Utopai Studios,延续既有技术并拓展影视制作。",
|
||||
"limitation": "公司自述非注册证明;2025更名、2026产品/模型发布与未来影视片单不等新公司、已确认收入或ARR,团队Members不是统一员工口径。"
|
||||
},
|
||||
{
|
||||
"id": "UTOPAI-FAQ",
|
||||
"companyId": null,
|
||||
"title": "Utopai公司与PAI产品边界",
|
||||
"url": "https://www.utopaistudios.com/en/faq",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司官方材料",
|
||||
"summary": "FAQ区分Utopai Studios公司、PAI制作平台与其中的Utopai X视频模型,并说明自有/合拍影视业务。",
|
||||
"limitation": "产品、模型、区域制作业务不各自新增公司;官方对比不当独立技术评测,影片计划或合作不当已确认公司收入。"
|
||||
},
|
||||
{
|
||||
"id": "PH-FUNDRAISLY-PROFILE",
|
||||
"companyId": null,
|
||||
"title": "Fundraisly公开主页的Accumulator关系",
|
||||
"url": "https://www.linkedin.com/company/fundraisly",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-30",
|
||||
"kind": "公司公开主页自述",
|
||||
"summary": "公开主页链接fundraisly.com,称属于Accumulator,结合投资者匹配、引荐路径与外联服务。页面没有成立年份字段。",
|
||||
"limitation": "业务与关联集团关系不能替代Accumulator Fundraising LLC的注册年份;页面2—10人数范围及关联档案数不当精确团队人数,团队筹资和客户融资不当收入。"
|
||||
}
|
||||
],
|
||||
"reviews": [
|
||||
@@ -46994,6 +47027,19 @@
|
||||
],
|
||||
"handling": "收入、完整团队规模与精确注册日留缺;不将创始人历史业绩、点击数或免费测试推算为当前ARR、客户数或零收入。",
|
||||
"scope": "companies"
|
||||
},
|
||||
{
|
||||
"id": "UTOPAI-R-HISTORY",
|
||||
"type": "更名与成立年边界",
|
||||
"company": "Utopai Studios(既有公司候选)",
|
||||
"summary": "官网自述2022创立Cybever、2025更名并拓展影视制作,非2025—2026新公司。",
|
||||
"evidenceIds": [
|
||||
"JQ-UTOPAI",
|
||||
"UTOPAI-HISTORY",
|
||||
"UTOPAI-FAQ"
|
||||
],
|
||||
"handling": "按既有业务排除;保留中文报道未读全文的访问缺项。品牌、模型、制作平台与区域业务不重复计数,估值、片单及排名不导入收入观测。",
|
||||
"scope": "excluded-candidate"
|
||||
}
|
||||
],
|
||||
"coverage": {
|
||||
@@ -47026,11 +47072,12 @@
|
||||
"kind": "product",
|
||||
"profileStatus": "readable",
|
||||
"status": "pending-year",
|
||||
"note": "运营主体Accumulator Fundraising LLC;成立年待核。固定/经常性或按通话的服务收费需拆分;Gett历史ARR、创始人及客户筹资不作Fundraisly收入。",
|
||||
"note": "运营主体Accumulator Fundraising LLC;成立年待核。固定/经常性或按通话的服务收费需拆分;Gett历史ARR、创始人及客户筹资不作Fundraisly收入。 公司公开主页称属于Accumulator,但无成立年份字段,保持待核。",
|
||||
"evidenceIds": [
|
||||
"PH-FUNDRAISLY-ABOUT",
|
||||
"PH-FUNDRAISLY-ENTITY",
|
||||
"PH-FUNDRAISLY-PLAN"
|
||||
"PH-FUNDRAISLY-PLAN",
|
||||
"PH-FUNDRAISLY-PROFILE"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -47660,11 +47707,13 @@
|
||||
"categoryId": "C08",
|
||||
"kind": "company",
|
||||
"profileStatus": "unavailable",
|
||||
"status": "pending-year",
|
||||
"status": "outside-cohort",
|
||||
"evidenceIds": [
|
||||
"JQ-UTOPAI"
|
||||
"JQ-UTOPAI",
|
||||
"UTOPAI-HISTORY",
|
||||
"UTOPAI-FAQ"
|
||||
],
|
||||
"note": "搜索摘录有公司与成立线索,但直达仅登录外壳,原始成立、主体和业务材料未补齐,不把估值、片单或模型排名作为公司收入或独立技术验证。"
|
||||
"note": "官网自述2022以Cybever成立、2025更名Utopai并转向影视制作;2026品牌/模型报道不作新公司成立年。作为既有业务排除;中文报道仍未读全文,融资估值、模型排名及未来片单不作收入。"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "2026-10-30-16",
|
||||
"version": "2026-10-30-17",
|
||||
"scopeConfirmedAt": "2026-10-30",
|
||||
"acceptance": "以确认的公开来源清单为边界,逐条核对并标明缺项。",
|
||||
"provenance": "S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》来源清单;S13—S16单列后续已使用的补充证据渠道,不将使用次数当作全量覆盖。",
|
||||
@@ -204,8 +204,8 @@
|
||||
"pro.jiqizhixin.com"
|
||||
],
|
||||
"initialAccess": "首页可读取",
|
||||
"boundary": "已登记4篇定向检索线索;三篇直达仅登录外壳,一篇读取失败。2项经公开原始资料补证关联公司,1项范围外,1项仍待核;未阅读全文或穷尽两年档案。",
|
||||
"nextCheck": "补公开可读文章、2025档案及Utopai原始成立材料;受限正文留缺,不以搜索摘录代全文。",
|
||||
"boundary": "已登记4篇定向检索线索;三篇直达仅登录外壳,一篇读取失败。2项经公开原始资料关联公司,SSI与Utopai经原始历史材料判为范围外,0项成立年待核;未阅读全文或穷尽两年档案。",
|
||||
"nextCheck": "补公开可读文章及2025—2026档案;受限正文留缺,不以搜索摘录代全文,更名与产品发布不新增公司。",
|
||||
"limitation": "全文访问受限;仅作发现时明确标识,技术和财务另追原始资料",
|
||||
"accessRecheckedAt": "2026-10-30"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"sourceVersion": "2026-10-30-goldfish-1",
|
||||
"sourceVersion": "2026-10-30-utopai-1",
|
||||
"asOf": "2026-10-30",
|
||||
"metric": "platform-mrr-usd",
|
||||
"sampleUnit": "product-or-business",
|
||||
|
||||
Reference in New Issue
Block a user