diff --git a/apps/docs/scripts/auth-cli.ts b/apps/docs/scripts/auth-cli.ts index 10a7ac2..efb77d5 100644 --- a/apps/docs/scripts/auth-cli.ts +++ b/apps/docs/scripts/auth-cli.ts @@ -184,7 +184,7 @@ async function main() { const research = await researchResponse.json(); assert.equal(research.companies.length, 1029); assert.equal(research.categories.length, 11); - assert.equal(research.evidence.length, 1394); + assert.equal(research.evidence.length, 1412); assert.equal(research.observations.length, 192); 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 296e405..c341174 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, 1029); - assert.equal(initial.evidence.length, 1394); + assert.equal(initial.evidence.length, 1412); assert.equal(initial.observations.length, 192); 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, 74); assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 10); - assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 35); + assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 37); 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, 9); + assert.equal(snapshot.candidateBatches!.flatMap((b) => b.records).filter((r) => r.status === "pending-year").length, 10); }); 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 aeacd85..791be98 100644 --- a/content/research/ai-companies.seed.json +++ b/content/research/ai-companies.seed.json @@ -1,5 +1,5 @@ { - "version": "2026-10-30-aimoga-filing-1", + "version": "2026-10-30-tc-p56-1", "asOf": "2026-10-30", "scope": "全球公开资料研究:保留首批个案,并扩展核查2025—2026八个YC批次候选池;成立年份以官方公司页面字段为依据。", "limitations": [ @@ -47727,6 +47727,204 @@ "kind": "展商公开自述", "summary": "展商页列公司主体、2025年1月成立、人形及四足机器人和交通/医疗场景产品。", "limitation": "展商营销资料,出口、国家覆盖、签约及交付数量未独立核验;不当付费客户数、收入或独立技术测试。" + }, + { + "id": "TC56-GUDEA", + "companyId": null, + "title": "Gudea:TechCrunch发现线索", + "url": "https://techcrunch.com/2026/10/14/gudea-leverages-ai-to-help-organizations-prevent-social-media-crises-before-they-erupt/", + "publishedAt": "2026-10-14", + "accessedAt": "2026-10-30", + "kind": "媒体发现线索", + "summary": "从AI栏目第5—6页发现Gudea,另追溯原始资料。", + "limitation": "仅登记发现关系,不复制全文,不将文章日期当成立年或将报道数字直接混入ARR。" + }, + { + "id": "TC56-FLOQER", + "companyId": null, + "title": "Floqer:TechCrunch发现线索", + "url": "https://techcrunch.com/2026/10/14/floqers-ai-agents-help-b2b-revenue-teams-research-customers/", + "publishedAt": "2026-10-14", + "accessedAt": "2026-10-30", + "kind": "媒体发现线索", + "summary": "从AI栏目第5—6页发现Floqer,另追溯原始资料。", + "limitation": "仅登记发现关系,不复制全文,不将文章日期当成立年或将报道数字直接混入ARR。" + }, + { + "id": "TC56-HONEY", + "companyId": null, + "title": "Honeyjar:TechCrunch发现线索", + "url": "https://techcrunch.com/2026/10/12/honeyjar-offers-ai-tools-to-improve-pr-and-comms-at-every-company/", + "publishedAt": "2026-10-12", + "accessedAt": "2026-10-30", + "kind": "媒体发现线索", + "summary": "从AI栏目第5—6页发现Honeyjar,另追溯原始资料。", + "limitation": "仅登记发现关系,不复制全文,不将文章日期当成立年或将报道数字直接混入ARR。" + }, + { + "id": "TC56-BLUEPRINTS", + "companyId": null, + "title": "Blueprints AI:TechCrunch发现线索", + "url": "https://techcrunch.com/2026/10/12/this-ai-startup-says-it-can-generate-permit-ready-blueprints-in-minutes/", + "publishedAt": "2026-10-12", + "accessedAt": "2026-10-30", + "kind": "媒体发现线索", + "summary": "从AI栏目第5—6页发现Blueprints AI,另追溯原始资料。", + "limitation": "仅登记发现关系,不复制全文,不将文章日期当成立年或将报道数字直接混入ARR。" + }, + { + "id": "GUDEA-YEAR", + "companyId": null, + "title": "GUDEA官网沿革", + "url": "https://www.gudea.ai/insights/who-is-gudea", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方材料", + "summary": "公司介绍列2023创办,2025迁往Minneapolis;迁址和竞赛年份与成立分开。", + "limitation": "精确注册未独立查询;客户、增长百分比、融资与专利不转成范围内新公司收入。" + }, + { + "id": "FLOQER-YEAR", + "companyId": null, + "title": "Floqer公司公开主页沿革", + "url": "https://www.linkedin.com/company/floqer/?viewAsMember=true", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司公开主页自述", + "summary": "公司主页列Founded 2024、Halifax,链接floqer.com,描述CRM数据与销售研究。", + "limitation": "公司自述非登记证明;人数范围与平台关联员工列表不等精确团队数,客户管线和融资不当收入。" + }, + { + "id": "HONEY-HOME", + "companyId": null, + "title": "Honeyjar官网产品", + "url": "https://honeyjar.ai/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方材料", + "summary": "官网介绍传播策略、媒体研究和内容执行,强调客户审核确认。", + "limitation": "未独立测试;等待名单、用户证言及品牌标识不等付费客户或收入。" + }, + { + "id": "HONEY-COMPANY", + "companyId": null, + "title": "Honeyjar官网团队与运营名称", + "url": "https://honeyjar.ai/company", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方材料", + "summary": "公司页列Michelle Masek和Nadia Jamshidi,页脚为Honeyjar AI, Inc.。", + "limitation": "公开创始人和顾问列表不是全体员工数;未取得精确注册或公司沿革年份。" + }, + { + "id": "HONEY-PROFILE", + "companyId": null, + "title": "Honeyjar主页成立字段与转载冲突", + "url": "https://www.linkedin.com/company/honeyjar-ai", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司公开主页及转载内容", + "summary": "主页Founded字段列2025,但同页公司转发AI Market Watch的第三方介绍列2024。", + "limitation": "主字段和转发第三方年份不同;不把同一页不同作者当独立确认,精确主体/沿革待核,暂不新增公司。" + }, + { + "id": "HONEY-PACKAGE", + "companyId": null, + "title": "Honeyjar创始人服务包标价", + "url": "https://honeyjar.ai/forfounders", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方定价资料", + "summary": "页面标$5000,包含人工策略、媒体执行、采访准备及一年软件订阅。", + "limitation": "原文$币种本页未确认;是组合售价,不是公司收入,不按全额乘12或自动视作软件ARR。" + }, + { + "id": "HONEY-PACKAGE-TERMS", + "companyId": null, + "title": "Honeyjar组合服务与订阅条款", + "url": "https://honeyjar.ai/forfounders-terms", + "publishedAt": "2026-10-15", + "accessedAt": "2026-10-30", + "kind": "公司官方合同条款", + "summary": "For Founders为一次性服务包,附12个月单席位订阅且不自动续订;条款提供120天内退款安排,退款时附带订阅结束。", + "limitation": "仅核相关费用、交付、订阅及退款段落;未取得实际订单、分摊、履约收入或留存数据,不由标价/等待名单反推ARR。" + }, + { + "id": "BLUEPRINTS-PROFILE-ACCESS", + "companyId": null, + "title": "Blueprints AI主页:检索字段与直达限制", + "url": "https://www.linkedin.com/company/blueprints-ai", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司公开主页检索及访问核查", + "summary": "检索返回Founded 2025与blueprints-ai.com;直接读取返回429,本轮未核完整主页正文。", + "limitation": "保留检索与直达差异,不能声称完成官方主页或注册核查;与创始人更早建筑设计业务的主体连续性仍待核。" + }, + { + "id": "BLUEPRINTS-HOME-ACCESS", + "companyId": null, + "title": "Blueprints AI官网读取缺项", + "url": "https://www.blueprints-ai.com/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官网读取核查", + "summary": "本轮www入口返回UnexpectedStatusCode,裸域入口亦不可读,未取得可核官网正文。", + "limitation": "不可读不等无业务;未取得原始成立、合同及收入,不把报道价格或创始人旧建筑业务转作新公司业绩。" + }, + { + "id": "BILLOW-HOME", + "companyId": null, + "title": "Billow当前产品与运营名称", + "url": "https://thebillow.ai/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "公司官方材料", + "summary": "官网列Billow Labs, Inc.,展示与既有财务系统集成的月结和人工审批工作流。", + "limitation": "页面客户账目与演示金额不是Billow收入;未给明确成立年份,既有2025发现与S2026批次时序仍未解决。" + }, + { + "id": "BILLOW-TERMS", + "companyId": null, + "title": "Billow软件服务与合同费用", + "url": "https://thebillow.ai/terms", + "publishedAt": "2026-10-27", + "accessedAt": "2026-10-30", + "kind": "公司官方合同条款", + "summary": "条款列Billow Labs, Inc.,提供财务软件、代理、Excel插件和Teams服务;收费按订单或协议确定。", + "limitation": "仅核主体、服务和费用段落。官方软件表述与YC会计服务定位需按实际合同拆分,不由订阅条款推已实现MRR。" + }, + { + "id": "DH-PRESS", + "companyId": null, + "title": "DreamHQ公司发布:项目价值与收入边界", + "url": "https://www.dreamhq.com/press/announcement", + "publishedAt": "2026-10-29", + "accessedAt": "2026-10-30", + "kind": "公司官方发布稿检索记录", + "summary": "公司发布稿检索返回建筑设计交付及累计支持项目开发价值$2000万。", + "limitation": "检索能读到发布稿相关内容,但直接打开不可读;项目开发价值不是Dream收费,融资、面积及创始人旧业务也不作收入。未补足原始成立年。" + }, + { + "id": "TC56-ARCHIVE-5", + "companyId": null, + "title": "TechCrunch AI第5页发现入口", + "url": "https://techcrunch.com/category/artificial-intelligence/page/5/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "媒体栏目发现入口", + "summary": "已读取栏目卡片入口,定向登记本批候选。", + "limitation": "动态分页;只登记本批4项,不代表全部卡片、全部参赛者或两年档案已核。" + }, + { + "id": "TC56-ARCHIVE-6", + "companyId": null, + "title": "TechCrunch AI第6页发现入口", + "url": "https://techcrunch.com/category/artificial-intelligence/page/6/", + "publishedAt": null, + "accessedAt": "2026-10-30", + "kind": "媒体栏目发现入口", + "summary": "已读取栏目卡片入口,定向登记本批候选。", + "limitation": "动态分页;只登记本批4项,不代表全部卡片、全部参赛者或两年档案已核。" } ], "reviews": [ @@ -49503,6 +49701,45 @@ "AIMOGA-HOME" ], "handling": "收入披露方为投资人上市公司;不当标的自述或独立审计。母公司更早项目史单列,不继承其营业收入、员工规模与技术成绩;不将期间收入年化或把出货乘售价。" + }, + { + "id": "TC56-R-CANDIDATES", + "type": "AI栏目新增候选成立与收入边界核查", + "company": "Gudea、Floqer、Honeyjar、Blueprints AI", + "scope": "excluded-candidate", + "summary": "前两项按2023/2024原始沿革排除;Honeyjar年份冲突,Blueprints官方直达受限,仍保留待核。", + "evidenceIds": [ + "TC56-GUDEA", + "GUDEA-YEAR", + "TC56-FLOQER", + "FLOQER-YEAR", + "TC56-HONEY", + "HONEY-HOME", + "HONEY-COMPANY", + "HONEY-PROFILE", + "HONEY-PACKAGE", + "HONEY-PACKAGE-TERMS", + "TC56-BLUEPRINTS", + "BLUEPRINTS-PROFILE-ACCESS", + "BLUEPRINTS-HOME-ACCESS" + ], + "handling": "不把栏目、参赛、发布或搬迁年当成立年。Honeyjar人工服务与软件附赠期需拆分、不能由一次性包价推ARR;不可读项不当全文已核,未新增收入观测。" + }, + { + "id": "TC-R-PENDING-CONTRACTS", + "type": "待定候选当前交付与历史业绩隔离", + "company": "Billow AI Labs及DreamHQ", + "scope": "excluded-candidate", + "summary": "Billow当前条款的软件服务与早期会计公司表述分别保留;Dream项目开发价值不等公司收入。", + "evidenceIds": [ + "BILLOW-HOME", + "BILLOW-TERMS", + "TC-BF25-BILLOW", + "DH-PRESS", + "DH-HOME", + "DH-COMPANY" + ], + "handling": "两项继续成立待核。客户交易示例、客户企业价值、融资、创始人旧业务和建设项目总价均不新增公司收入观测;Dream发布稿检索/直达差异留缺。" } ], "coverage": { @@ -50202,9 +50439,10 @@ "TC-DREAM", "DH-HOME", "DH-COMPANY", - "YC-E-31258" + "YC-E-31258", + "DH-PRESS" ], - "note": "建筑设计及工程交付初分C07;媒体给成立线索,但官方本次未明确年份,保持待核。DreamHQ创始人与域名不同于公司表YC31258的摄像头业务,禁止按Dream名称去重或转移数据。" + "note": "建筑设计及工程交付初分C07;媒体给成立线索,但官方本次未明确年份,保持待核。DreamHQ创始人与域名不同于公司表YC31258的摄像头业务,禁止按Dream名称去重或转移数据。 发布稿仅取得检索内容,直达不可读;项目开发价值不等公司收入。" }, { "id": "TC26-02", @@ -50265,9 +50503,11 @@ "status": "pending-year", "evidenceIds": [ "TC-BF25", - "TC-BF25-BILLOW" + "TC-BF25-BILLOW", + "BILLOW-HOME", + "BILLOW-TERMS" ], - "note": "YC仅列S2026批次且无可读Founded字段;与2025发现线索的实体/时序待核。旧创业业绩、客户企业价值和交易量不作新公司收入。" + "note": "YC仅列S2026批次且无可读Founded字段;与2025发现线索的实体/时序待核。旧创业业绩、客户企业价值和交易量不作新公司收入。 官网与条款列Billow Labs, Inc.及软件/代理交付,未给成立年;服务和软件合同需分开核。" }, { "id": "TC25-BF-02", @@ -50911,6 +51151,77 @@ "companyId": "AI085" } ] + }, + { + "id": "TC-2026-ai-pages-5-6-targeted-1", + "sourceId": "S02", + "url": "https://techcrunch.com/category/artificial-intelligence/page/5/", + "accessedAt": "2026-10-30", + "scope": "AI第5—6页定向登记4家公司:2项原始资料显示早于2025,2项年份/原始可读资料待核。不是全部卡片、分页、200参赛者或两年档案覆盖;动态页面位置不构成固定全量名录。", + "complete": false, + "records": [ + { + "id": "TC26-P56-01", + "name": "Gudea", + "url": "https://techcrunch.com/2026/10/14/gudea-leverages-ai-to-help-organizations-prevent-social-media-crises-before-they-erupt/", + "categoryId": "C06", + "kind": "company", + "profileStatus": "readable", + "status": "outside-cohort", + "evidenceIds": [ + "TC56-GUDEA", + "GUDEA-YEAR" + ], + "note": "官网列2023创立、2025迁址,按范围外既有公司登记;迁址、竞赛和融资不等新成立。" + }, + { + "id": "TC26-P56-02", + "name": "Floqer", + "url": "https://techcrunch.com/2026/10/14/floqers-ai-agents-help-b2b-revenue-teams-research-customers/", + "categoryId": "C06", + "kind": "company", + "profileStatus": "readable", + "status": "outside-cohort", + "evidenceIds": [ + "TC56-FLOQER", + "FLOQER-YEAR" + ], + "note": "公司主页列Founded 2024,按范围外公司登记;CRM、客户管线、融资及产品转型不作为2025—2026新成立依据。" + }, + { + "id": "TC26-P56-03", + "name": "Honeyjar", + "url": "https://techcrunch.com/2026/10/12/honeyjar-offers-ai-tools-to-improve-pr-and-comms-at-every-company/", + "categoryId": "C06", + "kind": "company", + "profileStatus": "readable", + "status": "pending-year", + "evidenceIds": [ + "TC56-HONEY", + "HONEY-HOME", + "HONEY-COMPANY", + "HONEY-PROFILE", + "HONEY-PACKAGE", + "HONEY-PACKAGE-TERMS" + ], + "note": "主字段2025与同页转发第三方2024冲突,主体沿革待核。一次性人工服务包附不自动续订的12个月席位,不以全额标价当ARR;未新增收入观测。" + }, + { + "id": "TC26-P56-04", + "name": "Blueprints AI", + "url": "https://techcrunch.com/2026/10/12/this-ai-startup-says-it-can-generate-permit-ready-blueprints-in-minutes/", + "categoryId": "C07", + "kind": "company", + "profileStatus": "readable", + "status": "pending-year", + "evidenceIds": [ + "TC56-BLUEPRINTS", + "BLUEPRINTS-PROFILE-ACCESS", + "BLUEPRINTS-HOME-ACCESS" + ], + "note": "检索公司主页有2025字段,但直达429、官网不可读,原始成立和创始人更早建筑业务主体边界未核;保留候选,不把媒体价格或旧业务转为新公司收入。" + } + ] } ], "directoryRechecks": [ diff --git a/content/research/ai-companies.sources.json b/content/research/ai-companies.sources.json index 3c8cf53..62e39aa 100644 --- a/content/research/ai-companies.sources.json +++ b/content/research/ai-companies.sources.json @@ -1,5 +1,5 @@ { - "version": "2026-10-30-28", + "version": "2026-10-30-29", "scopeConfirmedAt": "2026-10-30", "acceptance": "以确认的公开来源清单为边界,逐条核对并标明缺项。", "provenance": "S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》来源清单;S13—S16单列后续已使用的补充证据渠道,不将使用次数当作全量覆盖。", @@ -28,8 +28,8 @@ "techcrunch.com" ], "initialAccess": "AI栏目可读取", - "boundary": "2026首页定向3项已登记,另从AI第3—4页登记5项:3项关联公司、1项范围外、1项待核;不等全部卡片核验。另已读2025年度档案入口与AI第二页,并完整登记一篇2025企业竞赛名单32项:复用1项、范围外29项、待核2项;每项均尝试原始链接,未知与不可读保留。单篇32项不等全部200参赛者、全部分页或两年全量;RSS/API普通请求受限。", - "nextCheck": "继续核本篇2项的成立、主体及AI主营,优先解决Billow批次与发现年份时序、Sponstar原始年份冲突;既有业务的法律沿革及不可读项仍留缺;沿普通2025档案和AI分页扩展其余来源台账,区分参赛年、批次与公司成立年。 继续核Laplace原始年份及Eka精确注册主体;Recursive的2025/2026年份冲突保留。", + "boundary": "2026首页定向3项已登记,另从AI第3—4页登记5项:3项关联公司、1项范围外、1项待核;不等全部卡片核验。另已读2025年度档案入口与AI第二页,并完整登记一篇2025企业竞赛名单32项:复用1项、范围外29项、待核2项;每项均尝试原始链接,未知与不可读保留。单篇32项不等全部200参赛者、全部分页或两年全量;RSS/API普通请求受限。 另从AI第5—6页定向4项:2项原始资料归范围外,2项原始成立/年份待核;不是全部卡片、参赛者或档案。", + "nextCheck": "继续核本篇2项的成立、主体及AI主营,优先解决Billow批次与发现年份时序、Sponstar原始年份冲突;既有业务的法律沿革及不可读项仍留缺;沿普通2025档案和AI分页扩展其余来源台账,区分参赛年、批次与公司成立年。 继续核Laplace原始年份及Eka精确注册主体;Recursive的2025/2026年份冲突保留。 继续核Honeyjar主字段与转载的年份差异、Blueprints原始可读资料与旧建筑业务主体;不把包价、演示金额或建设项目价值当ARR。", "limitation": "需追溯原始披露,部分文章受访问限制", "accessRecheckedAt": "2026-10-30" }, diff --git a/content/research/ai-income-analysis.json b/content/research/ai-income-analysis.json index 372cbd4..77b88c3 100644 --- a/content/research/ai-income-analysis.json +++ b/content/research/ai-income-analysis.json @@ -1,5 +1,5 @@ { - "sourceVersion": "2026-10-30-aimoga-filing-1", + "sourceVersion": "2026-10-30-tc-p56-1", "asOf": "2026-10-30", "metric": "platform-mrr-usd", "sampleUnit": "product-or-business",