Merge pull request '补核18项AI公司缺年候选、主体沿革与收费边界' (#40) from codex/ai-research-consolidated into main
Verify and deploy Tabularium / verify-and-deploy (push) Failing after 4m1s
Verify and deploy Tabularium / verify-and-deploy (push) Failing after 4m1s
Reviewed-on: #40
This commit was merged in pull request #40.
This commit is contained in:
@@ -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, 1154);
|
||||
assert.equal(research.companies.length, 1155);
|
||||
assert.equal(research.categories.length, 11);
|
||||
assert.equal(research.evidence.length, 3350);
|
||||
assert.equal(research.evidence.length, 3426);
|
||||
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 });
|
||||
|
||||
@@ -23,8 +23,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, 1154);
|
||||
assert.equal(initial.evidence.length, 3350);
|
||||
assert.equal(initial.companies.length, 1155);
|
||||
assert.equal(initial.evidence.length, 3426);
|
||||
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");
|
||||
@@ -85,7 +85,7 @@ 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), 1154);
|
||||
assert.equal(summary.reduce((n, c) => n + c.count, 0), 1155);
|
||||
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);
|
||||
@@ -406,7 +406,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, 30);
|
||||
assert.equal(snapshot.candidateBatches!.flatMap((b) => b.records).filter((r) => r.status === "pending-year").length, 43);
|
||||
});
|
||||
|
||||
test("product pivots and founder histories do not become new company years or current revenue", () => {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "2026-10-31-missing-year-1",
|
||||
"version": "2026-10-31-missing-year-4",
|
||||
"scopeConfirmedAt": "2026-10-30",
|
||||
"acceptance": "以确认的公开来源清单为边界,逐条核对并标明缺项。",
|
||||
"provenance": "S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》来源清单;S13—S16单列后续已使用的补充证据渠道,不将使用次数当作全量覆盖。",
|
||||
@@ -16,7 +16,7 @@
|
||||
"initialAccess": "官网目录可访问",
|
||||
"boundary": "已读取八个2025—2026批次镜像候选池1428条,再核YC官方页面;不声称覆盖全部YC历年或未公开公司。",
|
||||
"limitation": "批次不等于成立年;不代表全部公司",
|
||||
"nextCheck": "已统一企业141、行业252、模型标签26、开发标签51、其余标签34项,共504项新增主营复核。当前928条原YC新增记录保留发现来源,其中基础项871条均已做主营人工复核(871条),57条深化个案。C05规则89保留27/移62,C05标签52保留10/移42;C07规则184保留135/移49,C07标签68保留39/移29;模型标签26保留17/移9,开发标签51保留16/移35,其余标签34保留16/移18。主营复核仍含C00/短简介/混合交付缺项,不等完整产品/技术/财务审计。Tasklet及Native新产品与旧业务链保留,发现审计不改;Freya、Epicenter、Stellon许可及公开材料/厂商基准范围分开。客户收入、估价、资产、节省、管线/意向、预订需求、旧公司收入与示例排除自身ARR;Locke服务run-rate不等ARR,Mixy历史MRR/捐赠、Isengard无期间收入分开。各批证据、观测、核查与主体/收费/人工成本缺项均保留;全部确认来源清单的候选范围、AI不明/成立冲突及公司财务技术缺项继续核,不能声称全来源研究完成。 原AI不明192项已按原顺序补核八批192项:103新增、7复用(含此前已核EveryApp)、82保留AI主营待核,共110关联;没有再把EveryApp额外加1,全池192项均有可回查后续记录。原发现审计/928初始新增不回写;已读全池不等82项均确认AI,更不等268年范围外/缺失、6日期冲突和其他来源全部完成。Rhem交付后租赁/旧买断、Subvocal预约、EveryApp托管计划/Cloudflare费/OpenSEO套餐、ObsessionDB资源估算与BYOC年度运维分开,不新增可比MRR;市政债未来模块、原型/健康/倍速演示及Clean模型实现缺项保留。 原268项年份范围外/缺失已按原快照拆为214项列2022—2024(4/30/180)和54项无年,不称214项本轮登记核验。另6项日期冲突全池已补现官网和2025旧发布,均成立年待核,未新增公司;运营者/条款日期不替注册证据,Layers现AI核心待核,客户销售/利润计算器和前事业收入排除。 原54缺年已复读YC字段均仍空;外部补核首12项:5旧业务范围外、6缺年、1转AI待核,42项外部核查待续。政府登记与公司年份自述分开,美国/集团沿革、Inactive及新旧交付限制保留,无公司/收入新增。"
|
||||
"nextCheck": "已统一企业141、行业252、模型标签26、开发标签51、其余标签34项,共504项新增主营复核。当前928条原YC新增记录保留发现来源,其中基础项871条均已做主营人工复核(871条),57条深化个案。C05规则89保留27/移62,C05标签52保留10/移42;C07规则184保留135/移49,C07标签68保留39/移29;模型标签26保留17/移9,开发标签51保留16/移35,其余标签34保留16/移18。主营复核仍含C00/短简介/混合交付缺项,不等完整产品/技术/财务审计。Tasklet及Native新产品与旧业务链保留,发现审计不改;Freya、Epicenter、Stellon许可及公开材料/厂商基准范围分开。客户收入、估价、资产、节省、管线/意向、预订需求、旧公司收入与示例排除自身ARR;Locke服务run-rate不等ARR,Mixy历史MRR/捐赠、Isengard无期间收入分开。各批证据、观测、核查与主体/收费/人工成本缺项均保留;全部确认来源清单的候选范围、AI不明/成立冲突及公司财务技术缺项继续核,不能声称全来源研究完成。 原AI不明192项已按原顺序补核八批192项:103新增、7复用(含此前已核EveryApp)、82保留AI主营待核,共110关联;没有再把EveryApp额外加1,全池192项均有可回查后续记录。原发现审计/928初始新增不回写;已读全池不等82项均确认AI,更不等268年范围外/缺失、6日期冲突和其他来源全部完成。Rhem交付后租赁/旧买断、Subvocal预约、EveryApp托管计划/Cloudflare费/OpenSEO套餐、ObsessionDB资源估算与BYOC年度运维分开,不新增可比MRR;市政债未来模块、原型/健康/倍速演示及Clean模型实现缺项保留。 原268项年份范围外/缺失已按原快照拆为214项列2022—2024(4/30/180)和54项无年,不称214项本轮登记核验。另6项日期冲突全池已补现官网和2025旧发布,均成立年待核,未新增公司;运营者/条款日期不替注册证据,Layers现AI核心待核,客户销售/利润计算器和前事业收入排除。 原54缺年已复读YC字段均仍空;外部补核首12项:5旧业务范围外、6缺年、1转AI待核,42项外部核查待续。政府登记与公司年份自述分开,美国/集团沿革、Inactive及新旧交付限制保留,无公司/收入新增。 缺年第二批6项:Milliray/DroneTector与Jinba/Carnot旧业务排除,4继续缺年;累计18项外部补核(7范围外/10缺年/1 AI待核),36项待续。Maywood公司自报2025及登记缺项、Q2Q Inactive和客户金额/按成功电话计费边界保留。 缺年第三批6项:Zymbly经英国登记2025入表、5项继续缺年;累计24项外部补核(1关联/7范围外/15缺年/1 AI待核),余30项。前Newton Education/全球主体、Cardinal旧产品、GovGuard拨款/人审、Elyra代收与医疗研发边界保留。 缺年第四批6项:CONUS旧业务排除、4缺年、Apollo AI待核;累计30项(1关联/8范围外/19缺年/2 AI待核),余24项。Gravy当前只读与远程依赖、空条款、CONUS免费核心与收费智能许可和LOI/示例金额边界保留。"
|
||||
},
|
||||
{
|
||||
"id": "S02",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"sourceVersion": "2026-10-31-missing-year-1",
|
||||
"sourceVersion": "2026-10-31-missing-year-4",
|
||||
"asOf": "2026-10-31",
|
||||
"metric": "platform-mrr-usd",
|
||||
"sampleUnit": "product-or-business",
|
||||
|
||||
@@ -173,12 +173,18 @@ def missing_year_followups():
|
||||
assert len(set(urls)) == len(urls) and set(urls) <= original
|
||||
evidence = {e['id']: e for e in DATA['evidence']}
|
||||
for row in rows:
|
||||
assert row['status'] in {'outside-cohort', 'pending-year', 'pending-ai'}
|
||||
assert not row.get('companyId') and row.get('evidenceIds')
|
||||
assert all(eid in evidence and evidence[eid]['companyId'] is None for eid in row['evidenceIds'])
|
||||
assert row['status'] in {'outside-cohort', 'pending-year', 'pending-ai', 'linked'}
|
||||
assert row.get('evidenceIds')
|
||||
if row['status'] == 'linked':
|
||||
matches = [r for r in DATA.get('directoryRechecks', []) if r['companyId'] == row.get('companyId')]
|
||||
assert len(matches) == 1 and matches[0]['originalStatus'] == 'year-outside-or-missing'
|
||||
assert all(eid in evidence and evidence[eid]['companyId'] == row['companyId'] for eid in row['evidenceIds'])
|
||||
else:
|
||||
assert not row.get('companyId')
|
||||
assert all(eid in evidence and evidence[eid]['companyId'] is None for eid in row['evidenceIds'])
|
||||
counts = Counter(row['status'] for row in rows)
|
||||
return ['', '## 原缺少成立年名单的后续覆盖', '',
|
||||
f"原快照缺年{len(original)}项,外部补核已有{len(rows)}项:{counts['outside-cohort']}项既有主体/业务范围外、{counts['pending-year']}项成立年待核、{counts['pending-ai']}项AI主营待核,{len(original)-len(rows)}项尚无本系列外部补核记录。", '',
|
||||
f"原快照缺年{len(original)}项,外部补核已有{len(rows)}项:{counts['linked']}项关联公司、{counts['outside-cohort']}项既有主体/业务范围外、{counts['pending-year']}项成立年待核、{counts['pending-ai']}项AI主营待核,{len(original)-len(rows)}项尚无本系列外部补核记录。", '',
|
||||
'当前YC缺年字段复读与外部主体核查分别统计。登记创建日、公司自述年、产品发布、条款更新和批次不相互替代;已查英国或法国主体不代表完整集团沿革已核。原54项发现计数不回写,也不以Inactive补零收入。', '']
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user