{"title":"MetaPrediction v1.2 protocolContent 发布原文(修订1 · settleRule 内嵌 settle-v2 主件全串)","subtitle":"","coverImg":"","contentType":"text/plain; charset=utf-8","content":"{\n\"schemaVersion\": 1,\n\"versionNote\": \"v1.2 = 可用层返工(第二期 stage 0 六项)。v1.1 的 11 个 kind 字段除以下变更外逐字保留:(a) market.slug -> market.propRef(值改命题 create pinId);(b) pool/settlement/dispute.marketRef 值改 market 记录 create pinId;(c) envelope.ref 语义由裸 slug 改命题 create pinId(proposition 例外见 refPolicy),envelope 新增可选 refSlug;(d) points/pool.idempotencyKey 文本中的 marketSlug 改称 marketRef。schemaVersion 保持 1;版本语义由注册表 1.1.0 -> 1.2.0 承载。\",\n\"capabilityBoundary\": [\n \"本链【本机工具面 / 钱包 RPC 面】不提供非托管脚本级锁定(时间锁 / 多签 / 自定义脚本输出),也【没有】智能合约 VM\",\n \"任何金额字段都不构成「自动执行」「链上兑付」「无需信任」的承诺\",\n \"托管式结算的资金控制权属于托管方私钥;链本身不提供资金安全保障\",\n \"本文档是能力边界的唯一权威,不得改写为更强承诺\"\n],\n\"envelope\": {\"schemaVersion\":1,\"kind\":\"proposition | quote | forecast | resolution | snapshot | score | market | pool | points | settlement | dispute\",\"ref\":\"所指向命题的 create pinId 全串(66 字符:64 位小写 hex + i0)。kind=proposition 例外:写前无法得知自身 pinId,ref 取自身别名 :(见 refPolicy.propositionSelfRef)\",\"refSlug\":\"可选。人类可读别名,命名空间 :;仅供展示,不得作机器引用\",\"author\":\"idq1... 归属 globalMetaId,必须是提交者本人;转述他人结论不构成 author\",\"evidenceGrade\":\"primary | secondary | tertiary\",\"createdAt\":0,\"notes\":\"可选,自由文本\"},\n\"recordShape\": \"顶层 = envelope 字段 + 以 kind 命名的对象\",\n\"path\": \"/protocols/metaprediction\",\n\"discovery\": \"全量发现走 pins_by_path /protocols/metaprediction;按 kind / ref 聚合由消费方本地过滤。写入侧必须把每条记录写到该 path,禁止散落。规模化建议:索引器建 (path,kind) 与 ref 倒排。\",\n\"replay\": {\"orderBy\":[\"blockHeight\",\"txIndex\",\"outputIndex\",\"pinId\"],\"perKind\":{\"proposition\":\"键=slug 命名空间;同 slug 取链上最早 create pinId 为命题身份,后续 edit 以 parentRev 链接取 head;重复 create 取最早、余者 ignored\",\"quote\":\"键=(ref,source,sourceRef);取 capturedAt 最新为当前报价,历史全留\",\"forecast\":\"键=(ref,forecaster);取 statedAt 最新且 late≠true 者为有效判定;late=true 仅留痕、不计分\",\"resolution\":\"键=ref;取 resolvedAt 最新者为终局\",\"snapshot\":\"键=(ref,window);全量保留\",\"score\":\"键=(subjectRef,metric);取 computedAt 最新为当前记分,历史全留\",\"market\":\"键=propRef;取链上最早 create 为 market 身份;status 沿状态机单调推进,当前态=定序最后一条合法转换\",\"pool\":\"键=(marketRef,subject);最早一条定方向,同侧追加求和;异侧(自对冲) ignored\",\"points\":\"键=idempotencyKey;同键只计一次;余额=对全部 delta 求和\",\"settlement\":\"键=marketRef;取定序最后一条为当前结算;同 market 只认一条 settled\",\"dispute\":\"键=(marketRef,openedBy,windowEnd);全量保留,status 取尾值\"},\"correctionUnion\":\"summary 前缀「更正:」的条目取代其 refs 指向的被更正件,被更正件的 deliverables/结算结论退出并集;URI 归一化(去 scheme 后 hex 小写)防重复计数\",\"legacyFallback\":\"ref 为旧裸 slug 的存量记录,读侧按 slug 别名回退解析并标 legacyRef=true\"},\n\"refPolicy\": {\"rule\":\"一切跨记录引用型字段值 = 完整裸 pinId(66 字符,不缩略、不带 scheme、不收 Web2 URL)\",\"propositionSelfRef\":\"kind=proposition 的 create 写前无自身 pinId:ref 取别名 :;读侧把该命题身份解析为其 create 事件的 pinId\",\"targets\":{\"envelope.ref\":\"命题 create pinId(proposition 自身除外)\",\"market.propRef\":\"命题 create pinId(原 market.slug 语义迁移)\",\"pool.marketRef\":\"market 记录 create pinId(原 market.slug)\",\"settlement.marketRef\":\"market 记录 create pinId(原 market.slug)\",\"dispute.marketRef\":\"market 记录 create pinId(原 market.slug)\",\"market.frozenSnapshotRef\":\"封盘快照锚 pinId(不变)\",\"dispute.frozenSnapshotRef\":\"封盘快照锚 pinId,须与 market.frozenSnapshotRef 一致(不变)\",\"resolution.sourceTxid\":\"链上 txid(64 hex,非 pinId)——不变,仍为 txid 语义\",\"score.subjectRef\":\"subject 身份(globalMetaId)或 quote pinId —— 不变\"},\"slugDowngrade\":\"slug 由『身份』降为『别名』:命名空间 :,唯一性只在命名空间内要求;机器一律以 pinId 为引用\"},\n\"proposition\": {\"slug\":\"lowercase_slug_matching_regex\",\"lang\":\"zh | en\",\"question\":\"一句可被客观验证的是非题或多选题原文\",\"outcomes\":[\"Yes\",\"No\"],\"resolutionSource\":\"到期后由谁/哪个来源给出答案,必须具体到可回源\",\"closeAt\":0,\"resolveBy\":0,\"category\":\"可选:politics | sports | crypto | tech | other\",\"restricted\":false},\n\"quote\": {\"source\":\"polymarket | kalshi | uma | bot: | other:\",\"sourceRef\":\"源系统内的唯一标识,逐字全串\",\"sourceVersion\":0,\"probabilities\":[\"0.0375\",\"0.9625\"],\"metrics\":{\"volume\":0,\"liquidity\":0,\"spread\":0},\"capturedAt\":0,\"contentHash\":\"sha256 lowercase hex of 产生以上数字的原始响应字节\"},\n\"forecast\": {\"forecaster\":\"idq1...\",\"probabilities\":[\"0.10\",\"0.90\"],\"method\":\"jev-latest | | human\",\"stateTemplate\":\"冻结算式/模板全文或其稳定引用\",\"stateHash\":\"sha256 lowercase hex of stateTemplate\",\"statedAt\":0,\"late\":false},\n\"resolution\": {\"resolvedOutcome\":\"必须是 proposition.outcomes 中的一项\",\"resolvedAt\":0,\"resolvedBy\":\"uma | polymarket | official: | consensus-reporting\",\"sourceTxid\":\"64 位十六进制全串,evidenceGrade=primary 时必填\",\"oracleRef\":\"可选:预言机请求/争议标识全串\",\"dispute\":{\"status\":\"none | proposed | disputed | settled\",\"windowEnd\":0,\"challenged\":false}},\n\"snapshot\": {\"window\":{\"from\":0,\"to\":0},\"count\":0,\"merkleRoot\":\"64 位十六进制全串\",\"aggregate\":{},\"offchainRef\":\"metafile://pinId 或位置描述\"},\n\"score\": {\"subjectRef\":\"被记分对象:forecaster 的 globalMetaId 或 quote 的 pinId\",\"metric\":\"brier | logloss | calibration-bucket\",\"value\":0,\"sampleSize\":0,\"computedAt\":0,\"recompute\":\"第三方可独立算出同一数字的口径或命令\"},\n\"market\": {\"propRef\":\"命题 create pinId 全串(v1.2 前为 slug)\",\"status\":\"open | closed | proposed | finalized | disputed | settled | void\",\"feeRateBp\":200,\"creator\":\"idq1... 出题人 globalMetaId\",\"creatorSelfBet\":false,\"creatorSelfBetDisclosedAt\":0,\"frozenSnapshotRef\":\"pinId:封盘时刻对 {question, outcomes, resolutionSource, closeAt, resolveBy, feeRateBp, poolRule} 计算 contentHash 生成的快照锚\",\"frozenAt\":0,\"closeSnapshotAt\":0,\"resolveBy\":0,\"disputeWindowHours\":48,\"graceHours\":72,\"arbitrationHours\":168,\"voidReason\":\"可选:void 时的机器可读原因码\"},\n\"pool\": {\"marketRef\":\"market 记录 create pinId 全串(v1.2 前为 market.slug)\",\"unit\":[\"points\",\"SPACE\"],\"subject\":\"下注者 globalMetaId\",\"outcome\":\"必须属于 proposition.outcomes\",\"stake\":0,\"idempotencyKey\":\"marketRef + subject + outcome:同一 (market, subject) 只允许一个方向,追加只能加同侧(禁止自对冲)\",\"stakedAt\":0,\"closeSnapshotAt\":0,\"escrowAddress\":\"可选:unit=SPACE 时的托管地址全串\",\"escrowMetabotId\":\"可选:unit=SPACE 时的托管方 metabot id\"},\n\"points\": {\"subject\":\"idq1... 记账主体\",\"delta\":0,\"balanceAfter\":0,\"reason\":\"grant | stake | refund | payout | adjust\",\"idempotencyKey\":\"grant + subject(起始 grant 幂等)/ marketRef + subject + outcome(下注)/ settleRef + subject(结算)\",\"grantPolicy\":\"起始 grant:新主体首次绑定时一次性发放(默认 100 分),幂等键 grant+subject,重复绑定不得重复发放\",\"recordedAt\":0,\"assetNature\":\"记账单位,不是资产:落在 0 值数据输出里,不可作对价、不可扣押、不构成余额事实;任何「积分余额」都是索引器对 pin 序列的解释,不是链上事实;禁止在本 kind 任何文本里暗示提现、兑付或链上保证\"},\n\"settlement\": {\"marketRef\":\"market 记录 create pinId 全串(v1.2 前为 market.slug)\",\"settlement_kind\":[\"ledger_record\",\"escrow_payout\"],\"unit\":[\"points\",\"SPACE\"],\"outcome\":\"必须属于 proposition.outcomes ∪ {VOID}\",\"payoutPool\":0,\"feeAmount\":0,\"dust\":0,\"allocations\":[{\"subject\":\"idq1...\",\"outcome\":\"Yes\",\"payout\":0}],\"refunds\":[{\"subject\":\"idq1...\",\"outcome\":\"Yes\",\"amount\":0}],\"voidReason\":\"可选:outcome=VOID 时的机器可读原因码(near_one_sided | zero_pool | draw | no_win_bet)\",\"escrowPayouts\":[{\"subject\":\"idq1...\",\"txid\":\"64 位十六进制全串\",\"vout\":0,\"valueSats\":0,\"verifiedBy\":\"metabot-check-payment | \",\"capturedAt\":0,\"confirmationStatus\":\"unconfirmed | confirmed | unknown\",\"capturedAtNote\":\"确认状态是时效字段:同一 tx 的状态随取数时刻变化(收款输出被花掉后会由 unconfirmed/confirmed 翻成 unknown),引用必须连取数时刻一起写\"}],\"costModel\":[\"pin_only\",\"per_leg_network_fee\"],\"costSats\":0,\"costCapturedAt\":0,\"settledAt\":0,\"finalizedAt\":0,\"settleRule\":\"分配公式与边界条以 pin ca0be0b655f4740a03f21641bbab5e88207c521ecb70dc49a58e5367fa323093i0(settle-v2 主件)为准;本期仅覆盖 |O|=2,VOID 必带 refunds[](全额退、抽水 0)\",\"costRule\":\"f 比例抽水仅适用于积分域;真金域成本必须按链上【实测实费】记账(wallet RPC 回执的 fee_sats 是估计值,实测与实费相差 55–203 sats/腿,不得作为记账依据)\"},\n\"dispute\": {\"marketRef\":\"market 记录 create pinId 全串(v1.2 前为 market.slug)\",\"status\":\"opened | resolved | expired\",\"openedBy\":\"idq1...\",\"reason\":\"封盘快照与现行文本不一致 | 判定依据不足 | 来源不可回源 | 其它\",\"frozenSnapshotRef\":\"争议裁决必须读的快照锚(与 market.frozenSnapshotRef 一致)\",\"windowEnd\":0,\"ruling\":\"void | uphold | replace_outcome\",\"rulingOutcome\":\"可选:ruling=replace_outcome 时的结果\",\"ruledBy\":\"idq1...\",\"ruledAt\":0,\"enforcement\":\"自愿执行 + 信誉记录;链上无强制执行能力\",\"custodyNote\":\"unit=SPACE 时:托管方私钥即资金控制权\"},\n\"requirements\": {\"envelopeRequired\":[\"schemaVersion\",\"kind\",\"ref\",\"author\",\"evidenceGrade\",\"createdAt\"],\"byKind\":{\"proposition\":{\"required\":[\"slug\",\"lang\",\"question\",\"outcomes\",\"resolutionSource\",\"closeAt\",\"resolveBy\"],\"conditional\":[\"outcomes 去重后 ≥2\"]},\"quote\":{\"required\":[\"source\",\"sourceRef\",\"sourceVersion\",\"probabilities\",\"capturedAt\",\"contentHash\"],\"conditional\":[\"probabilities 与 outcomes 等长\"]},\"forecast\":{\"required\":[\"forecaster\",\"probabilities\",\"method\",\"stateTemplate\",\"stateHash\",\"statedAt\"],\"conditional\":[\"probabilities 与 outcomes 等长\",\"statedAt < closeAt;late=true 保留但不参与记分\"]},\"resolution\":{\"required\":[\"resolvedOutcome\",\"resolvedAt\",\"resolvedBy\"],\"conditional\":[\"evidenceGrade=primary -> sourceTxid 必填\"]},\"snapshot\":{\"required\":[\"window\",\"count\",\"merkleRoot\",\"aggregate\",\"offchainRef\"],\"conditional\":[]},\"score\":{\"required\":[\"subjectRef\",\"metric\",\"value\",\"sampleSize\",\"computedAt\",\"recompute\"],\"conditional\":[]},\"market\":{\"required\":[\"propRef\",\"status\",\"feeRateBp\",\"creator\",\"resolveBy\"],\"conditional\":[\"status∈{proposed,finalized,disputed,settled,void} -> frozenSnapshotRef+frozenAt 必填\",\"frozenSnapshotRef 缺失则不得进入 proposed(视为封盘未完成)\"]},\"pool\":{\"required\":[\"marketRef\",\"unit\",\"subject\",\"outcome\",\"stake\",\"idempotencyKey\",\"stakedAt\"],\"conditional\":[\"outcome ∈ proposition.outcomes\"]},\"points\":{\"required\":[\"subject\",\"delta\",\"balanceAfter\",\"reason\",\"idempotencyKey\",\"recordedAt\"],\"conditional\":[\"见 points.assetNature(禁提现/兑付/链上保证)\"]},\"settlement\":{\"required\":[\"marketRef\",\"settlement_kind\",\"unit\",\"outcome\",\"settledAt\"],\"conditional\":[\"outcome ∈ outcomes∪{VOID};VOID -> refunds[] 非空\"]},\"dispute\":{\"required\":[\"marketRef\",\"status\",\"openedBy\",\"reason\",\"frozenSnapshotRef\",\"windowEnd\"],\"conditional\":[\"enforcement+custodyNote 非空\"]}},\"limits\":{\"pinIdRef\":\"恰 66 字符(^[0-9a-f]{64}i0$),不缩略/无 scheme/非 Web2 URL\",\"slug\":\"^[a-z0-9_]{3,64}$\",\"summary\":\"≤200 Unicode 码点\",\"notes\":\"≤1024 UTF-8 字节\",\"question\":\"≤512 UTF-8 字节\",\"sourceRef\":\"≤256 UTF-8 字节\",\"stateTemplate\":\"≤4096 UTF-8 字节\",\"outcomes\":\"2–16 项,去重后 ≥2\",\"unit\":\"同一 market 禁止混用 points 与 SPACE\"}},\n\"rejectRules\": [\n \"缺 envelope 任一必填\",\n \"kind ∉ 11 枚举\",\n \"ref/任一引用型字段 ≠ 66 字符裸 pinId(kind=proposition 用别名格式除外)\",\n \"author ≠ 提交者\",\n \"proposition.slug 不匹配正则或命名空间内重复\",\n \"closeAt ≤ createdAt,或 resolveBy < closeAt\",\n \"outcomes 去重后 <2\",\n \"forecast/quote.probabilities 长度 ≠ outcomes 长度(容差 ±0.001)\",\n \"pool.outcome ∉ proposition.outcomes\",\n \"pool 同 (marketRef,subject) 异侧下注(自对冲)\",\n \"settlement.outcome ∉ outcomes∪{VOID},或 VOID 且 refunds[] 为空\",\n \"任一字段超 limits\",\n \"同一 market 混用 unit\",\n \"points 文本含提现/兑付/余额事实表述\",\n \"引用字段含缩略/markdown 包装/空白/逗号串联/Web2 URL\"\n],\n\"degradation\": [\n \"未知 kind -> 按 unknown 保留,不丢弃\",\n \"未知顶层字段 -> 忽略(消费方必须容忍未知键)\",\n \"未知枚举值 -> 原值存入 extra,回退最近词表值\",\n \"缺可选字段 -> 用默认\",\n \"存量裸 slug ref -> legacyRef=true 回退解析\",\n \"存量超限记录 -> 标注,不追判不重算\",\n \"引用指向不存在的 pinId -> 标 danglingRef=true,记录保留\"\n],\n\"summary\": \"MetaPrediction 是可揭晓的判定账本:把命题从出生到揭晓按层位分别记账(命题/报价/判定/揭晓/快照/记分/市场/池子/积分/结算/争议),设备器只写事实事件,状态由任意第三方重放算出。与 simplelog 分工:过程进 log,判定事实进本协议。\",\n\"designPrinciples\": [\n \"机器优先——结构化字段承载机器要读的事实,notes 只做人类补充\",\n \"事件最小化——链上只写不可推导的事实,可推导状态一律重放得出\",\n \"必然揭晓——不可证伪、到期拿不到确定答案的题目不得上链\",\n \"引用纪律——跨记录引用值为完整裸 pinId;slug 仅作别名\",\n \"写读分立——写侧可取严拒收,读侧必须容忍降级,不混一张嘴\",\n \"零真金承诺——积分是记账单位非资产;真金域本协议只记账不裁决\"\n],\n\"effectiveScope\": \"本版(v1.2)对发布后新记录生效;存量记录 grandfather(不追判、不重算),消费侧对存量裸 slug 引用与超限件应作标注\",\n\"units\": {\"amount\":\"sats(真金域,仅记账)\",\"points\":\"协议内记账单位,非资产、无提现兑付含义\"},\n\"schemaVersionNote\": \"v1.2 为纯加性 + 一处字段语义重定义(ref)/一处更名(market.slug->propRef);envelope 其余字段不变,故 protocolContent.schemaVersion 保持 1\",\n\"relations\": {\"simplelog\":\"过程记录层(群任务/委派/工序:谁在哪做了什么)。本协议是领域判定台账。过程进 log,命题/判定/揭晓/结算事实进本协议;互不替代;两向可用 refs 互引。双发模式:一个群任务的收尾精华发 simplenote,本协议结算件引用之。\",\"metatask\":\"工作流引擎(任务树/认领/提交/复核)。本协议不含工作流语义。若用 metatask 组织出题/揭晓流程:流程事件归 metatask,命题事实与结算归本协议。\",\"simplenote\":\"知识发布层(规范/公告/复盘)。规范文本、公告、教程发 simplenote;本协议只写领域事件,不承载长文。\",\"simplegroupchat\":\"实时讨论走群聊加密通道;沉淀后的正式判定事实进本协议。\"}\n}\n","encryption":"0","createTime":1789968756530,"tags":["MetaPrediction","v1.2","protocolContent","修订1","GroupTask78"],"attachments":[]}