research: verify Perfingo historical roster identity
This commit is contained in:
@@ -184,7 +184,7 @@ async function main() {
|
||||
const research = await researchResponse.json();
|
||||
assert.equal(research.companies.length, 1188);
|
||||
assert.equal(research.categories.length, 11);
|
||||
assert.equal(research.evidence.length, 4369);
|
||||
assert.equal(research.evidence.length, 4372);
|
||||
assert.equal(research.observations.length, 453);
|
||||
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 });
|
||||
|
||||
@@ -48,7 +48,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, 1188);
|
||||
assert.equal(initial.evidence.length, 4369);
|
||||
assert.equal(initial.evidence.length, 4372);
|
||||
assert.equal(initial.observations.length, 453);
|
||||
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");
|
||||
@@ -89,7 +89,7 @@ test("research validation rejects broken evidence and unsafe source links", () =
|
||||
test("reviews link explicit companies without turning global or excluded cases into companies", () => {
|
||||
const snapshot = structuredClone(seed) as ResearchSnapshot;
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "companies").length, 198);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 102);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 103);
|
||||
assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 44);
|
||||
const review = snapshot.reviews.find((r) => r.id === "R4")!;
|
||||
assert.deepEqual(reviewCompanyIds(snapshot, review), ["AI007", "AI013", "AI021", "AI034"]);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "2026-10-31-tc26-nunatak-1",
|
||||
"version": "2026-10-31-perfingo-lineage-1",
|
||||
"asOf": "2026-10-31",
|
||||
"scope": "全球公开资料研究:保留首批个案,并扩展核查2025—2026八个YC批次候选池;成立年份以官方公司页面字段为依据。",
|
||||
"limitations": [
|
||||
@@ -92425,6 +92425,39 @@
|
||||
"kind": "官方/公司自述:2026健康组原始资料复核",
|
||||
"summary": "同域公司2—10范围及JuliaMensa团队;原始更新称首个Yamana产品发布及首笔销售,当前Founded字段缺。",
|
||||
"limitation": "首销无金额/经常合同,不年化ARR;股权/资助/加速器/首销与软件净费分开,团队范围与政府档案10人不强行取值。"
|
||||
},
|
||||
{
|
||||
"id": "TCAL25-SAVE-TCPROFILE",
|
||||
"companyId": null,
|
||||
"title": "Perfingo原始赛事身份反链",
|
||||
"url": "https://techcrunch.com/startup-battlefield/company/perfingo/",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-31",
|
||||
"kind": "原始赛事档案/公司法律及产品反链核查",
|
||||
"summary": "参赛档案列Perfingo、SakuraSeet/DarrenLee与savefirst.app。",
|
||||
"limitation": "赛事提交资料只确认历史名单身份,不证明当前SaveFirst运营者与Perfingo同一主体、域名转手日期或现产品财务;不采页面营销/金融承诺。"
|
||||
},
|
||||
{
|
||||
"id": "TCAL25-PERFINGO-ENTITY",
|
||||
"companyId": null,
|
||||
"title": "Perfingo当前原始法律主体和原App迁移",
|
||||
"url": "https://www.perfingo.com/privacy/",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-31",
|
||||
"kind": "原始赛事档案/公司法律及产品反链核查",
|
||||
"summary": "当前原始隐私列PerfingoPteLtd、UEN202232781W、DarrenLee;顶部明确旧App移至classic.perfingo.com,当前AI报表/聊天及流水导入分列。",
|
||||
"limitation": "政策非独立注册摘录,未登录/上传金融资料;classic迁移不证明savefirst.app曾由谁持有或何时转手,2022年自报保留,不新增2025公司。"
|
||||
},
|
||||
{
|
||||
"id": "TCAL25-SAVE-TEAK",
|
||||
"companyId": null,
|
||||
"title": "SaveFirst当前工作室原始产品反链",
|
||||
"url": "https://www.teaksoftware.studio/",
|
||||
"publishedAt": null,
|
||||
"accessedAt": "2026-10-31",
|
||||
"kind": "原始赛事档案/公司法律及产品反链核查",
|
||||
"summary": "TeakSoftwareStudio官网将SaveFirst列自家待上线iOS产品,直接链savefirst.app;团队MurshedAlAmin/AmitAditaya/IfazAlam。",
|
||||
"limitation": "工作室两年业务/十万触达非SaveFirst成立/付费数;官网AI标签与SaveFirst政策确定性解析/后备未启用分列,不将工作室接案收入或旧PerfingoS$报价继承新产品。"
|
||||
}
|
||||
],
|
||||
"reviews": [
|
||||
@@ -100306,6 +100339,21 @@
|
||||
"TC26EMPTY-NUNATAK-3"
|
||||
],
|
||||
"handling": "保留204锚/203唯一URL/201具名及3原空锚快照,3空锚均有对应记录但不改成204家公司;Nunatak生物制剂/首销不是软件ARR,不新增主公司/收入。政府推广名录非注册认证;成立/AI主营/实际合同等其他缺项仍保留,2025SaveFirst及全来源档案未完成。"
|
||||
},
|
||||
{
|
||||
"id": "TCAL25-R-PERFINGO-LINEAGE",
|
||||
"type": "历史赛事身份与当前域名运营者分开",
|
||||
"company": "Perfingo / SaveFirst",
|
||||
"scope": "dataset",
|
||||
"summary": "TechCrunch参赛档案反链及创始人对应补齐历史名单身份;当前美国TeakSaveFirst与新加坡Perfingo的法律/产品沿革仍未确认。",
|
||||
"evidenceIds": [
|
||||
"TCAL25-SAVE-TCPROFILE",
|
||||
"TCAL25-PERFINGO-ENTITY",
|
||||
"TCAL25-SAVE-TEAK",
|
||||
"TCCONS25-PERFINGO-YEAR",
|
||||
"TCAL25-SAVE-PRIVACY"
|
||||
],
|
||||
"handling": "将历史名称对应从待核改为证据支持的对应,不把它升级为当前法律主体同一性。2025总入口现193原样URL+8原始反链/历史档案对应=201,无历史名单名称待对应;仍保留SaveFirst当前运营/AI/成立缺项。无新增主公司或收入,不继承旧报价/用户/资产、工作室项目费为新AppARR。"
|
||||
}
|
||||
],
|
||||
"coverage": {
|
||||
@@ -107117,13 +107165,16 @@
|
||||
"kind": "company",
|
||||
"profileStatus": "readable",
|
||||
"status": "outside-cohort",
|
||||
"note": "按公司自述年份或2025前已有业务暂归范围外。同域公司公开主页自报Founded2022;旧内容品牌Daretofinance与当前产品沿革待核。 新加坡个人/夫妻财务计划,含AI流水分类/月报;S$96年付或S$12月付是报价,示例资产和投资收益非平台收入。 原2025总入口savefirst.app现为TeakSoftwareStudioLLC运营的SaveFirst,未证与Perfingo同主体;原始链接对应继续待核,不继承年份/报价/收入。",
|
||||
"note": "按公司自述年份或2025前已有业务暂归范围外。同域公司公开主页自报Founded2022;旧内容品牌Daretofinance与当前产品沿革待核。 新加坡个人/夫妻财务计划,含AI流水分类/月报;S$96年付或S$12月付是报价,示例资产和投资收益非平台收入。 原2025总入口savefirst.app现为TeakSoftwareStudioLLC运营的SaveFirst,未证与Perfingo同主体;原始链接对应继续待核,不继承年份/报价/收入。 后续补证:TechCrunch独立参赛档案的创始人与Perfingo当前法律页DarrenLee对应,已确认原名单savefirst链接所称参赛者为Perfingo;当前域由Teak原始产品页及政策对应,域名/产品转手或迁移沿革仍缺,不能将现SaveFirst当同主体。Perfingo原App另迁classic子域,不重置2022年。",
|
||||
"evidenceIds": [
|
||||
"TCCONS25-INDEX",
|
||||
"TCCONS25-PERFINGO-HOME",
|
||||
"TCCONS25-PERFINGO-YEAR",
|
||||
"TCAL25-SAVE-HOME",
|
||||
"TCAL25-SAVE-PRIVACY"
|
||||
"TCAL25-SAVE-PRIVACY",
|
||||
"TCAL25-SAVE-TCPROFILE",
|
||||
"TCAL25-PERFINGO-ENTITY",
|
||||
"TCAL25-SAVE-TEAK"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"sourceVersion": "2026-10-31-tc26-nunatak-1",
|
||||
"sourceVersion": "2026-10-31-perfingo-lineage-1",
|
||||
"asOf": "2026-10-31",
|
||||
"metric": "platform-mrr-usd",
|
||||
"sampleUnit": "product-or-business",
|
||||
|
||||
Reference in New Issue
Block a user