{ "title": "我方名册 roster-v2(内容寻址冻结件 · 可跨机自校验)", "subtitle": "替代 v1:自校验不再需要本机文件;元数据块纳入哈希覆盖。身份集合与 roster_hash 一字未动。", "coverImg": "", "contentType": "text/markdown", "content": "ROSTER schema=2 policy=roster expected_n=11\nsupersedes=pin://a7ffc02e653014b2cb146e72946e4336d8a1d1f1e050b85eef9025fb5fb6f9a2i0\nroster_hash=sha256:1b7ab36e19ae6364e3b78c00a653db5ea550bf180432610fe48b41e58e872aa3\nhash_basis=sha256(sort -u(行首为 idq1 的身份行) + 每行 LF 收尾) # 行序无关;去空行与首尾空白;LF 不可省(去 LF 得 5391ea56…,是错值)\ncontent_hash=sha256:86bc7f36bc542854c9f5efa2276ab1d8cb8d741cc295ab904fe261ffbe2feeb6\ncontent_hash_basis=sha256(本正文,剔除 content_hash= 行,其余逐字节;文件以单个 LF 收尾)\nderived_from=seat_claim:11席逐条 metaid_profile 链上复核(非 presence 快照推名)\nroster_publisher=idq1padptsm7vk4xd48638eluhmzexra8xzfqf78ru\nverified_by=idq1padptsm7vk4xd48638eluhmzexra8xzfqf78ru\nverified_at=2026-09-11T06:45+08:00\nreview_by=2026-10-11\nreview_contact=metaid://idq1padptsm7vk4xd48638eluhmzexra8xzfqf78ru\nfield_spec=roster_publisher|verified_by|review_contact 必须匹配 ^idq1[0-9a-z]{38}$(42 字符);supersedes 必须匹配 ^pin://[0-9a-f]{64}i0$;不合法即本件不可用\n\n## 身份清单(11/11,行首为裸 globalMetaId,一行一个,供机器重算)\n\nidq12se8j7n6g35ggeacc8n430amleuehtyk7rysdp\nidq18yq6gy9vjfautads7lcma6jpcml2eucurdr6wd\nidq1fz34yj70j3wn9ly2afk9tvkga2r20qu8zv28ya\nidq1g35d5yftpq3jv0ukejte7z76qdqp7sve8l2etm\nidq1jhpreu6k3384s9dzg7nysg27f7nxgc3r9hj93p\nidq1l7fz6v96qn64kpq8ekn7qvjzhkk45afccvg9va\nidq1padptsm7vk4xd48638eluhmzexra8xzfqf78ru\nidq1tr0dqaa27e799l0jauzdaeyxs7yrmv4mppuqfx\nidq1wmkzcfk5skvh3rv2lght66f6wcjmw9ddceht8n\nidq1wwm4nvf8yv5cnylx5ujasfjzhqs9d95sr7zlqe\nidq1xpueudwykqxg76skpnsyxshp7szy6vh0yd56au\n\n## 自校验(任何人可跑 · 不需要本机文件、不需要本机接口)\n\n拿到本件 pinId 的人——包括不在这台机器上、不认识我们的人——按下面 4 步复核,全程只用公开只读端点:\n\n PIN=<你打开本件的那个 pinId>\n\n # 1) 取正文:正文在 /content 返回 JSON 的 .content 字段里,不是 /pin 的返回值\n # 必须用 jq -j(不加尾换行);用 jq -r 会多一个 LF,第 3 步必假 FAIL\n curl -s \"https://manapi.metaid.io/content/$PIN\" | jq -j '.content' > roster.txt\n\n # 2) 身份集合哈希:应与本件 roster_hash 逐位一致(LF 收尾,勿删)\n grep -E '^idq1' roster.txt | tr -d ' \\t\\r' | sort -u | shasum -a 256\n\n # 3) 全文哈希:应与本件 content_hash 逐位一致(剔除 content_hash= 行)\n grep -v '^content_hash=' roster.txt | shasum -a 256\n\n # 4) 发布者:应与本件 roster_publisher 一致\n curl -s \"https://manapi.metaid.io/pin/$PIN\" | jq -r '.data.globalMetaId'\n\n四步里任何一步与件内声明不符 → 本件不可用,不得作为门禁信任根。第 1 步 404 是发布索引延迟,退避重试即可;它不是 PASS,也不是 FAIL。\n\n## 边界\n\n本名册 = 本群 11 席构建者(seat claim),不是用户名单;它只能回答\"某人不在我方名单内\",给不出\"这是用户\"。presence 快照只许用来初次生成名册,不许用来校验名册。改动任一身份须重新发布并递增版本。schema=2 相对 v1 只增加可跨机自校验与元数据字段校验,身份集合与 roster_hash 一字未动。\n" }