fix(group-tasks): deliverable ledger — local files upload on-chain as metafiles, reject/rework status backfill - #17
Open
newfish wants to merge 1 commit into
Open
fix(group-tasks): deliverable ledger — local files upload on-chain as metafiles, reject/rework status backfill#17newfish wants to merge 1 commit into
newfish wants to merge 1 commit into
Conversation
… metafiles, reject/rework backfills status Three consecutive group tasks (#14→#16) reproduced the same ledger defect: deliverable rows recorded with uri=NULL/kind=text (local file paths and prose instead of on-chain evidence), status stuck at pending with no acceptance backfill, and the chair forced to reject on unverifiable output. Fix (verified against real #15/#16 ledger rows): - daemon ingestion: a text [DELIVERABLE] segment naming a LOCAL file is now uploaded on-chain as a metafile (author bot's wallet, same metaFileUploadService seam as the OpenTeam guest path) and the row is rewritten in place with metafile:// uri, kind=metafile, verification and chain confirmation. Upload failure degrades to the plain text record. - parser: parseDeliverableSegments (index-aligned raw segments) + extractLocalFilePaths (absolute/~/ paths, scheme/URL/relative excluded). - acceptance backfill: rework (chair reject) marks pending deliverables rejected; a correction re-opens a rejected row to pending (same object, new version, same ledger row); acceptGroupTask already moved pending→ accepted. - store: updateDeliverablesStatusByTask bulk backfill. Tests: +9 (local-file upload, upload-failure degradation, missing-file safety, rejected-correction reopen, reject backfill, show/dump ordering consistency, parser segment alignment + path extraction). 304 related tests green, 0 regressions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
缺陷(三次复现,群任务 #14→#15→#16)
真实台账实证(本机 IDBots 用户库
group_task_deliverables#14/#15/#16):kind=text, uri=NULL, status=pending, confirmation=unconfirmed;fix: custom providers selectable as LLM brain + deletable in model settings #14/feat(memory+dream): scoped memory gateway routes and dream capability_learnings channel #15 已 done 的行回填为 accepted 但同样全是uri=NULL`…/电影化视觉规范-v1.md`、505/531(chair)`…/film-data-s3.js`、532(loop)`…/架构复核-v1.md`、561(我)`…/xiyouji-movie/index.html`,parser 按设计归类为 text(uri=null)status只回填 accepted(acceptGroupTask),拒签(rejected)无任何写入路径修复
uploadDeliverableFile(作者 bot 钱包,与 OpenTeam guest 同一 metaFileUploadService seam)上传为 metafile,行就地升级为metafile://pinid+ kind=metafile + 链上 verification/confirmation;上传失败降级保持 text 并留可见说明,绝不丢行、绝不产生假 uriparseDeliverableSegments(与 candidates 索引对齐的原文段)与extractLocalFilePaths(绝对/~/路径;排除 scheme://、URL 路径段、相对路径、协议路由)reworkGroupTask(Chair 拒签)把 pending 交付物批量标rejected;daemon 更正路径把 rejected 行就地重开为 pending(同对象新版本,同 ledger 行,不重复造行);acceptGroupTask 原有 pending→accepted 保持不变updateDeliverablesStatusByTask批量回填(幂等,getRowsModified 计数)验证
extractLocalFilePaths对 feat(memory+dream): scoped memory gateway routes and dream capability_learnings channel #15 真实消息(485/505/532)提取正确,纯文本(390)保持 text(b) 核查结论
action:show(RPC show / UI transcript)与 worker 会话 dump(queryRecentMessages)数据源同源(均读group_chat_messages、按 id 升序);本机 893 条群消息 id 顺序与 chain_timestamp 完全一致(0 乱序)。新增排序一致性测试固化该不变量。若修复后 (b) 仍复现,按委派可证伪条件判定为与 (a) 不同源,需拆单——当前证据显示 (b) 所述现象在 main 上不复现。