diff --git a/apps/docs/scripts/auth-cli.ts b/apps/docs/scripts/auth-cli.ts index 19984d2..d1ed1f3 100644 --- a/apps/docs/scripts/auth-cli.ts +++ b/apps/docs/scripts/auth-cli.ts @@ -182,9 +182,9 @@ async function main() { assert.equal(researchResponse.status, 200, "authenticated research API"); assert.ok(researchResponse.headers.get("cache-control")?.includes("no-store")); const research = await researchResponse.json(); - assert.equal(research.companies.length, 1199); + assert.equal(research.companies.length, 1202); assert.equal(research.categories.length, 11); - assert.equal(research.evidence.length, 4673); + assert.equal(research.evidence.length, 4689); 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 }); diff --git a/apps/docs/tests/research.test.ts b/apps/docs/tests/research.test.ts index 381b8e1..97031a3 100644 --- a/apps/docs/tests/research.test.ts +++ b/apps/docs/tests/research.test.ts @@ -123,8 +123,8 @@ test("research revisions share the authentication database and preserve replay l for (let i = 0; i < 20; i++) consumeCode(config, "invalid"); assert.equal(consumeCode(config, "invalid"), "limited"); const initial = readResearchSnapshot(); - assert.equal(initial.companies.length, 1199); - assert.equal(initial.evidence.length, 4673); + assert.equal(initial.companies.length, 1202); + assert.equal(initial.evidence.length, 4689); assert.equal(initial.observations.length, 453); const businessReviews = initial.reviews.filter((review) => review.type === businessModelReviewType); assert.equal(businessReviews.length, 4); @@ -169,9 +169,9 @@ 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, 216); - assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 144); - assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 46); + assert.equal(snapshot.reviews.filter((r) => r.scope === "companies").length, 219); + assert.equal(snapshot.reviews.filter((r) => r.scope === "dataset").length, 145); + assert.equal(snapshot.reviews.filter((r) => r.scope === "excluded-candidate").length, 47); 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")!), []); @@ -190,11 +190,11 @@ test("reviews link explicit companies without turning global or excluded cases i test("disclosure counts exclude client income, biographies, targets and duplicate milestones", () => { const snapshot = seed as ResearchSnapshot; const summary = categorySummary(snapshot); - assert.equal(summary.reduce((n, c) => n + c.count, 0), 1199); + assert.equal(summary.reduce((n, c) => n + c.count, 0), 1202); assert.equal(summary.reduce((n, c) => n + c.self, 0), 58); assert.equal(summary.reduce((n, c) => n + c.estimate, 0), 2); assert.equal(summary.reduce((n, c) => n + c.platform, 0), 19); - assert.equal(summary.reduce((n, c) => n + c.unknown, 0), 1120); + assert.equal(summary.reduce((n, c) => n + c.unknown, 0), 1123); assert.equal(snapshot.companies.find((c) => c.name === "Rork")?.revenueStatus, "unknown"); assert.equal(snapshot.companies.find((c) => c.name === "Result")?.revenueStatus, "unknown"); assert.ok(snapshot.observations.filter((o) => o.selection === "signal").every((o) => o.scope === "公司整体")); @@ -229,7 +229,7 @@ test("service run rates, legacy freight revenue and paid adoption do not become test("technical reviews keep accessible materials separate from tested capabilities", () => { const snapshot = structuredClone(seed) as ResearchSnapshot; - assert.equal(snapshot.companies.filter((c) => c.technicalReview).length, 184); + assert.equal(snapshot.companies.filter((c) => c.technicalReview).length, 187); assert.equal(snapshot.companies.filter((c) => c.technicalReview?.level === "public-artifact").length, 26); assert.equal(snapshot.companies.filter((c) => c.technicalReview?.level === "independent-test").length, 1); assert.equal(snapshot.companies.find((c) => c.id === "AI051")?.revenueStatus, "unknown"); @@ -444,7 +444,7 @@ test("platform samples exclude stale data and keep ARR, estimates and collection const invalid = structuredClone(snapshot); invalid.observations = invalid.observations.filter((o) => o.company === "MR001" && o.metric === "mrr"); const first = invalid.observations[0]; - invalid.observations.push({ ...first, id: "future", observedAt: "2026-11-01", value: 999999 }); + invalid.observations.push({ ...first, id: "future", observedAt: "2026-11-02", value: 999999 }); invalid.observations.push({ ...first, id: "bad-date", observedAt: "2026-02-30", value: 999999 }); invalid.observations.push({ ...first, id: "currency", unit: "EUR", value: 999999 }); invalid.observations.push({ ...first, id: "older", observedAt: "2026-10-28", value: 1 }); @@ -490,6 +490,20 @@ test("product launch candidates preserve unresolved years and many launches per assert.throws(() => validateResearch(snapshot), /research candidate/); }); +test("the public SR007 roster preserves unique entries and Alven's older operator conflict", () => { + const snapshot = seed as ResearchSnapshot; + const batch = snapshot.candidateBatches!.find((item) => item.id === "SR007-public-roster-2026-1")!; + assert.equal(batch.complete, false, "one public default cohort is not all source coverage"); + assert.equal(batch.records.length, 79); + assert.equal(new Set(batch.records.map((row) => row.url)).size, 79); + const alven = batch.records.find((row) => row.name === "Alven")!; + assert.equal(alven.status, "pending-year"); + assert.equal(alven.companyId, undefined); + assert.ok(alven.evidenceIds?.includes("SR007R-ALVEN-REG")); + assert.ok(!snapshot.observations.some((item) => item.evidence.startsWith("SR007R-")), + "roster claims, deployment plans and per-unit prices are not new financial observations"); +}); + test("annual launch archives exclude older companies only with evidence and reuse existing records", () => { const snapshot = structuredClone(seed) as ResearchSnapshot; const batch = snapshot.candidateBatches!.find((b) => b.id === "PH-2025-visible-1")!; @@ -517,7 +531,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, 130); + assert.equal(snapshot.candidateBatches!.flatMap((b) => b.records).filter((r) => r.status === "pending-year").length, 189); }); 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 7dd43d8..5fd7c7a 100644 --- a/content/research/ai-companies.seed.json +++ b/content/research/ai-companies.seed.json @@ -1,6 +1,6 @@ { - "version": "2026-11-01-source-accounting-1", - "asOf": "2026-10-31", + "version": "2026-11-01-sr007-public-roster-1", + "asOf": "2026-11-01", "scope": "全球公开资料研究:保留首批个案,并扩展核查2025—2026八个YC批次候选池;成立年份以官方公司页面字段为依据。", "limitations": [ "非随机样本,YC和英文资料偏多;不代表全球全量公司。", @@ -37738,6 +37738,116 @@ "ADA1-API" ] } + }, + { + "id": "AI108", + "name": "Acaysia", + "url": "https://acaysia.com/", + "channel": "S14", + "cat": "C07", + "year": 2026, + "team": 3, + "location": null, + "business": "用学习模型优化工厂工业过程,结合控制软件、仿真及边缘组件。", + "buyer": "工业企业与工厂运营团队", + "delivery": "官网招募试点;软件、边缘设备与工程交付的实际收费和持续部署未核", + "notes": "目录旧金山与官网Oakland分列;增益为估计,客户产出/成本节省非公司收入;安全口号非独立认证。", + "cohort": "投资方公司档案自报2026成立,非SR007批次推断;独立登记待核", + "teamBasis": "投资方档案员工自报,2026-11-01读取,未注明业务人数截至日", + "price": "询价/试点入口,无公开完整收费与现场服务合同", + "stage": "官网招募试点;软件、边缘设备与工程交付的实际收费和持续部署未核", + "sourceType": "投资方档案及公司官网/条款原始材料", + "evidenceIds": [ + "SR007R-ACAYSIA-SR", + "SR007R-ACAYSIA-HOME", + "SR007R-ACAYSIA-TERMS" + ], + "revenueStatus": "unknown", + "businessModel": "工业软件/设备/工程服务可能混合,许可、项目与持续服务收入待拆", + "entityBasis": "网站条款Acaysia, Inc.及Delaware适用法非独立登记或产品采购合同", + "classificationBasis": "按当前主要交付任务分类;与客户行业、营销标签和融资分开", + "technicalReview": { + "level": "description", + "reviewedAt": "2026-11-01", + "summary": "已读公开产品/技术自述,未运行系统或完成独立性能、可靠性与安全评测。", + "evidenceIds": [ + "SR007R-ACAYSIA-SR", + "SR007R-ACAYSIA-HOME" + ] + } + }, + { + "id": "AI109", + "name": "AgentCat(原MCPcat)", + "url": "https://agentcat.com/", + "channel": "S14", + "cat": "C03", + "year": 2025, + "team": 5, + "location": "美国纽约(投资方资料)", + "business": "分析和回放AI Agent会话,为MCP及应用连接器提供观测、意图分析和问题发现。", + "buyer": "AI平台、工具与MCP产品团队", + "delivery": "网页服务/公开套餐,企业含集成支持;SDK和实际效果未独立验证", + "notes": "2026更名为AgentCat但同团队/业务,不新增第二家公司;前公司退出与客户Logo非本公司收入,SOC2及SDK许可未专项核。", + "cohort": "投资方公司档案自报2025成立,非SR007批次推断;独立登记待核", + "teamBasis": "投资方档案员工自报,2026-11-01读取,未注明业务人数截至日", + "price": "Free500会话;Growth原$160月付含2000会话,超额原$40/1000;企业年约,币种和实际订单待核", + "stage": "网页服务/公开套餐,企业含集成支持;SDK和实际效果未独立验证", + "sourceType": "投资方档案及公司官网/条款原始材料", + "evidenceIds": [ + "SR007R-AGENTCAT-SR", + "SR007R-AGENTCAT-HOME", + "SR007R-AGENTCAT-RENAME" + ], + "revenueStatus": "unknown", + "businessModel": "基础订阅+会话用量及分析附加项;模型分析、事件存储、脱敏与支持成本待核", + "entityBasis": "当前同域更名公告确认业务连续;精确法人登记及旧MCPcat签约方仍需核", + "classificationBasis": "按当前主要交付任务分类;与客户行业、营销标签和融资分开", + "technicalReview": { + "level": "description", + "reviewedAt": "2026-11-01", + "summary": "已读公开产品/技术自述,未运行系统或完成独立性能、可靠性与安全评测。", + "evidenceIds": [ + "SR007R-AGENTCAT-SR", + "SR007R-AGENTCAT-HOME" + ] + } + }, + { + "id": "AI110", + "name": "Banbury Road", + "url": "https://banburyroad.ai/", + "channel": "S14", + "cat": "C01", + "year": 2026, + "team": 3, + "location": "美国旧金山(投资方资料)", + "business": "研究训练多模型协作系统,以模型群体执行任务。", + "buyer": "模型使用及研究团队(潜在客户,付费需求未核)", + "delivery": "官网首个模型系统尚待发布,当前候补;没有实际调用或独立测试", + "notes": "旧学术工作及论文不归新公司技术成绩或营收;性能/成本优势为自述,界面对话为示例。", + "cohort": "投资方公司档案自报2026成立,非SR007批次推断;独立登记待核", + "teamBasis": "投资方档案员工自报,2026-11-01读取,未注明业务人数截至日", + "price": "未取得公开价格或付费合同", + "stage": "官网首个模型系统尚待发布,当前候补;没有实际调用或独立测试", + "sourceType": "投资方档案及公司官网/条款原始材料", + "evidenceIds": [ + "SR007R-BANBURY-SR", + "SR007R-BANBURY-HOME" + ], + "revenueStatus": "unknown", + "businessModel": "模型/研究交付候补阶段,许可/API或项目合同尚未确认", + "entityBasis": "官网Banbury Rd, Inc.自述非独立登记;创始人旧学术项目与公司分开", + "classificationBasis": "按当前主要交付任务分类;与客户行业、营销标签和融资分开", + "technicalReview": { + "level": "description", + "reviewedAt": "2026-11-01", + "summary": "已读公开产品/技术自述,未运行系统或完成独立性能、可靠性与安全评测。", + "evidenceIds": [ + "SR007R-BANBURY-SR", + "SR007R-BANBURY-HOME" + ] + } } ], "observations": [ @@ -96259,6 +96369,182 @@ "kind": "经营时点及来源可读范围复核", "summary": "浏览工具不能访问该公开第二页,普通HTTP返回403,无新增可核卡片。", "limitation": "不是证明第二页为空或年度名单结束;原Featured/All各首屏19张文字卡范围不扩大,不擅认年度全量。" + }, + { + "id": "SR007R-ROSTER", + "companyId": null, + "title": "SR007公开HTML目录载荷边界", + "url": "https://speedrun.a16z.com/companies", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "匿名公开HTML内嵌公司数据共79个唯一ID/slug,默认SR007,count79且next/previous空;普通HTML可识别75个UUID档案链接。", + "limitation": "文本提取外壳不代表无名单;本批含公开载荷全部79条,但并非2025—2026所有批次。未执行站点脚本或调用私有接口,不存个人资料/追踪字段,目录财务和性能宣传不自动入观测。" + }, + { + "id": "SR007R-ACAYSIA-SR", + "companyId": "AI108", + "title": "Acaysia投资方档案自报2026", + "url": "https://speedrun.a16z.com/companies/acaysia", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "档案列2026成立、3人、旧金山及同域名,描述工厂AI控制软件。", + "limitation": "投资方/公司资料非登记或独立效果验证;团队为页面自报、无人数业务截至日,客户增益不作营收。" + }, + { + "id": "SR007R-ACAYSIA-HOME", + "companyId": "AI108", + "title": "Acaysia当前模型与试点阶段", + "url": "https://acaysia.com/", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "官网描述按工厂数据学习的模型控制软件,另有边缘硬件/仿真组件,并招募2026试点伙伴;页脚Oakland。", + "limitation": "估计增益、低延迟和安全兼容宣传未独立验证或认证;试点招募非已付费部署,软件/设备/工程服务待拆,所在地与目录旧金山不同。" + }, + { + "id": "SR007R-ACAYSIA-TERMS", + "companyId": "AI108", + "title": "Acaysia网站主体非工业交付合同", + "url": "https://acaysia.com/terms", + "publishedAt": "2026-08-21", + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "网站条款称Acaysia, Inc.及Delaware适用法,仅管理网站访问与商业咨询。", + "limitation": "条款日期非成立/注册证明,网站条款不能代现场交付、安全认证或产品SLA;实际合同与费率缺。" + }, + { + "id": "SR007R-AGENTCAT-SR", + "companyId": "AI109", + "title": "AgentCat投资方档案自报2025", + "url": "https://speedrun.a16z.com/companies/agentcat", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "档案列2025成立、5人、纽约,同官网;AI Agent会话观测与分析工具。", + "limitation": "自报成立非独立登记,创始人前公司退出不归新公司收入。" + }, + { + "id": "SR007R-AGENTCAT-HOME", + "companyId": "AI109", + "title": "AgentCat套餐与AI观测任务", + "url": "https://agentcat.com/", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "官网提供会话回放/意图分析,Free500会话、Growth原$160月付含2000会话,超额原$40/1000,企业年约询价;LLM Goals为附加项。", + "limitation": "原$不补币种,报价非实收;免费转化、实际付费/模型分析成本未知。开源SDK和SOC2为官网说法,本次未核仓库或审计报告。" + }, + { + "id": "SR007R-AGENTCAT-RENAME", + "companyId": "AI109", + "title": "MCPcat至AgentCat同业务更名", + "url": "https://agentcat.com/blog/mcpcat-is-now-agentcat/", + "publishedAt": "2026-07-04", + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "公司说明同团队/产品更名,域名和SDK名称变化,项目数据与历史保持。", + "limitation": "更名不重置2025成立或新增第二家公司;旧包兼容/端点宣传未实际运行验证。" + }, + { + "id": "SR007R-BANBURY-SR", + "companyId": "AI110", + "title": "Banbury Road投资方档案自报2026", + "url": "https://speedrun.a16z.com/companies/banbury-road", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "档案列2026成立、3人、旧金山,训练多模型协作系统,并描述创始人以前学术项目。", + "limitation": "学术履历/2025论文不能当2026新公司独立技术评测或收入,不照单接受成本/能力宣传。" + }, + { + "id": "SR007R-BANBURY-HOME", + "companyId": "AI110", + "title": "Banbury Road模型研究及候补", + "url": "https://banburyroad.ai/", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "官网自述训练多模型协作,首个model civilization尚待发布、开放候补;页脚Banbury Rd, Inc.。", + "limitation": "未取得公开价表、付费合同、可复现模型/独立结果;界面对话仅示例,Inc.自述非注册核验,不提交表单。" + }, + { + "id": "SR007R-ALVEN-SR", + "companyId": null, + "title": "Alven自报2025及ARR/部署边界", + "url": "https://speedrun.a16z.com/companies/alven", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "投资方档案2025成立、4人、旧金山,原$1.2M ARR六个月与正在部署原$10M ARR并列。", + "limitation": "后者不是已实现收入,前者也缺币种/日历截至日及独立账单;主体成立另与原始登记冲突,暂不新增公司或财务观测。" + }, + { + "id": "SR007R-ALVEN-HOME", + "companyId": null, + "title": "Alven房源采用与单元收费", + "url": "https://alven.ai/", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "官网描述物业AI任务、150K管理单元及每单元每月原$10;客户效果与认证标志自述。", + "limitation": "单元不证全部活跃付费,不乘报价推ARR;客户节省/回款不是平台收入,实际合同/范围及认证报告未核。" + }, + { + "id": "SR007R-ALVEN-TERMS", + "companyId": null, + "title": "Alven条款运营者ROOMSS LTD", + "url": "https://alven.ai/terms-and-conditions", + "publishedAt": "2025-10-02", + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "官网条款列ROOMSS LTD及伦敦注册地址,明确LLM邮件分析需用户授权。", + "limitation": "日期为条款维护非成立;当前品牌与英国旧主体、美国业务沿革需分,不据新品牌重置注册年。" + }, + { + "id": "SR007R-ALVEN-REG", + "companyId": null, + "title": "ROOMSS LTD官方2024登记", + "url": "https://find-and-update.company-information.service.gov.uk/company/15542398", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "Companies House公司15542398登记2024-03-05成立、Active,地址与Alven条款对应。", + "limitation": "官方公开登记非独立核所有申报准确性;地址不代表当前办公地,不单用注册日推AI业务开始或未来美国实体。" + }, + { + "id": "SR007R-ALVEN-OFFICERS", + "companyId": null, + "title": "ROOMSS董事与Alven创始人对应", + "url": "https://find-and-update.company-information.service.gov.uk/company/15542398/officers", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "登记董事Andrey Dobrov、Julio Cezar Scerbina与Alven投资方创始姓名对应,均自2024任职。", + "limitation": "仅核姓名/职务与日期,不采个人出生/住址等信息;董事人数不等员工或集团总人数,实际品牌/资产和合同沿革仍缺。" + }, + { + "id": "SR007R-QUERY05", + "companyId": null, + "title": "SR005公开查询仍返回默认批次", + "url": "https://speedrun.a16z.com/companies?cohort=SR005", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "普通公开HTML的defaultCohort及79条结果仍为SR007,未取得SR005列表。", + "limitation": "不得按请求参数认已读取所选批次;未执行脚本或访问非公开接口,其他批次边界继续缺。" + }, + { + "id": "SR007R-QUERY06", + "companyId": null, + "title": "SR006公开查询仍返回默认批次", + "url": "https://speedrun.a16z.com/companies?cohort=SR006", + "publishedAt": null, + "accessedAt": "2026-11-01", + "kind": "投资方公开目录与公司原始资料/登记补核", + "summary": "普通公开HTML的defaultCohort及79条结果仍为SR007,未取得SR006列表。", + "limitation": "不得把重复默认名单当另一批次;其他2025/2026批次目录尚未穷尽。" } ], "reviews": [ @@ -105176,6 +105462,81 @@ "TIME1-PH26-PAGE2-ACCESS" ], "handling": "不能把工具不可读认作名单结束;现有有限批次保留,来源全量覆盖未证。研究统计截至仍2026-10-31,本次仅后续核对历史资料/访问范围,不追加截止日后的经营数字。" + }, + { + "id": "SR007R-R-ROSTER", + "type": "公开载荷与默认批次边界", + "company": "a16z Speedrun SR007", + "scope": "dataset", + "summary": "公开HTML得79条载荷并逐条登记;文本工具外壳不代表没有目录。参数请求SR005/SR006仍返回SR007,不能算额外批次。", + "evidenceIds": [ + "SR007R-ROSTER", + "SR007R-QUERY05", + "SR007R-QUERY06" + ], + "handling": "仅按唯一档案链接复用17家公司,另3新个案;59仍主体/年份待核,不从标签/批次/近名推成立或财务。四个独立档案与其余仅目录的读取深度分开,完整载荷不等全来源核查完成。" + }, + { + "id": "SR007R-R-ACAYSIA", + "type": "工业软件试点与客户效果边界", + "company": "Acaysia", + "companyIds": [ + "AI108" + ], + "scope": "companies", + "summary": "2026档案/公司技术自述支持C07工业AI软件,试点招募不等已商用交付,网站条款不代产品合同。", + "evidenceIds": [ + "SR007R-ACAYSIA-SR", + "SR007R-ACAYSIA-HOME", + "SR007R-ACAYSIA-TERMS" + ], + "handling": "需许可、边缘设备、实施/持续工程收费及模型/现场支持成本;估计增益不作营收,不根据安全口号推认证或独立测试,精确登记与运营地仍缺。" + }, + { + "id": "SR007R-R-AGENTCAT", + "type": "更名连续性及观测用量收费", + "company": "AgentCat / MCPcat", + "companyIds": [ + "AI109" + ], + "scope": "companies", + "summary": "2025成立自报与2026同团队更名分开;会话套餐与分析附加项是收费设计,不等已实现经常性收入。", + "evidenceIds": [ + "SR007R-AGENTCAT-SR", + "SR007R-AGENTCAT-HOME", + "SR007R-AGENTCAT-RENAME" + ], + "handling": "不复制旧品牌公司,核实际付费/事件量、模型分析与存储/支持成本、法人合同及退款/续费;未读取SDK代码和SOC2报告,不提升独立测试或商用许可结论。" + }, + { + "id": "SR007R-R-BANBURY", + "type": "研究路线、旧论文与候补交付", + "company": "Banbury Road", + "companyIds": [ + "AI110" + ], + "scope": "companies", + "summary": "投资方2026及公司多模型训练研究支持C01,首发仍候补,旧学术工作不当新公司模型独立成绩。", + "evidenceIds": [ + "SR007R-BANBURY-SR", + "SR007R-BANBURY-HOME" + ], + "handling": "需可访问模型/数据授权、可复现实验和当前客户任务及合同;不推前沿效果、训练成本/利润或收入,保持description级。" + }, + { + "id": "SR007R-R-ALVEN", + "type": "品牌成立与旧法人成立冲突、部署金额非收入", + "company": "Alven / ROOMSS LTD", + "scope": "excluded-candidate", + "summary": "投资方2025成立与条款同名/同地址/同创始董事的英国2024登记冲突;新业务或海外主体沿革尚未消歧。", + "evidenceIds": [ + "SR007R-ALVEN-SR", + "SR007R-ALVEN-HOME", + "SR007R-ALVEN-TERMS", + "SR007R-ALVEN-REG", + "SR007R-ALVEN-OFFICERS" + ], + "handling": "候选保持pending-year,不建2025公司或收入观测。1.2M ARR自述无日历日/币种、10M正在部署不等已实现;客户单元/节省、认证标志和董事不代付费分母、独立验证或员工。" } ], "coverage": { @@ -118290,6 +118651,1090 @@ "note": "关联已有AI056;估算复述里程碑不重复收入,集团ARR/分部收入及毛利预测不当产品独立财务。" } ] + }, + { + "id": "SR007-public-roster-2026-1", + "sourceId": "S14", + "url": "https://speedrun.a16z.com/companies", + "accessedAt": "2026-11-01", + "scope": "匿名公开HTML默认SR007完整载荷79个唯一ID/slug;count79、next/previous空,75个UUID普通链接。20关联(17复用、3本轮新增)、59成立/主体待核。仅此默认载荷,非所有批次/两年全量;独立档案仅四个补读,其余仅目录。", + "complete": false, + "records": [ + { + "id": "SR007R-C01", + "name": "Abliteration.ai", + "url": "https://speedrun.a16z.com/companies/abliteration", + "categoryId": "C01", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR-E-abliteration" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI067" + }, + { + "id": "SR007R-C02", + "name": "Acaysia", + "url": "https://speedrun.a16z.com/companies/acaysia", + "categoryId": "C07", + "kind": "company", + "profileStatus": "readable", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR007R-ACAYSIA-SR" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI108" + }, + { + "id": "SR007R-C03", + "name": "AgentCat", + "url": "https://speedrun.a16z.com/companies/agentcat", + "categoryId": "C03", + "kind": "company", + "profileStatus": "readable", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR007R-AGENTCAT-SR" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI109" + }, + { + "id": "SR007R-C04", + "name": "Alia", + "url": "https://speedrun.a16z.com/companies/alia", + "categoryId": "C05", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "E097" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI057" + }, + { + "id": "SR007R-C05", + "name": "Alven", + "url": "https://speedrun.a16z.com/companies/alven", + "categoryId": "C07", + "kind": "company", + "profileStatus": "readable", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER", + "SR007R-ALVEN-SR", + "SR007R-ALVEN-HOME", + "SR007R-ALVEN-TERMS", + "SR007R-ALVEN-REG", + "SR007R-ALVEN-OFFICERS" + ], + "note": "目录2025但官网条款ROOMSS LTD对应英国15542398于2024-03-05成立,董事与创始人相符;新旧品牌/美国主体资产关系未消歧,暂成立/主体待核,不新增公司。原$1.2M ARR六个月与正在部署$10M分开,不转为已核同期财务;150K单元不乘原$10推收入。" + }, + { + "id": "SR007R-C06", + "name": "Athena", + "url": "https://speedrun.a16z.com/companies/athena", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR26-ATHENA" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI093" + }, + { + "id": "SR007R-C07", + "name": "Banbury Road", + "url": "https://speedrun.a16z.com/companies/banbury-road", + "categoryId": "C01", + "kind": "company", + "profileStatus": "readable", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR007R-BANBURY-SR" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI110" + }, + { + "id": "SR007R-C08", + "name": "Baro", + "url": "https://speedrun.a16z.com/companies/baro", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C09", + "name": "Blueprint", + "url": "https://speedrun.a16z.com/companies/blueprint", + "categoryId": "C04", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C10", + "name": "Bounty", + "url": "https://speedrun.a16z.com/companies/bounty", + "categoryId": "C05", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "TC26ENT1-BOUNTY-ACCELERATOR" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "TC-BOUNTY" + }, + { + "id": "SR007R-C11", + "name": "Bric", + "url": "https://speedrun.a16z.com/companies/bric", + "categoryId": "C00", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C12", + "name": "Cartsy", + "url": "https://speedrun.a16z.com/companies/cartsy", + "categoryId": "C09", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C13", + "name": "ChatOverflow", + "url": "https://speedrun.a16z.com/companies/chatoverflow", + "categoryId": "C03", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C14", + "name": "ChronoSpace", + "url": "https://speedrun.a16z.com/companies/chronospace", + "categoryId": "C01", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C15", + "name": "Cluster", + "url": "https://speedrun.a16z.com/companies/cluster", + "categoryId": "C06", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR-E-cluster" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI064" + }, + { + "id": "SR007R-C16", + "name": "Codos", + "url": "https://speedrun.a16z.com/companies/codos", + "categoryId": "C05", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR-E-codos" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI065" + }, + { + "id": "SR007R-C17", + "name": "Coherence Health", + "url": "https://speedrun.a16z.com/companies/coherence-health", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C18", + "name": "Colmez", + "url": "https://speedrun.a16z.com/companies/colmez", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C19", + "name": "Contxt", + "url": "https://speedrun.a16z.com/companies/contxt", + "categoryId": "C05", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C20", + "name": "Coop", + "url": "https://speedrun.a16z.com/companies/coop", + "categoryId": "C03", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C21", + "name": "Corlen", + "url": "https://speedrun.a16z.com/companies/corlen", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C22", + "name": "Cube Computer", + "url": "https://speedrun.a16z.com/companies/cube-computer", + "categoryId": "C02", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C23", + "name": "Cybernetic Physics", + "url": "https://speedrun.a16z.com/companies/cybernetic-physics", + "categoryId": "C10", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR26-CYBERNETIC-PHYSICS" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI089" + }, + { + "id": "SR007R-C24", + "name": "Delightful AI", + "url": "https://speedrun.a16z.com/companies/delightful-ai", + "categoryId": "C01", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C25", + "name": "DRS", + "url": "https://speedrun.a16z.com/companies/drs", + "categoryId": "C08", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR25-DRS" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI100" + }, + { + "id": "SR007R-C26", + "name": "Elu", + "url": "https://speedrun.a16z.com/companies/elu", + "categoryId": "C04", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR26-ELU" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI092" + }, + { + "id": "SR007R-C27", + "name": "Embrasure", + "url": "https://speedrun.a16z.com/companies/embrasure", + "categoryId": "C02", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C28", + "name": "Fictional", + "url": "https://speedrun.a16z.com/companies/fictional", + "categoryId": "C09", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C29", + "name": "Flip", + "url": "https://speedrun.a16z.com/companies/flip", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C30", + "name": "Galileo Space", + "url": "https://speedrun.a16z.com/companies/galileo-space", + "categoryId": "C10", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C31", + "name": "Harbor AI", + "url": "https://speedrun.a16z.com/companies/harbor-ai", + "categoryId": "C02", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C32", + "name": "Hoid", + "url": "https://speedrun.a16z.com/companies/hoid", + "categoryId": "C02", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C33", + "name": "Infragrid", + "url": "https://speedrun.a16z.com/companies/infragrid", + "categoryId": "C05", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR-E-infragrid" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI069" + }, + { + "id": "SR007R-C34", + "name": "Kairo", + "url": "https://speedrun.a16z.com/companies/kairo", + "categoryId": "C04", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C35", + "name": "Keythorn", + "url": "https://speedrun.a16z.com/companies/keythorn", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C36", + "name": "KIRA", + "url": "https://speedrun.a16z.com/companies/kira", + "categoryId": "C10", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C37", + "name": "Lazyweb", + "url": "https://speedrun.a16z.com/companies/lazyweb", + "categoryId": "C06", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR26-LAZYWEB" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI090" + }, + { + "id": "SR007R-C38", + "name": "Leonidas", + "url": "https://speedrun.a16z.com/companies/leonidas", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C39", + "name": "Maestro", + "url": "https://speedrun.a16z.com/companies/maestro", + "categoryId": "C09", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C40", + "name": "Mecone", + "url": "https://speedrun.a16z.com/companies/mecone", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C41", + "name": "Mirai", + "url": "https://speedrun.a16z.com/companies/mirai", + "categoryId": "C08", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C42", + "name": "Motherboard Labs", + "url": "https://speedrun.a16z.com/companies/motherboard-labs", + "categoryId": "C10", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C43", + "name": "Munari", + "url": "https://speedrun.a16z.com/companies/munari", + "categoryId": "C02", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C44", + "name": "Nexor AI", + "url": "https://speedrun.a16z.com/companies/nexor-ai", + "categoryId": "C06", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "E043", + "E103", + "NEXOR-CURRENCY-RECHECK" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI043" + }, + { + "id": "SR007R-C45", + "name": "Nimble", + "url": "https://speedrun.a16z.com/companies/nimble", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C46", + "name": "OneGC", + "url": "https://speedrun.a16z.com/companies/onegc", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR25-ONEGC" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI097" + }, + { + "id": "SR007R-C47", + "name": "Ontem", + "url": "https://speedrun.a16z.com/companies/ontem", + "categoryId": "C06", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR26-ONTEM" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI088" + }, + { + "id": "SR007R-C48", + "name": "OpenWhispr", + "url": "https://speedrun.a16z.com/companies/openwhispr", + "categoryId": "C05", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C49", + "name": "Orbits", + "url": "https://speedrun.a16z.com/companies/orbits", + "categoryId": "C09", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C50", + "name": "Oruk", + "url": "https://speedrun.a16z.com/companies/oruk", + "categoryId": "C01", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C51", + "name": "Othello", + "url": "https://speedrun.a16z.com/companies/othello", + "categoryId": "C06", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C52", + "name": "Parca", + "url": "https://speedrun.a16z.com/companies/parca", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C53", + "name": "PhotonSpear", + "url": "https://speedrun.a16z.com/companies/photonspear", + "categoryId": "C10", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C54", + "name": "Phyvant", + "url": "https://speedrun.a16z.com/companies/phyvant", + "categoryId": "C05", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C55", + "name": "PreMan", + "url": "https://speedrun.a16z.com/companies/preman", + "categoryId": "C04", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR26-PREMAN" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI095" + }, + { + "id": "SR007R-C56", + "name": "Primitive Labs", + "url": "https://speedrun.a16z.com/companies/primitive-labs", + "categoryId": "C03", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C57", + "name": "Proper Motion", + "url": "https://speedrun.a16z.com/companies/proper-motion", + "categoryId": "C03", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR-E-proper-motion" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI063" + }, + { + "id": "SR007R-C58", + "name": "Reelful", + "url": "https://speedrun.a16z.com/companies/reelful", + "categoryId": "C08", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C59", + "name": "Rhema Health", + "url": "https://speedrun.a16z.com/companies/rhema-health", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C60", + "name": "Rollup", + "url": "https://speedrun.a16z.com/companies/rollup", + "categoryId": "C03", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C61", + "name": "Rumbo", + "url": "https://speedrun.a16z.com/companies/rumbo", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C62", + "name": "Saru", + "url": "https://speedrun.a16z.com/companies/saru", + "categoryId": "C06", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C63", + "name": "scaledrive.ai", + "url": "https://speedrun.a16z.com/companies/scaledriveai", + "categoryId": "C10", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C64", + "name": "SenseLab", + "url": "https://speedrun.a16z.com/companies/senselab", + "categoryId": "C03", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C65", + "name": "Sonder", + "url": "https://speedrun.a16z.com/companies/sonder", + "categoryId": "C05", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C66", + "name": "Sotant", + "url": "https://speedrun.a16z.com/companies/sotant", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C67", + "name": "Space", + "url": "https://speedrun.a16z.com/companies/space", + "categoryId": "C02", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C68", + "name": "Spun Labs", + "url": "https://speedrun.a16z.com/companies/spun-labs", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C69", + "name": "Sterling", + "url": "https://speedrun.a16z.com/companies/sterling", + "categoryId": "C03", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C70", + "name": "Superintelligence Foundry", + "url": "https://speedrun.a16z.com/companies/superintelligence-foundry", + "categoryId": "C01", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C71", + "name": "Switchfrog", + "url": "https://speedrun.a16z.com/companies/switchfrog", + "categoryId": "C03", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C72", + "name": "Tenera", + "url": "https://speedrun.a16z.com/companies/tenera", + "categoryId": "C05", + "kind": "company", + "profileStatus": "archive-only", + "status": "linked", + "evidenceIds": [ + "SR007R-ROSTER", + "SR26-TENERA" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。已按唯一档案链接关联公司,原始公司与收入不重复计数。", + "companyId": "AI094" + }, + { + "id": "SR007R-C73", + "name": "Truli", + "url": "https://speedrun.a16z.com/companies/truli", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C74", + "name": "Valent", + "url": "https://speedrun.a16z.com/companies/valent", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C75", + "name": "Vela Energy", + "url": "https://speedrun.a16z.com/companies/vela-energy", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C76", + "name": "Vene Health", + "url": "https://speedrun.a16z.com/companies/vene-health", + "categoryId": "C07", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C77", + "name": "Vound", + "url": "https://speedrun.a16z.com/companies/vound", + "categoryId": "C02", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C78", + "name": "Zoah", + "url": "https://speedrun.a16z.com/companies/zoah", + "categoryId": "C04", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + }, + { + "id": "SR007R-C79", + "name": "Zorbe", + "url": "https://speedrun.a16z.com/companies/zorbe", + "categoryId": "C01", + "kind": "company", + "profileStatus": "archive-only", + "status": "pending-year", + "evidenceIds": [ + "SR007R-ROSTER" + ], + "note": "SR007公开目录发现位置;按任务/行业标签作候选初分类,不把批次当成立年或把宣传营收转为财务观测。本轮仅目录载荷,独立档案、成立/主体及AI主营/交付仍需逐项核。" + } + ] } ], "directoryRechecks": [ diff --git a/content/research/ai-companies.sources.json b/content/research/ai-companies.sources.json index 9600bf4..927ee10 100644 --- a/content/research/ai-companies.sources.json +++ b/content/research/ai-companies.sources.json @@ -1,5 +1,5 @@ { - "version": "2026-11-01-source-accounting-1", + "version": "2026-11-01-sr007-public-roster-1", "scopeConfirmedAt": "2026-10-30", "acceptance": "以确认的公开来源清单为边界,逐条核对并标明缺项。", "provenance": "S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》来源清单;S13—S16单列后续已使用的补充证据渠道,不将使用次数当作全量覆盖。", @@ -3040,9 +3040,22 @@ "speedrun.a16z.com" ], "initialAccess": "见具体证据访问记录", - "boundary": "投资机构公司介绍定向样本,收入数字仍多来自公司。 新增8项2026名录定向核查并登记候选台账(7项SR007、Bota SR006),不等全部批次或两年目录。 另登记8项2025年定向公司(SR005一项、SR006五项、SR007两项);动态目录静态仅外壳、浏览器超时,不认定全量。 另从2026竞赛名单追Bounty的SR007原始档案;GMV及经常客户承诺非自身已实现ARR,非完整目录。", - "nextCheck": "核币种、相对时间及管线/履历;未读取的页面保持缺项。 区分live ARR、signed/contracted ARR、固定法律承诺费用、管线、目标交易量及客户收益;Nexor原$不自动当USD,财务日历截至日和合同底表留缺。 补Hotbox两个ARR时点、OneGC试点包含关系及律所/平台收入拆分、Omi等待名单付费转化、DRS应用与合并口径、Cedar签约履行和Loops可读官网。", - "limitation": "来源可读不等于声明已独立验证。" + "boundary": "原有投资方公司定向个案和2025/2026补查保留。2026-11-01普通公开HTML内嵌载荷明确默认SR007的79条,逐一登记20关联(17复用、3新增)/59主体年份待核;75普通UUID链接与79载荷分列。此前文本仅外壳不等无名单,本次不执行站点脚本或读取私有接口。SR005/SR006公开参数仍返回默认SR007,其他批次/两年目录未穷尽。投资方和公司宣传收入非独立验证,Bounty部署/承诺及Alven当前部署金额不作已实现ARR。", + "nextCheck": "先补SR007剩余59条独立档案、官网及成立/主体与AI主营;同时建立其他批次的公开边界,不能按请求参数认读取成功。Alven的ROOMSS2024/品牌2025与海外主体沿革、各公司币种/日历财务日/实际合同和人工、设备、模型成本待核;原Nexor/Hotbox/OneGC/Omi/DRS/Cedar/Loops缺项继续保留。", + "limitation": "来源可读不等于声明已独立验证。", + "rosterAudit": { + "url": "https://speedrun.a16z.com/companies", + "accessedAt": "2026-11-01", + "method": "匿名普通HTML的__NEXT_DATA__中pageProps.companies;只解析JSON不执行JS", + "defaultCohort": "SR007", + "reportedCount": 79, + "recordCount": 79, + "next": null, + "previous": null, + "htmlUuidProfileLinks": 75, + "htmlSha256": "32a8e1d9e6c9a2581077aed058767c46f03cdffdab9b0086ee9bd0c86094e152", + "candidateBatchId": "SR007-public-roster-2026-1" + } }, { "id": "S15", diff --git a/content/research/ai-income-analysis.json b/content/research/ai-income-analysis.json index 79bc6d8..2edfd41 100644 --- a/content/research/ai-income-analysis.json +++ b/content/research/ai-income-analysis.json @@ -1,6 +1,6 @@ { - "sourceVersion": "2026-11-01-source-accounting-1", - "asOf": "2026-10-31", + "sourceVersion": "2026-11-01-sr007-public-roster-1", + "asOf": "2026-11-01", "metric": "platform-mrr-usd", "sampleUnit": "product-or-business", "note": "独立Python复算参考值,仅验证样本计算;不是行业估计或财务审计。", diff --git a/scripts/audit-ai-research.py b/scripts/audit-ai-research.py index e9d0c87..8d146bd 100644 --- a/scripts/audit-ai-research.py +++ b/scripts/audit-ai-research.py @@ -42,6 +42,13 @@ def source_register(): assert source['boundary'] and source['nextCheck'] if source['id'] == 'S01': assert source.get('coverageSummary') == yc_coverage_summary(), 'YC source summary is stale' + if source['id'] == 'S14' and source.get('rosterAudit'): + roster = source['rosterAudit'] + batch = next(batch for batch in DATA['candidateBatches'] if batch['id'] == roster['candidateBatchId']) + assert batch['sourceId'] == 'S14' and not batch['complete'] + assert roster['defaultCohort'] == 'SR007' and roster['next'] is None + assert len(batch['records']) == roster['recordCount'] == roster['reportedCount'] + assert len({row['url'] for row in batch['records']}) == roster['recordCount'] if source['url']: assert urlsplit(source['url']).scheme in {'http', 'https'} and urlsplit(source['url']).netloc for host in source['hosts']: