Skip to content

[P1] Bounty 预托管与官方 PoP 奖励闭环 #72

Closed

Description

@LIghtJUNction

2026-09-28 核验:Bounty 基础及自动交易闭环已有切片;官方验收未完成

主线 13c562ea05d273e618b1ea06b9e452da79d4439f、完整 CI 36384948145 证据见 #83。plugins/bounty.py 已有预算预托管、当前身份钥 PoP/nonce/TTL、原子 claim/奖励、top_up/close;#102 的 admin/market_check.py::check_market 已跑隔离 20→10→5 自动交易、邮件验证/最小通知及仲裁退款。旧文档不能继续写“无自动发货”。

已完成但不扩大结论

  • reward/budget 整数账本及 BountyEscrow,不依赖 publisher 在线事后付款;默认 claim 限额和防重放已有实现。
  • 主线 market_lifecycle 包含固定文本/hello.txt、买家5/银行15/escrow0/总量20、订单自动结算不等于 claimed 的回归。
  • 官方命令入口差异仍存在:主线该检查直接调用内部 bank_add/mint/transfer,并非完整 msgd money bank fund 命令验证;不能用此替代第15章 official market_e2e。

待合并与剩余

  • 修复 Complete deterministic clearing, bounty and order contracts (#71–#73) #103(head 9dc0d3d...,CI 36384344964 failure,main 冲突),保留 fix(market): close escrow, private delivery and arbitration lifecycle gaps (#73–75) #102 完整 @3 市场;当前官方 selftest 失败证据见 [P1] 确定性清算、银行边界、报价兑换与 Entitlement #71。
  • 全部公开当前/历史投影、搜索、CLI、pause/out_of_budget/max_claims/top-up/过期规则一致,历史签署快照不被当前预算覆盖。
  • 当前 key/subject、nonce/TTL/verifier_version/eligibility、同主体限制、预算最后一份并发、错误/过期/撤权/重放/幂等与退款关闭;失败不消费奖励,claim/转账/receipt/Event/最小 Inbox 同事务。
  • 官方隔离 fixture:真实 Test Root 命令 mint20/bank fund20→bank 预托管10→buyer 当前 IdentityKey PoP 得10→以5购买文本“msg.lmm.best store selftest”及 hello.txt(delivery-ok\n)→自动站内 Delivery/settled→buyer5、bank15、全部 escrow0、supply20。
  • SMTP 关闭/失败/未验证邮箱不阻止站内交易;未验证地址只收无订单信息的验证消息,验证后最小订单号/下单用户名/重新认证链接。以 FakeNotificationSender/本地 sink 验内容,不对外发送。
  • publisher 离线、重试/崩溃/真实 PostgreSQL 备份恢复与 doctor/default/BootstrapManifest/最终完整 CI;银行无特殊发布/验证权限,PoP 不是真人或反女巫认证。

任务 B

负责 #103 与本 issue,复用现有 ClearingEngine/market 模型,不重建已关闭 #73–75;本机门槛与 A、共享 manifest/CLI/DDL 与 C 对齐,规则见 #83。全部条件通过才关闭;无生产 mint/注资/部署。

Activity

  1. LIghtJUNction commented on Sep 28, 2026

    @LIghtJUNction
    ContributorAuthor

    权威设计已补齐新手闭环的两处契约边界(架构追踪见 #85,首个独立代码切片 #114):

    1. 同 request_id + 同 payload 的正常重试返回原非秘密结果,不重复支付;只有新请求超过领取限额或真正重放/过期/错主体挑战才拒绝,不能把网络重试误当第二次领奖。
    2. 新默认显式验收版本应验证:奖励后 buyer=10/bank=10;支付并自动交付后 buyer=5/bank=10/escrow=5;买家读取并校验后签名 accept,再 buyer=5/bank=15/escrow=0/supply=20。必须用新操作/policy 版本承载,保留现有已发表订单版本及明确自动结算政策的原20→10→5回归;自动结算不伪造 claimed。

    #114 不修改悬赏、清算、checkout schema 或当前自动结算代码,只先消除通知状态双写和邮件校验重复。此处是新增验收目标,不宣称新的签名验收fixture已实现;#103 仍按现有整合门槛推进。

  2. added 3 commits that reference this issue on Sep 28, 2026
  3. LIghtJUNction commented on Sep 29, 2026

    @LIghtJUNction
    ContributorAuthor

    2026-09-29 当前接续(#185 已合并)

    main 5cdaeba2b7b191a27684093cce7b5a153c99c88d / tree 3ad68f2012896310abfa9bcaf800c9ab05f6c886 已实际读回,等于最终PR通过的树。18个PR工作流全部success;8份ZIP摘要/JUnit node-ID独立核验 2531 core + 8 conformance,零失败/错误/跳过。精确来源和产物摘要见 #185证据,更新索引见#83。合并后main push是独立运行,正在核验,不预记成功。

    正式bank fund parser/双批准边界、预托管PoP最后奖励并发/幂等、当前与历史投影、pause/top-up/close退款、PG备份恢复均随最终全量通过;installed official selftest的market_e2e=true,已包含20→10→5与文本/hello.txt闭环。旧#103待合并/缺官方命令是历史状态。新默认显式签名验收与旧版本自动settled分别保留,不能把settled写成claimed/accepted。原总体条款继续核对,不凭测试总数自动关闭;没有生产mint或银行注资。

    各条款源码入口与独立现场材料见 docs/RELEASE_ACCEPTANCE.md。本评论更新证据归属,不降低原验收范围或扩大现场权限。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions