diff --git a/apps/docs/scripts/auth-cli.ts b/apps/docs/scripts/auth-cli.ts index bc562dc..d7ace86 100644 --- a/apps/docs/scripts/auth-cli.ts +++ b/apps/docs/scripts/auth-cli.ts @@ -183,7 +183,7 @@ async function main() { const research = await researchResponse.json(); assert.equal(research.companies.length, 1021); assert.equal(research.categories.length, 11); - assert.equal(research.evidence.length, 1221); + assert.equal(research.evidence.length, 1233); 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 }); diff --git a/apps/docs/tests/research.test.ts b/apps/docs/tests/research.test.ts index 1f2c177..06a0c2c 100644 --- a/apps/docs/tests/research.test.ts +++ b/apps/docs/tests/research.test.ts @@ -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, 1021); - assert.equal(initial.evidence.length, 1221); + assert.equal(initial.evidence.length, 1233); 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, 57); assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 8); - assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 16); + assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 20); 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")!), []); @@ -279,7 +279,7 @@ test("annual launch archives exclude older companies only with evidence and reus assert.equal(batch.complete, false); assert.equal(batch.records.length, 19); const older = batch.records.filter((r) => r.status === "outside-cohort"); - assert.equal(older.length, 10); + assert.equal(older.length, 12); assert.ok(older.every((r) => !r.companyId && r.evidenceIds?.length)); assert.equal(batch.records.find((r) => r.name === "Trace")?.companyId, "YC30687"); const trace = snapshot.companies.find((c) => c.id === "YC30687")!; @@ -300,7 +300,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, 17); + assert.equal(snapshot.candidateBatches!.flatMap((b) => b.records).filter((r) => r.status === "pending-year").length, 13); }); test("product pivots and founder histories do not become new company years or current revenue", () => { diff --git a/content/research/ai-companies.seed.json b/content/research/ai-companies.seed.json index ce57355..909fb3d 100644 --- a/content/research/ai-companies.seed.json +++ b/content/research/ai-companies.seed.json @@ -1,5 +1,5 @@ { - "version": "2026-10-30-category-1", + "version": "2026-10-30-operators-1", "asOf": "2026-10-30", "scope": "全球公开资料研究:保留首批个案,并扩展核查2025—2026八个YC批次候选池;成立年份以官方公司页面字段为依据。", "limitations": [ @@ -45368,6 +45368,138 @@ "kind": "公司官方材料", "summary": "条款列Velvet Media, Inc.及velvet.video,描述创作者交付视频等内容任务、平台可出售或许可提交内容并支付报酬,支付服务包含Stripe与Wise。", "limitation": "原文更新日期2/11/2026格式歧义,未转为精确发布日期;任务报酬和支付通道不等公司收入或ARR,内容许可与模型合作的合同边界仍待核。" + }, + { + "id": "PH-AHA-PROFILE", + "companyId": null, + "title": "AhaCreator公开公司主页年份", + "url": "https://www.linkedin.com/company/ahacreator", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司自述公开主页", + "summary": "官网关联公司主页列Founded 2024,并关联ahacreator.com及网红营销业务;另有八位数ARR和增长自述。", + "limitation": "公司自填年份不是注册核验;ARR未核币种、合同及总额/净额口径,不转为2025—2026新公司收入观测。" + }, + { + "id": "PH-AHA-HOME", + "companyId": null, + "title": "AhaCreator官网品牌与主体线索", + "url": "https://www.ahacreator.com/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方材料", + "summary": "官网介绍发现、评估及管理创作者合作的AI营销平台;页脚列Ahalab.ai Inc.。", + "limitation": "创作者网络、活动数量、客户效果及预算不等平台收入;公司名称仅据页脚,注册资料未取得。" + }, + { + "id": "PH-AHA-TERMS-ACCESS", + "companyId": null, + "title": "AhaCreator条款正文读取缺项", + "url": "https://www.ahacreator.com/terms-of-service", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官网访问记录", + "summary": "标题可识别为条款页面,但本次正文解析只返回导航和页脚,未取得具体合同内容。", + "limitation": "不记为已核收费、托管预算、保证退款或法律主体全部条款,后续仍需原始合同补证。" + }, + { + "id": "PH-SUPERX-TERMS", + "companyId": null, + "title": "SuperX运营主体及产品范围", + "url": "https://superx.so/terms", + "publishedAt": "2026-09-17", + "accessedAt": "2026-10-30", + "kind": "公司官方材料", + "summary": "2026-09-17更新条款列服务由TMAKER经营,注册号895032514;产品包括X内容、排程、分析、接口及部分AI功能。", + "limitation": "2026产品发布不证明新法律主体;公司收入与单个产品收入分开,不转移其他产品或创始人业绩。" + }, + { + "id": "PH-SUPERX-REGISTRY", + "companyId": null, + "title": "TMAKER同号第三方登记资料", + "url": "https://www.pappers.fr/entreprise/tmaker-895032514", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "第三方企业登记汇编", + "summary": "Pappers资料的SIREN 895032514与SuperX条款一致,创建及登记字段均在2021年。", + "limitation": "第三方公开登记汇编,不是本次取得的政府原始摘录;创建日和登记日字段不同,只据一致年份判断旧主体,未核完整沿革或产品收入。" + }, + { + "id": "PH-SUPERX-GOV-ACCESS", + "companyId": null, + "title": "TMAKER政府目录访问缺项", + "url": "https://annuaire-entreprises.data.gouv.fr/entreprise/tmaker-895032514", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公开来源访问记录", + "summary": "政府企业目录直达返回403,本次未取得原始登记正文。", + "limitation": "保留独立核验缺项;不绕过访问保护,也不将Pappers材料标为政府原始资料。" + }, + { + "id": "PH-BREW-PROFILE", + "companyId": null, + "title": "Brew公开公司主页年份", + "url": "https://www.linkedin.com/company/brewdotnew", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司自述公开主页", + "summary": "公司公开主页列Founded 2024、关联brew.new及创始人Philip Sørensen与Thomas Park。", + "limitation": "公司自填年份非注册核验;关联员工档案不等团队总人数,客户案例效果不作公司收入。" + }, + { + "id": "PH-BREW-LAUNCH", + "companyId": null, + "title": "Brew官方2025年产品介绍", + "url": "https://brew.marketing/blog/introducing-brew", + "publishedAt": "2025-10-07", + "accessedAt": "2026-10-30", + "kind": "公司官方材料", + "summary": "2025-10-07产品文章介绍AI邮件平台,页面关联brew.new,列当时免费和付费方案。", + "limitation": "产品发布不当成立年;历史按联系人数套餐不平移当前按credits和发送量定价,也不由报价反推ARR。" + }, + { + "id": "PH-BREW-TERMS", + "companyId": null, + "title": "Brew现行官方条款主体", + "url": "https://docs.brew.new/legal/terms-of-service", + "publishedAt": "2025-10-19", + "accessedAt": "2026-10-30", + "kind": "公司官方材料", + "summary": "条款列Brew Emails, Inc.和brew.new,页面标更新2025-10-19。", + "limitation": "条款更新时间不当公司成立日;与其他同名阅读器、咨询或营销业务不合并,未取得实际合同或收入。" + }, + { + "id": "PH-MUSA-APPLE", + "companyId": null, + "title": "Musa官方应用身份与运营者", + "url": "https://apps.apple.com/us/app/musa-period-pregnancy/id6504586102", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "官方应用商店资料", + "summary": "美区App Store列Musa周期及自我照护应用,开发者Musa Health, Inc.,并标免费及内购;应用ID 6504586102。", + "limitation": "上架、内购和评分不等真实付费或收入;健康效果为开发者宣称,未独立评估,不以相邻同名应用资料补成立年。" + }, + { + "id": "PH-MUSA-LOOKUP", + "companyId": null, + "title": "Musa Apple公开元数据的历史日期", + "url": "https://itunes.apple.com/lookup?id=6504586102&country=us", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "官方应用商店元数据", + "summary": "Apple公开元数据trackId 6504586102、sellerName Musa Health Inc、sellerUrl musa.com;releaseDate为2024-07-02T07:00:00Z。", + "limitation": "releaseDate为该地区应用元数据中的发布时点,不是公司注册年;当前版本日期另列,不能把2025 PH发布当应用首次出现。" + }, + { + "id": "PH-MUSA-HOME-ACCESS", + "companyId": null, + "title": "Musa当前官网读取范围", + "url": "https://www.musa.com/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官网访问记录", + "summary": "PH关联musa.app跳转musa.com,与Apple卖方网址相符;本次官网只返回需要JavaScript的外壳。", + "limitation": "未记为读到网站业务或条款全文;业务与历史由Apple资料补核,不推测未读页面。" } ], "reviews": [ @@ -46544,6 +46676,58 @@ "companyIds": [ "YC30995" ] + }, + { + "id": "PH26-13-R-OPERATOR", + "type": "运营主体、产品历史与收入归属", + "company": "SuperX(候选排除)", + "summary": "条款运营者TMAKER的注册号与第三方登记资料一致,资料列2021年旧主体;按既有运营者排除,不以2026 PH发布算新公司。政府目录403,原始登记及沿革仍待核,其他产品业绩不归SuperX。", + "evidenceIds": [ + "PH-SUPERX-TERMS", + "PH-SUPERX-REGISTRY", + "PH-SUPERX-GOV-ACCESS" + ], + "handling": "保留原始资料与访问缺项,按来源层级理解年份精度;不新增公司或收入观测,不把报价、内购、客户结果及其他业务业绩当该产品ARR。", + "scope": "excluded-candidate" + }, + { + "id": "PH26-15-R-OPERATOR", + "type": "运营主体、产品历史与收入归属", + "company": "Brew(候选排除)", + "summary": "公开公司主页列2024成立,按自述年份排除;官方2025产品介绍和Brew Emails, Inc.条款关联brew.new。PH直达本次仍超时,检索可见不当全文;不混其他同名Brew,历史报价不当当前报价或ARR。", + "evidenceIds": [ + "PH-BREW-PROFILE", + "PH-BREW-LAUNCH", + "PH-BREW-TERMS" + ], + "handling": "保留原始资料与访问缺项,按来源层级理解年份精度;不新增公司或收入观测,不把报价、内购、客户结果及其他业务业绩当该产品ARR。", + "scope": "excluded-candidate" + }, + { + "id": "PH25-14-R-OPERATOR", + "type": "运营主体、产品历史与收入归属", + "company": "Aha(候选排除)", + "summary": "官网关联公司主页列2024成立,按自述年份排除;页脚Ahalab.ai Inc.,注册未独立核验。八位数ARR、创作者预算和效果宣传不入两年新公司观测;条款正文仍未读。", + "evidenceIds": [ + "PH-AHA-PROFILE", + "PH-AHA-HOME", + "PH-AHA-TERMS-ACCESS" + ], + "handling": "保留原始资料与访问缺项,按来源层级理解年份精度;不新增公司或收入观测,不把报价、内购、客户结果及其他业务业绩当该产品ARR。", + "scope": "excluded-candidate" + }, + { + "id": "PH25-18-R-OPERATOR", + "type": "运营主体、产品历史与收入归属", + "company": "Musa(候选排除)", + "summary": "Apple同一应用ID及卖方网址证明该产品2024已有发布,按既有业务排除,精确法律成立日未核;PH的2025发布不当首次上架。官网仅JavaScript外壳,业务由官方商店补核;内购、评价与健康宣传不当收入或独立效果。", + "evidenceIds": [ + "PH-MUSA-APPLE", + "PH-MUSA-LOOKUP", + "PH-MUSA-HOME-ACCESS" + ], + "handling": "保留原始资料与访问缺项,按来源层级理解年份精度;不新增公司或收入观测,不把报价、内购、客户结果及其他业务业绩当该产品ARR。", + "scope": "excluded-candidate" } ], "coverage": { @@ -46753,8 +46937,13 @@ "categoryId": "C06", "kind": "product", "profileStatus": "readable", - "status": "pending-year", - "note": "候选分类按发布定位初分;公司成立年、主体及收入待核,不能因2026榜单就加入成立年样本。" + "status": "outside-cohort", + "note": "条款运营者TMAKER的注册号与第三方登记资料一致,资料列2021年旧主体;按既有运营者排除,不以2026 PH发布算新公司。政府目录403,原始登记及沿革仍待核,其他产品业绩不归SuperX。", + "evidenceIds": [ + "PH-SUPERX-TERMS", + "PH-SUPERX-REGISTRY", + "PH-SUPERX-GOV-ACCESS" + ] }, { "id": "PH26-14", @@ -46778,8 +46967,13 @@ "categoryId": "C06", "kind": "product", "profileStatus": "unavailable", - "status": "pending-year", - "note": "产品页读取超时,保留榜单发现;主体、成立年和收入待核。" + "status": "outside-cohort", + "note": "公开公司主页列2024成立,按自述年份排除;官方2025产品介绍和Brew Emails, Inc.条款关联brew.new。PH直达本次仍超时,检索可见不当全文;不混其他同名Brew,历史报价不当当前报价或ARR。", + "evidenceIds": [ + "PH-BREW-PROFILE", + "PH-BREW-LAUNCH", + "PH-BREW-TERMS" + ] }, { "id": "PH26-16", @@ -47039,10 +47233,13 @@ "categoryId": "C06", "kind": "product", "profileStatus": "readable", - "status": "pending-year", - "note": "网红营销Agent;当前品牌AhaCreator,主体、成立年待核。", + "status": "outside-cohort", + "note": "官网关联公司主页列2024成立,按自述年份排除;页脚Ahalab.ai Inc.,注册未独立核验。八位数ARR、创作者预算和效果宣传不入两年新公司观测;条款正文仍未读。", "evidenceIds": [ - "PH25-E-14" + "PH25-E-14", + "PH-AHA-PROFILE", + "PH-AHA-HOME", + "PH-AHA-TERMS-ACCESS" ] }, { @@ -47093,10 +47290,13 @@ "categoryId": "C09", "kind": "product", "profileStatus": "readable", - "status": "pending-year", - "note": "个人健康与自我照护产品;公司成立年及AI是否主营待核。", + "status": "outside-cohort", + "note": "Apple同一应用ID及卖方网址证明该产品2024已有发布,按既有业务排除,精确法律成立日未核;PH的2025发布不当首次上架。官网仅JavaScript外壳,业务由官方商店补核;内购、评价与健康宣传不当收入或独立效果。", "evidenceIds": [ - "PH25-E-18" + "PH25-E-18", + "PH-MUSA-APPLE", + "PH-MUSA-LOOKUP", + "PH-MUSA-HOME-ACCESS" ] }, { diff --git a/content/research/ai-companies.sources.json b/content/research/ai-companies.sources.json index 1d40971..95c33b9 100644 --- a/content/research/ai-companies.sources.json +++ b/content/research/ai-companies.sources.json @@ -1,5 +1,5 @@ { - "version": "2026-10-30-12", + "version": "2026-10-30-13", "scopeConfirmedAt": "2026-10-30", "acceptance": "以确认的公开来源清单为边界,逐条核对并标明缺项。", "provenance": "S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》来源清单;S13—S16单列后续已使用的补充证据渠道,不将使用次数当作全量覆盖。", @@ -60,8 +60,8 @@ "producthunt.com" ], "initialAccess": "官网可读取", - "boundary": "两年公开响应各19条,共38条。当前4条关联公司、2条范围外对照、16条范围外/既有业务、14条年份待核、2条推广。补Screen Studio、Tool Finder、Basalt、DataFast历史证据;非两年全量。", - "nextCheck": "继续补两年其余分页/日期、仅图片位置及14条年份待核候选;保留Pazi日期冲突,核清品牌与主体,避免转移历史业绩。", + "boundary": "两年公开响应各19条,共38条。当前4条关联公司、2条范围外对照、20条范围外/既有业务、10条年份待核、2条推广。排除据成立字段、旧运营者或历史产品证据,精度及访问缺项保留;非两年全量。", + "nextCheck": "继续补两年其余分页/日期、仅图片位置及10条年份待核候选;保留Pazi日期冲突,核清品牌与主体,避免转移历史业绩。", "limitation": "上线时间不等于成立时间", "accessRecheckedAt": "2026-10-30" }, diff --git a/content/research/ai-income-analysis.json b/content/research/ai-income-analysis.json index 0878711..a246fcf 100644 --- a/content/research/ai-income-analysis.json +++ b/content/research/ai-income-analysis.json @@ -1,5 +1,5 @@ { - "sourceVersion": "2026-10-30-category-1", + "sourceVersion": "2026-10-30-operators-1", "asOf": "2026-10-30", "metric": "platform-mrr-usd", "sampleUnit": "product-or-business",