@customize-agent/server 4.61.8 → 4.61.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/required-server-files.json +1 -1
  5. package/.next/routes-manifest.json +1 -1
  6. package/.next/server/chunks/3074.js +1 -1
  7. package/.next/server/chunks/3239.js +1 -1
  8. package/.next/server/chunks/5037.js +5 -5
  9. package/.next/server/chunks/5763.js +1 -1
  10. package/.next/server/chunks/8176.js +1 -1
  11. package/.next/server/chunks/9270.js +1 -1
  12. package/.next/server/pages/404.html +1 -1
  13. package/.next/server/pages/500.html +1 -1
  14. package/.next/server/pages/documents.html +1 -1
  15. package/.next/server/pages/generation/[id].html +1 -1
  16. package/.next/server/pages/generation.html +1 -1
  17. package/.next/server/pages/jobs.html +1 -1
  18. package/.next/server/pages/knowledge/file-detail.html +1 -1
  19. package/.next/server/pages/knowledge/files.html +1 -1
  20. package/.next/server/pages/knowledge/manage.html +1 -1
  21. package/.next/server/pages/knowledge/source-preview.html +1 -1
  22. package/.next/server/pages/knowledge.html +1 -1
  23. package/.next/server/pages/models.html +1 -1
  24. package/.next/server/pages/settings.html +1 -1
  25. package/.next/server/pages/skills/[id]/edit.html +1 -1
  26. package/.next/server/pages/skills/[id].html +1 -1
  27. package/.next/server/pages/skills/new.html +1 -1
  28. package/.next/server/pages/skills.html +1 -1
  29. package/.next/server/pages-manifest.json +39 -39
  30. package/package.json +1 -1
  31. /package/.next/static/{f4fd4aa0763be5d54901818807c7e2e2de4673e8db70002ee0e6b6d3a59ffbc2 → 9d50351f615f33182084d86ca40da25af10f763fe92098c9800dbc5d9d678a6a}/_buildManifest.js +0 -0
  32. /package/.next/static/{f4fd4aa0763be5d54901818807c7e2e2de4673e8db70002ee0e6b6d3a59ffbc2 → 9d50351f615f33182084d86ca40da25af10f763fe92098c9800dbc5d9d678a6a}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=3239,exports.ids=[3239],exports.modules={25620:(a,b,c)=>{c.r(b),c.d(b,{constructionCapabilityCatalog:()=>aq,constructionModelIdentity:()=>au,constructionRecordStatus:()=>at,constructionRunDirectory:()=>av,runConstructionDocument:()=>as,writeConstructionRunCallAudit:()=>ar});var d=c(60126),e=c(59339),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c(55037),l=c(65131),m=c(38210),n=c(49303),o=c(76499);let p=a=>Number.isSafeInteger(a)&&Number(a)>=0?Number(a):0;var q=c(8176),r=c(56396),s=c(2313),t=c(88390),u=c(1512),v=c(37038),w=c(3737),x=c(61485),y=c(31232),z=c(25821),A=c(98459),B=c(45408),C=c(69977),D=c(36980),E=c(25164),F=c(6873),G=c(25353),H=c(47353),I=c(42165),J=c(745),K=c(4053),L=c(1932),M=c(73005),N=c(63072),O=c(47523),P=c(16669),Q=c(69970),R=c(36690),S=c(16208),T=c(45532),U=c(1623),V=c(9104),W=c(85585),X=c(26621),Y=c(98943),Z=c(68515),$=c(85738),_=c(81146),aa=c(49724),ab=c(49584),ac=c(45304),ad=c(6906),ae=c(3410),af=c(13380),ag=c(39375),ah=c(19045),ai=c(6158);let aj=new Map;var ak=c(62563),al=c(91088);let am={type:"object",additionalProperties:!1,required:["findings"],properties:{findings:{type:"array",items:{type:"object",additionalProperties:!1,required:["severity","problem","fix"],properties:{severity:{type:"string",enum:["P0","P1","P2"]},chapterId:{type:"string"},sectionId:{type:"string"},quote:{type:"string"},problem:{type:"string"},fix:{type:"string"},replacement:{type:"string"}}}}}};async function an(a){let b=a.chapters.filter(a=>a.content.trim());if(!b.length)return{findings:[],calls:0,chaptersReviewed:0};let c=[],d=0;for(let e of b){a.signal?.throwIfAborted();let b=(0,al.dk)({task:"整稿终审:只找 P0/P1 级严重问题;P2 只记录。不得改写未引用原文,不得新增项目事实或标准。",chapter:{id:e.id,title:e.title,content:e.content},documentIndex:a.sections.map(a=>({sectionId:a.sectionId,chapterId:a.chapterId,title:a.title,contentGroup:a.contentGroup??null,digest:a.digest??null})),rules:["P0:必出图/表缺失、正文与必出输出不一致、跨章直接矛盾、事实/数量/日期冲突导致方案不成立。","P1:严重重复主载、引用错号、正文与图表结论不一致、关键专业接口遗漏。","P2:表达、详略、一般重复;只记录,不要求本轮修。","每条 finding 必须给问题与修法;能逐字替换时给 quote(本章原文逐字片段)与 replacement。quote 必须能在本章正文中逐字找到,不得改写原文后冒充引文。",'不得因"可以更详细"判 P0/P1;不得把编写说明、内部口径、证据来源写进正文建议。',"findings 最多 12 条,按 P0 > P1 > P2 排序;同一问题不要重复。","只输出 JSON。"],output:{findings:[{severity:"P1",sectionId:"section…",quote:"原文逐字片段",problem:"可核的严重问题",fix:"具体修法",replacement:"替换后的逐字文本"}]}});d+=1;let f=await a.caller("你是施工组织设计整稿终审者,不是作者。只找严重问题:跨章矛盾或重复主载、必出图表缺失、事实/数量/日期冲突、引用错号、正文与图表不一致。只输出 JSON。",b,{schema:am,diagnostics:a.diagnostics,signal:a.signal,taskKind:"reasoning",callKind:"consistency-review",temperature:0});for(let a of f?.findings??[]){let b=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b=String(a.severity??"").toUpperCase();if(!["P0","P1","P2"].includes(b))return;let c=String(a.problem??"").trim(),d=String(a.fix??"").trim();if(!c||!d)return;let e=b=>{let c=a[b];return"string"==typeof c&&c.trim()?c.trim():void 0};return{severity:b,...e("chapterId")?{chapterId:e("chapterId")}:{},...e("sectionId")?{sectionId:e("sectionId")}:{},...e("quote")?{quote:e("quote")}:{},...e("replacement")?{replacement:e("replacement")}:{},problem:c,fix:d}}(a);b&&c.push({...b,chapterId:b.chapterId??e.id})}}let e={findings:[...new Map(c.map(a=>[JSON.stringify([a.severity,a.sectionId??"",a.quote??"",a.problem.replace(/\s+/gu,"")]),a])).values()].sort((a,b)=>a.severity.localeCompare(b.severity)),calls:d,chaptersReviewed:b.length};return(0,af.tv)(a.artifactDir,"final-document-review.json",{version:"final-document-review-v1",runId:a.runId,...e},a.runId),e}var ao=c(4387);let ap=["query_project_facts","query_work_packages","search_evidence","discover_files","read_source"];function aq(a){let b={projectRoot:i().resolve(a.projectRoot),scopeRootNames:[...a.scopeRootNames],skills:[...a.skills],toolNames:[...ad.n]};return[{id:"construction-method-production",label:"施工方法与生产组织",kind:"professional",system:(0,t.gh)({permissions:["read-current","work-package","source-allocation","production","shared-definition","writing"],responsibilityKey:"method-production",...a.structurePlanning?{structurePlanning:!0}:{}}),purposeSystems:Object.fromEntries(["source-check","method-decision","production-calculation","writing"].map(b=>[b,(0,t.gh)({permissions:(0,l.pu)(b,["read-current","work-package","source-allocation","production","shared-definition","writing"]),responsibilityKey:"method-production",purpose:b,...a.structurePlanning?{structurePlanning:!0}:{}})])),permissions:["read-current","work-package","source-allocation","production","shared-definition","writing"],evidence:b,caller:Y.callDocumentLlmWithTools}]}function ar(a){try{let b=i().join(a.artifactDir,"runs",a.runId,"artifacts"),c=g().existsSync(b)?b:a.artifactDir,d=(g().existsSync(c)?g().readdirSync(c).filter(a=>/^llm-call-\d+\.json$/u.test(a)).sort():[]).flatMap(a=>{try{let b=JSON.parse(g().readFileSync(i().join(c,a),"utf8"));return b.call?[{file:a,usageStatus:b.usageStatus,unknownAttemptUsage:b.unknownAttemptUsage??0,...b.call}]:[]}catch{return[]}}),e=new Map;for(let a of d){let b=a.transportActivities?.find(a=>a.requestInput?.sha256)?.requestInput?.sha256;b&&e.set(b,[...e.get(b)??[],a.file])}let f=[...e.entries()].filter(([,a])=>a.length>1).map(([a,b])=>({requestHash:a,files:b})),h={version:"run-call-audit-v1",runId:a.runId,calls:d.length,inputTokens:d.reduce((a,b)=>a+(b.inputTokens??0),0),outputTokens:d.reduce((a,b)=>a+(b.outputTokens??0),0),maxInputChars:Math.max(0,...d.map(a=>a.inputChars??0)),cacheHitTokens:d.reduce((a,b)=>a+(b.cacheHitTokens??0),0),cacheMissTokens:d.reduce((a,b)=>a+(b.cacheMissTokens??0),0),unknownUsageCalls:d.filter(a=>"reported"!==a.usageStatus&&"not-sent"!==a.usageStatus).length,emptyCalls:d.filter(a=>!0===a.ok&&(a.outputChars??0)===0&&(a.emittedToolCalls??0)===0).length,duplicateInputCalls:f.reduce((a,b)=>a+b.files.length,0),duplicateInputGroups:f.slice(0,20)};return(0,af.tv)(a.artifactDir,"run-call-audit.json",h,a.runId),a.onReceipt?.("construction-run-call-audit",{calls:h.calls,duplicateInputCalls:h.duplicateInputCalls,emptyCalls:h.emptyCalls,unknownUsageCalls:h.unknownUsageCalls}),h}catch{return}}async function as(a){var b;let c,f,h;a={...a,...a.bidComposition?{bidComposition:structuredClone(a.bidComposition)}:{},...a.bidCompositionSources?{bidCompositionSources:structuredClone(a.bidCompositionSources)}:{},...a.tenderResponsePlan?{tenderResponsePlan:structuredClone(a.tenderResponsePlan)}:{},...a.documentOutline?{documentOutline:structuredClone(a.documentOutline)}:{},...a.planningContext?{planningContext:structuredClone(a.planningContext)}:{}};let ad=(0,n.En)(a.budget),al={},am=Object.keys(a.project.sources).filter(b=>!a.scopeRootNames.some(a=>b===a||b.startsWith(`${a}/`)));if(am.length)throw Error(`CONSTRUCTION_RUN_MATERIAL_SCOPE_INCOMPLETE:${am.length} 份冻结来源不在本次资料范围内,例如 ${am[0]}`);let as=a.caller??Y.callDocumentLlmWithTools,av=(0,Q.Kf)(a.bidComposition)?await (0,Q.m3)():void 0,aw=a.skills??(0,ac.loadGenerationSkills)(),ax=aq({projectRoot:a.projectRoot,scopeRootNames:a.scopeRootNames,skills:aw,structurePlanning:!!a.structurePlan}).map(a=>({...a,caller:as})),ay={projectRoot:a.projectRoot,directory:a.generatedDir,identity:{projectId:a.projectRoot,documentId:a.documentId,sourceSnapshotId:a.project.snapshotId,contractId:a.contract.id},project:a.project,contract:a.contract,workspace:a.workspace,sourceRunId:a.sourceRunId,sourceBuildId:a.sourceBuildId,evidence:a.evidence},az=(0,T.BI)(a.project),aA=new Map;for(let b of az){let c=b.entry.sourceFile,d=aA.get(c)??{total:0,authorized:0};d.total+=1,(!a.scope?.memberIndices?.length||a.scope.memberIndices.includes(b.index))&&(d.authorized+=1),aA.set(c,d)}let aB=[...aA].sort(([a],[b])=>a.localeCompare(b)).map(([a,b])=>({path:a,authorizedMembers:b.authorized,totalMembers:b.total,wholeFileAuthorized:b.authorized===b.total}));if(a.scope?.sectionIds?.some(b=>!a.contract.sections.some(a=>a.id===b)))throw Error(`CONSTRUCTION_RUN_SCOPE_SECTION_UNKNOWN:${a.scope.sectionIds.filter(b=>!a.contract.sections.some(a=>a.id===b)).slice(0,8).join("、")} 不在本次冻结合同的章节里`);let aC=new Set(az.map(a=>a.index));if(a.scope?.memberIndices?.some(a=>!Number.isSafeInteger(a)||!aC.has(a)))throw Error(`CONSTRUCTION_RUN_SCOPE_MEMBER_UNKNOWN:${(a.scope.memberIndices??[]).filter(a=>!aC.has(a)).slice(0,8).join("、")}
1
+ "use strict";exports.id=3239,exports.ids=[3239],exports.modules={25620:(a,b,c)=>{c.r(b),c.d(b,{constructionCapabilityCatalog:()=>aq,constructionModelIdentity:()=>au,constructionRecordStatus:()=>at,constructionRunDirectory:()=>av,runConstructionDocument:()=>as,writeConstructionRunCallAudit:()=>ar});var d=c(60126),e=c(59339),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c(55037),l=c(65131),m=c(38210),n=c(49303),o=c(76499);let p=a=>Number.isSafeInteger(a)&&Number(a)>=0?Number(a):0;var q=c(8176),r=c(56396),s=c(2313),t=c(88390),u=c(1512),v=c(37038),w=c(3737),x=c(61485),y=c(31232),z=c(25821),A=c(98459),B=c(45408),C=c(69977),D=c(36980),E=c(25164),F=c(6873),G=c(25353),H=c(47353),I=c(42165),J=c(745),K=c(4053),L=c(1932),M=c(73005),N=c(63072),O=c(47523),P=c(16669),Q=c(69970),R=c(36690),S=c(16208),T=c(45532),U=c(1623),V=c(9104),W=c(85585),X=c(26621),Y=c(98943),Z=c(68515),$=c(85738),_=c(81146),aa=c(49724),ab=c(49584),ac=c(45304),ad=c(6906),ae=c(3410),af=c(13380),ag=c(39375),ah=c(19045),ai=c(6158);let aj=new Map;var ak=c(62563),al=c(91088);let am={type:"object",additionalProperties:!1,required:["findings"],properties:{findings:{type:"array",items:{type:"object",additionalProperties:!1,required:["severity","problem","fix"],properties:{severity:{type:"string",enum:["P0","P1","P2"]},chapterId:{type:"string"},sectionId:{type:"string"},quote:{type:"string"},problem:{type:"string"},fix:{type:"string"},replacement:{type:"string"}}}}}};async function an(a){let b=a.chapters.filter(a=>a.content.trim());if(!b.length)return{findings:[],calls:0,chaptersReviewed:0};let c=[],d=0;for(let e of b){a.signal?.throwIfAborted();let b=(0,al.dk)({task:"整稿终审:只找 P0/P1 级严重问题;P2 只记录。不得改写未引用原文,不得新增项目事实或标准。",chapter:{id:e.id,title:e.title,content:e.content},documentIndex:a.sections.map(a=>({sectionId:a.sectionId,chapterId:a.chapterId,title:a.title,contentGroup:a.contentGroup??null,digest:a.digest??null})),rules:["P0:必出图/表缺失、正文与必出输出不一致、跨章直接矛盾、事实/数量/日期冲突导致方案不成立。","P1:严重重复主载、引用错号、正文与图表结论不一致、关键专业接口遗漏。","P2:表达、详略、一般重复;只记录,不要求本轮修。","每条 finding 必须给问题与修法;能逐字替换时给 quote(本章原文逐字片段)与 replacement。quote 必须能在本章正文中逐字找到,不得改写原文后冒充引文。",'不得因"可以更详细"判 P0/P1;不得把编写说明、内部口径、证据来源写进正文建议。',"findings 最多 12 条,按 P0 > P1 > P2 排序;同一问题不要重复。","只输出 JSON。"],output:{findings:[{severity:"P1",sectionId:"section…",quote:"原文逐字片段",problem:"可核的严重问题",fix:"具体修法",replacement:"替换后的逐字文本"}]}});d+=1;let f=await a.caller("你是施工组织设计整稿终审者,不是作者。只找严重问题:跨章矛盾或重复主载、必出图表缺失、事实/数量/日期冲突、引用错号、正文与图表不一致。只输出 JSON。",b,{schema:am,diagnostics:a.diagnostics,signal:a.signal,taskKind:"reasoning",callKind:"consistency-review",temperature:0});for(let a of f?.findings??[]){let b=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b=String(a.severity??"").toUpperCase();if(!["P0","P1","P2"].includes(b))return;let c=String(a.problem??"").trim(),d=String(a.fix??"").trim();if(!c||!d)return;let e=b=>{let c=a[b];return"string"==typeof c&&c.trim()?c.trim():void 0};return{severity:b,...e("chapterId")?{chapterId:e("chapterId")}:{},...e("sectionId")?{sectionId:e("sectionId")}:{},...e("quote")?{quote:e("quote")}:{},...e("replacement")?{replacement:e("replacement")}:{},problem:c,fix:d}}(a);b&&c.push({...b,chapterId:b.chapterId??e.id})}}let e={findings:[...new Map(c.map(a=>[JSON.stringify([a.severity,a.sectionId??"",a.quote??"",a.problem.replace(/\s+/gu,"")]),a])).values()].sort((a,b)=>a.severity.localeCompare(b.severity)),calls:d,chaptersReviewed:b.length};return(0,af.tv)(a.artifactDir,"final-document-review.json",{version:"final-document-review-v1",runId:a.runId,...e},a.runId),e}var ao=c(4387);let ap=["query_project_facts","query_work_packages","search_evidence","discover_files","read_source"];function aq(a){let b={projectRoot:i().resolve(a.projectRoot),scopeRootNames:[...a.scopeRootNames],skills:[...a.skills],toolNames:[...ad.n]};return[{id:"construction-method-production",label:"施工方法与生产组织",kind:"professional",system:(0,t.gh)({permissions:["read-current","work-package","source-allocation","production","shared-definition","writing"],responsibilityKey:"method-production",...a.structurePlanning?{structurePlanning:!0}:{}}),purposeSystems:Object.fromEntries(["source-check","method-decision","production-calculation","writing"].map(b=>[b,(0,t.gh)({permissions:(0,l.pu)(b,["read-current","work-package","source-allocation","production","shared-definition","writing"]),responsibilityKey:"method-production",purpose:b,...a.structurePlanning?{structurePlanning:!0}:{}})])),permissions:["read-current","work-package","source-allocation","production","shared-definition","writing"],evidence:b,caller:Y.callDocumentLlmWithTools}]}function ar(a){try{let b=i().join(a.artifactDir,"runs",a.runId,"artifacts"),c=g().existsSync(b)?b:a.artifactDir,d=(g().existsSync(c)?g().readdirSync(c).filter(a=>/^llm-call-\d+\.json$/u.test(a)).sort():[]).flatMap(a=>{try{let b=JSON.parse(g().readFileSync(i().join(c,a),"utf8"));return b.call?[{file:a,usageStatus:b.usageStatus,unknownAttemptUsage:b.unknownAttemptUsage??0,...b.call}]:[]}catch{return[]}}),e=new Map;for(let a of d){let b=a.transportActivities?.find(a=>a.requestInput?.sha256)?.requestInput?.sha256;b&&e.set(b,[...e.get(b)??[],a.file])}let f=[...e.entries()].filter(([,a])=>a.length>1).map(([a,b])=>({requestHash:a,files:b})),h=a=>{let b=new Map;for(let c of d){let d=a(c)||"unknown",e=b.get(d)??{calls:0,inputTokens:0,outputTokens:0,maxInputChars:0};e.calls+=1,e.inputTokens+=c.inputTokens??0,e.outputTokens+=c.outputTokens??0,e.maxInputChars=Math.max(e.maxInputChars,c.inputChars??0),b.set(d,e)}return[...b].sort((a,b)=>b[1].inputTokens-a[1].inputTokens)},j={version:"run-call-audit-v1",runId:a.runId,calls:d.length,inputTokens:d.reduce((a,b)=>a+(b.inputTokens??0),0),outputTokens:d.reduce((a,b)=>a+(b.outputTokens??0),0),maxInputChars:Math.max(0,...d.map(a=>a.inputChars??0)),cacheHitTokens:d.reduce((a,b)=>a+(b.cacheHitTokens??0),0),cacheMissTokens:d.reduce((a,b)=>a+(b.cacheMissTokens??0),0),unknownUsageCalls:d.filter(a=>"reported"!==a.usageStatus&&"not-sent"!==a.usageStatus).length,emptyCalls:d.filter(a=>!0===a.ok&&(a.outputChars??0)===0&&(a.emittedToolCalls??0)===0).length,duplicateInputCalls:f.reduce((a,b)=>a+b.files.length,0),duplicateInputGroups:f.slice(0,20),byKind:h(a=>String(a.kind??"unknown")),byActor:h(a=>String(a.actorId??a.kind??"unknown")).slice(0,20)};return(0,af.tv)(a.artifactDir,"run-call-audit.json",j,a.runId),a.onReceipt?.("construction-run-call-audit",{calls:j.calls,duplicateInputCalls:j.duplicateInputCalls,emptyCalls:j.emptyCalls,unknownUsageCalls:j.unknownUsageCalls}),j}catch{return}}async function as(a){var b;let c,f,h;a={...a,...a.bidComposition?{bidComposition:structuredClone(a.bidComposition)}:{},...a.bidCompositionSources?{bidCompositionSources:structuredClone(a.bidCompositionSources)}:{},...a.tenderResponsePlan?{tenderResponsePlan:structuredClone(a.tenderResponsePlan)}:{},...a.documentOutline?{documentOutline:structuredClone(a.documentOutline)}:{},...a.planningContext?{planningContext:structuredClone(a.planningContext)}:{}};let ad=(0,n.En)(a.budget),al={},am=Object.keys(a.project.sources).filter(b=>!a.scopeRootNames.some(a=>b===a||b.startsWith(`${a}/`)));if(am.length)throw Error(`CONSTRUCTION_RUN_MATERIAL_SCOPE_INCOMPLETE:${am.length} 份冻结来源不在本次资料范围内,例如 ${am[0]}`);let as=a.caller??Y.callDocumentLlmWithTools,av=(0,Q.Kf)(a.bidComposition)?await (0,Q.m3)():void 0,aw=a.skills??(0,ac.loadGenerationSkills)(),ax=aq({projectRoot:a.projectRoot,scopeRootNames:a.scopeRootNames,skills:aw,structurePlanning:!!a.structurePlan}).map(a=>({...a,caller:as})),ay={projectRoot:a.projectRoot,directory:a.generatedDir,identity:{projectId:a.projectRoot,documentId:a.documentId,sourceSnapshotId:a.project.snapshotId,contractId:a.contract.id},project:a.project,contract:a.contract,workspace:a.workspace,sourceRunId:a.sourceRunId,sourceBuildId:a.sourceBuildId,evidence:a.evidence},az=(0,T.BI)(a.project),aA=new Map;for(let b of az){let c=b.entry.sourceFile,d=aA.get(c)??{total:0,authorized:0};d.total+=1,(!a.scope?.memberIndices?.length||a.scope.memberIndices.includes(b.index))&&(d.authorized+=1),aA.set(c,d)}let aB=[...aA].sort(([a],[b])=>a.localeCompare(b)).map(([a,b])=>({path:a,authorizedMembers:b.authorized,totalMembers:b.total,wholeFileAuthorized:b.authorized===b.total}));if(a.scope?.sectionIds?.some(b=>!a.contract.sections.some(a=>a.id===b)))throw Error(`CONSTRUCTION_RUN_SCOPE_SECTION_UNKNOWN:${a.scope.sectionIds.filter(b=>!a.contract.sections.some(a=>a.id===b)).slice(0,8).join("、")} 不在本次冻结合同的章节里`);let aC=new Set(az.map(a=>a.index));if(a.scope?.memberIndices?.some(a=>!Number.isSafeInteger(a)||!aC.has(a)))throw Error(`CONSTRUCTION_RUN_SCOPE_MEMBER_UNKNOWN:${(a.scope.memberIndices??[]).filter(a=>!aC.has(a)).slice(0,8).join("、")}
2
2
  不是本次冻结清单的有效 memberIndices(有效范围 0..${Math.max(0,az.length-1)})`);let aD=a.scope?.memberIndices?.length?[...a.scope.memberIndices]:az.map(a=>a.index),aE=a.scope?.sectionIds?.length?[...a.scope.sectionIds]:a.contract.sections.map(a=>a.id),aF=a.scope?.sectionIds?.length?[...new Set(a.scope.sectionIds)]:void 0,aG=new Set,aH=new Map,aI=a.artifactDir??a.generatedDir,aJ=a.nodeLogBaseDir??aI,aK=(0,t.QG)(),aL=a.planningContext?.sourceLedger.entries.filter(a=>"read"!==a.readStatus)??[],aM=aF?new Set(aF):void 0,aN=a.contract.sections.filter(a=>!aM||aM.has(a.id)),aO=a.contract.chapters.filter(a=>aN.some(b=>b.chapterId===a.id)),aP=a.chiefGoal??(0,t.IC)({projectName:a.projectName,title:a.title,requirement:a.requirement,documentTitle:a.title,chapterTitles:aO.map(a=>a.title),sectionIds:aE,sectionDirectory:aN.map(b=>({id:b.id,title:b.title,chapterId:b.chapterId,chapterTitle:a.contract.chapters.find(a=>a.id===b.chapterId)?.title??""})),workPackageCount:az.length,memberCount:az.length,sourceFiles:aB,...a.scope?{scope:{sectionTitles:aE.map(b=>a.contract.sections.find(a=>a.id===b)?.title??b),...a.scope.memberIndices?.length?{memberIndices:a.scope.memberIndices}:{}}}:{},...a.planningContext?{planning:{requiredOutputs:a.planningContext.outputObligations.filter(a=>"domain-baseline"===a.kind||(0,C.oY)(a)).map(a=>({element:a.element,form:a.form,status:"domain-baseline"===a.kind?"施工组织设计垂直领域基线(建议出图;确不适用的可按 outputExceptions 写明理由与等效载体,由独立审查接受)":"招标明确要求(必须出)"})),contractObligations:a.planningContext.contractObligations.filter(C.Ln).map(a=>({id:a.id,text:a.text,kind:a.kind,...a.items?.length?{items:a.items}:{}})),factsBaseline:a.planningContext.factsBaseline.map(a=>{let b=a.selected?(0,ak.D)(a.selected.value,160):void 0;return{key:a.key,...a.objectName?{objectName:a.objectName}:{},...a.condition?{condition:a.condition}:{},status:a.status,...a.selected&&b?{value:b.text+(b.truncated?`…(另 ${b.remainingChars} 字未展示,按需读取)`:""),sourceFile:a.selected.sourceFile}:{},..."conflict"===a.status?{alternatives:a.values.map(a=>({value:(0,ak.D)(a.value,80).text,sourceFile:a.sourceFile}))}:{}}}),factConflicts:a.planningContext.sourceLedger.conflicts.map(a=>({key:a.key,...a.objectName?{objectName:a.objectName}:{},...a.condition?{condition:a.condition}:{},resolution:a.resolution,rule:a.rule})),sourceSummary:a.planningContext.sourceLedger.byClass,unreadSources:aL.slice(0,40).map(a=>({filePath:a.filePath,readStatus:a.readStatus,unknowns:a.unknowns})),unreadSourceCount:aL.length,...aL.length>40?{unreadSourcesNote:`仅列前 40 份;其余 ${aL.length-40} 份按 filePath/序号用 read_scope 读取,不能当作不存在`}:{},tenderProfile:a.planningContext.tenderProfile,professionalCandidates:a.planningContext.professionalCandidates.map(a=>({chapterTitle:a.chapterTitle,sectionCandidates:a.sectionCandidates.map(a=>a.title),contentRequirements:a.contentRequirements.map(a=>({title:a.title,attachTo:a.attachTo}))})),extraction:a.planningContext.provenance.extraction??null}}:{}}),aQ=()=>{},aR=()=>{},aS=()=>{},aT=function(a){let b=(0,k.openConstructionWorkspace)(a.workspaceInput),c={beforeModelCall:a.beforeModelCall,...a.earlyDrafts?{adoptEarlyDrafts:a.earlyDrafts.adopt,sectionAuthorAttempts:a.earlyDrafts.authorAttempts}:{},...a.bidComposition?{bidComposition:a.bidComposition,bidCompositionSources:a.bidCompositionSources}:{},...a.tenderResponsePlan?{tenderResponsePlan:a.tenderResponsePlan}:{},...a.structurePlan?{structurePlan:a.structurePlan,sectionContracts:a.sectionContracts}:{},...a.sectionPlans?{sectionPlans:a.sectionPlans}:{},...a.planningContext?{planningContext:a.planningContext}:{},...a.confirmed?{confirmed:a.confirmed}:{},...a.jsonCaller?{jsonCaller:a.jsonCaller}:{},executionBaselineRef:a.executionBaselineRef,...a.blockedSections?{blockedSections:a.blockedSections}:{},store:b.store,project:a.workspaceInput.project,contract:a.workspaceInput.contract,authority:{actorId:"chief",memberIndices:[...a.memberIndices],sectionIds:[...a.sectionIds],canManageSharedResources:!0},clock:{timelineId:`document-run-${a.workspaceInput.identity.documentId}`,timeUnit:{unit:"hour",ticksPerUnit:1},horizon:8760},buildId:a.workspaceInput.sourceBuildId,generatedDir:a.generatedDir,nodeLogBaseDir:a.nodeLogBaseDir??a.generatedDir,runId:a.runId,...a.budget?{budget:a.budget}:{},system:a.chiefSystem,goal:a.chiefGoal,initialFocus:{purpose:"method-decision",entityIds:[]},permissions:["read-current","work-package","source-allocation","production","shared-definition","professional-decision","writing"],toolFace:["read-current","work-package","shared-definition","professional-decision"],authorizeRead:()=>!0,responsibilityKind:"document-chief",caller:a.caller,evidence:{projectRoot:i().resolve(a.projectRoot),scopeRootNames:[...a.scopeRootNames],skills:[...a.skills],toolNames:[...ap]},...a.onReceipt?{onReceipt:a.onReceipt}:{},...a.onBusinessCommit?{onBusinessCommit:a.onBusinessCommit}:{},...a.onProgressBoundary?{onProgressBoundary:a.onProgressBoundary}:{},...a.signal?{signal:a.signal}:{}},e=a.diagnostics??(0,_.createGenerationDiagnostics)(),f=Promise.resolve(),g=async()=>{let a=f,b=()=>{};return f=new Promise(a=>{b=a}),await a,b},h={...c,diagnostics:e,sourceCoverageLock:g},j=(0,l._M)({chief:h,profiles:a.profiles});return{store:b.store,created:b.created,chief:h,coordinator:j,diagnostics:e,onReceipt:(b,c)=>a.onReceipt?.(b,c),unbindSectionContracts:a.sectionContracts?(0,d.Ep)(b.store,a.sectionContracts):void 0,...b.migration?{migration:b.migration}:{}}}({beforeModelCall:a.earlyDrafts?()=>aS():void 0,earlyDrafts:a.earlyDrafts,workspaceInput:ay,runId:a.runId,chiefSystem:aK,chiefGoal:aP,profiles:ax,memberIndices:aD,sectionIds:aE,generatedDir:aI,...a.bidComposition?{bidComposition:a.bidComposition,bidCompositionSources:a.bidCompositionSources}:{},...a.tenderResponsePlan?{tenderResponsePlan:a.tenderResponsePlan}:{},...a.structurePlan?{structurePlan:a.structurePlan,sectionContracts:a.sectionContracts}:{},...a.sectionPlans?{sectionPlans:a.sectionPlans}:{},...a.planningContext?{planningContext:a.planningContext}:{},...a.confirmed?{confirmed:a.confirmed}:{},jsonCaller:a.jsonCaller??Y.callDocumentLlmJson,executionBaselineRef:al,blockedSections:aG,nodeLogBaseDir:aJ,projectRoot:a.projectRoot,skills:aw,scopeRootNames:a.scopeRootNames,caller:as,budget:ad,...a.diagnostics?{diagnostics:a.diagnostics}:{},onReceipt:(b,c)=>{a.onReceipt?.(b,c),b.startsWith("construction-progress-")||aQ()},onBusinessCommit:()=>{a9=!0},onProgressBoundary:()=>aR(),...a.signal?{signal:a.signal}:{}}),{store:aU,coordinator:aV,diagnostics:aW}=aT,aX=[...new Set([...a.scope?.sectionIds??[],...a.contract.sections.map(a=>a.id)])],aY=()=>(0,n.r0)({sections:aX,calls:(aW.llm.callLog??[]).map(b=>({inputTokens:b.inputTokens,providerAttempts:b.transportActivities?b.transportActivities.filter(a=>"not-started"!==a.providerInvocation).length:b.providerAttempts,unknownAttempts:(()=>{let a=b.transportActivities?.filter(a=>"not-started"!==a.providerInvocation);return a?a.filter(a=>!a.usage).length:0})(),sectionId:b.sectionId??(b=>{let c=b?aU.actor(b):void 0,d=c?.definition.sectionIds??[];return 1===d.length?d[0]:a.earlyDrafts?.sectionOfActor(b)})(b.actorId),role:(0,o.K)(b.kind)?"review":"reasoning"===b.taskKind?"think":"chief"===b.actorId?"chief":"author"}))},{unknownCallUpperBound:ad.perSection.maxInputTokens}),aZ=()=>a.structurePlan?(0,R.F_)(a.structurePlan).map(({section:b,chapter:c},d)=>{let e=(0,E.Pp)(aU,b.sectionId),f=a.sectionPlans?.get(b.sectionId),g=(0,y.rz)(aU,b.sectionId).length,h=aF&&!aF.includes(b.sectionId)?"out-of-scope":e?"planned"===e.phase?f?"section-planned":"planned":e.phase:"untracked";return{sectionId:b.sectionId,chapterTitle:c.title,title:b.title,order:d+1,phase:h,sectionPlanned:!!f,unitCount:g,locked:e?.phase==="locked",...e?.reason?{reason:e.reason}:{}}}):void 0;al.current=(0,V.nu)(aU);let a$=aT.chief,a_=aT.onReceipt,a0="provisional-source-ownership",a1=()=>{let b=(0,V.qN)(aU,a.project).filter(a=>a.sectionIds.some(a=>aE.includes(a))),c=new Set(b.flatMap(a=>a.sectionIds).filter(a=>aE.includes(a)));return{packages:b,coveredSectionIds:[...c],missingSectionIds:aE.filter(a=>!c.has(a)),missingAllocations:[],overAllocated:[]}},a2=!!a.planningContext,a3=!1,a4=async()=>{if(!a2)return;if(al.current){let b=al.current,c=(0,V.PE)({store:aU,project:a.project,sectionIds:aE,allocationMode:a0}),d=new Set(b.coveredSectionIds??[]);if(b.workPackageSetHash===c.workPackageSetHash&&b.allocationSetHash===c.allocationSetHash&&aE.every(a=>d.has(a))){a3=!0,(0,af.Jv)({generatedDir:aI,fileName:"execution-baseline.json",value:b,runId:a.runId});return}a_("construction-run-execution-baseline-stale",{reason:"工作包集合/分配/覆盖章节已变化,重编基准",previous:{workPackageSetHash:b.workPackageSetHash??null,allocationSetHash:b.allocationSetHash??null},current:{workPackageSetHash:c.workPackageSetHash,allocationSetHash:c.allocationSetHash}}),al.current=void 0,a3=!1}let b=a1();if(b.missingSectionIds.length)throw Error(`EXECUTION_BASELINE_SECTION_UNCOVERED:${b.missingSectionIds.length} 个章节没有工作包`);if(b.missingAllocations.length)throw Error(`EXECUTION_BASELINE_ALLOCATION_MISSING:${b.missingAllocations.length} 个工作包成员没有原量分配`);let c=await (0,V.du)({store:aU,project:a.project,sectionIds:aE,allocationMode:a0,...a.planningContext?{planningContext:a.planningContext}:{},caller:a.jsonCaller??Y.callDocumentLlmJson,diagnostics:aW,signal:a.signal,artifactDir:aI,runId:a.runId,laborPolicy:Z.Qk.p??null}),d=(0,V.ZO)({store:aU,baseline:c.baseline,runId:a.runId});al.current=c.baseline,a3=!0,(0,af.Jv)({generatedDir:aI,fileName:"execution-baseline.json",value:c.baseline,runId:a.runId}),a_("construction-run-execution-baseline",{workPackages:b.packages.length,batches:c.coverage.batches,members:c.coverage.members,written:d})},a5=()=>{let a=a1();return{coverage:a,ready:!a.missingSectionIds.length&&!a.missingAllocations.length&&!a.overAllocated.length}},a6=()=>{if(!a2||f)return Promise.resolve();if(c)return c;let a={};return a.current=(async()=>{try{await a4()}catch(b){let a=b instanceof Error?b.message:String(b);/^EXECUTION_BASELINE_(SECTION_UNCOVERED|ALLOCATION_MISSING)/u.test(a)?a_("construction-run-execution-baseline-deferred",{reason:a}):f=a}finally{c===a.current&&(c=void 0)}})(),c=a.current,a.current},a7=()=>{if(!a2||c||a3&&al.current||f)return;let{coverage:a,ready:b}=a5();b&&(a_("construction-run-execution-baseline-started",{workPackages:a.packages.length,members:a.packages.reduce((a,b)=>a+b.members.length,0)}),a6())},a8=async()=>{if(c&&await c,f)throw Error(f)};if((0,ab.bindRunModelConfiguration)(aW,a),(0,aa.bindDocumentCallLedger)(aW,{generatedDir:aI,runId:a.runId}),(0,af.tv)(aI,"run-start.json",{at:new Date().toISOString(),runId:a.runId,documentId:a.documentId,...a.specId?{specId:a.specId}:{},title:a.title,projectName:a.projectName,...a.materialRoot?{materialRoot:a.materialRoot}:{},...a.generationProjectId?{generationProjectId:a.generationProjectId}:{},projectId:a.project.snapshotId,buildIdentity:{sourceFingerprint:a.buildId,sourceRunId:a.sourceRunId,sourceBuildId:a.sourceBuildId},workflowVersion:ag.E.version,contractId:a.contract.id,...a.contract.chapterSource?{chapterSource:a.contract.chapterSource}:{},...a.documentOutline?{documentOutlineHash:(0,J.Fu)(a.documentOutline)}:{},...a.structurePlan?{structurePlanHash:(0,R.cI)(a.structurePlan)}:{},...a.tenderResponsePlan?{tenderResponsePlanHash:(0,J.Fu)(a.tenderResponsePlan)}:{},...a.planningContext?{planningContextHash:(0,J.Fu)(a.planningContext)}:{},budget:{perSection:ad.perSection,perRun:ad.perRun??null,enforcement:ad.enforcement},scope:aF?{sectionIds:aF,partial:!0}:{partial:!1}},a.runId),a.structurePlan)for(let{section:b}of(0,R.F_)(a.structurePlan))(0,E.Pp)(aU,b.sectionId)||(0,E.ey)({store:aU,sectionId:b.sectionId,responsibilityId:J.P6,phase:"planned",trigger:"section-track-initialized",snapshot:{structurePlanHash:a.structurePlan.planHash,unitVersions:[],unreviewedUnitIds:[],blockingFindingIds:[],sourceReviewComplete:!1}});(0,af.tv)(aI,"construction-run-protocol.json",{version:"construction-run-protocol-v1",runId:(b=a).runId,documentId:b.documentId,buildId:b.buildId,sourceRunId:b.sourceRunId,sourceBuildId:b.sourceBuildId,workflowVersion:ag.E.version,actualPath:b.structurePlan?"two-level-planning":"legacy-outline",contract:{id:b.contract.id,hash:(0,J.Fu)(b.contract)},sources:{snapshotId:b.project.snapshotId,hash:(0,ae.ik)(b.project)},structurePlanHash:b.structurePlan?(0,R.cI)(b.structurePlan):null,sectionPlanHashesAtStart:[...b.sectionPlans?.values()??[]].map(a=>({sectionId:a.sectionId,hash:a.sectionPlanHash})).sort((a,b)=>a.sectionId.localeCompare(b.sectionId)),protocols:{tenderApplicability:C.q$,tenderApplicabilityReview:C.lK,review:x.dT,sourceReview:ae.pO,originalForm:ah.LR,originalFormReview:ah.mw,deliveryPlacement:"document-delivery-placement-v1",sectionState:E.VM,contentContract:"writing-content-contract-v1",atomicStructuralRevision:!0,finding:"review-finding-contract-v1"}},a.runId),a.documentOutline&&(0,af.tv)(aI,"document-outline.json",a.documentOutline,a.runId),a.structurePlan&&(0,af.tv)(aI,"document-structure-plan.json",a.structurePlan,a.runId),a.planningContext&&((0,af.tv)(aI,"planning-context.json",a.planningContext,a.runId),(0,af.tv)(aI,"source-extraction-ledger.json",a.planningContext.sourceLedger,a.runId)),a.tenderResponsePlan&&(0,af.tv)(aI,"tender-response-plan.json",a.tenderResponsePlan,a.runId),a.bidComposition&&(0,af.tv)(aI,"bid-composition.json",{version:"construction-bid-composition-v1",projectSnapshotId:a.project.snapshotId,spec:a.bidComposition,sources:a.bidCompositionSources??[]},a.runId);let a9=!1,ba=!1,bb=()=>{},bc=()=>{},bd=!1;try{let b,c,d;h=function(a){let b,c,d=a.now??Date.now,e=a.read??(()=>(0,$.CX)(a.documentId,a.projectRoot)),f=a.save??(b=>(0,$.Yf)(b,a.projectRoot)),h=d(),k=(0,j.randomUUID)(),l=e(),m=l?.nativeRevision?.revisionId,n=l?.editedMarkdown,o=l?.createdAt??h,p=i().join(a.artifactDir,"construction","progress",`${(0,J.Fu)(a.documentId).slice(0,24)}.json`);g().mkdirSync(i().dirname(p),{recursive:!0});let q=!1,r=()=>g().writeFileSync(p,JSON.stringify({runId:a.runId,token:k,startedAt:h,createdAt:o,lastSuccess:b??null,lastError:c??null},null,2));r();let s=(b,c)=>{try{a.onReceipt?.(b,c)}catch{}},t=()=>{if(q)return!1;try{return JSON.parse(g().readFileSync(p,"utf8")).token===k}catch{return!1}};return{publish:(g,h,i=!1,j)=>{if(!t())return!1;let k=e();if(k?.nativeRevision?.revisionId!==m||k?.editedMarkdown!==n||k&&k.runId!==a.runId&&k.runId!==l?.runId)return q=!0,s("construction-progress-fenced",{runId:a.runId,currentRunId:k?.runId??null}),!1;if(!i&&(b?.fingerprint===h||b&&d()-b.at<1e3))return!1;try{let e={...g,...k?.ownerPid?{ownerPid:k.ownerPid,ownerStartedAt:k.ownerStartedAt}:{},createdAt:o,updatedAt:d()};f(e),m=e.nativeRevision?.revisionId,n=e.editedMarkdown,b={fingerprint:h,at:d(),sequence:(b?.sequence??0)+1,...j?{source:j}:{}},c=void 0;try{r()}catch(a){s("construction-progress-watermark-failed",{error:String(a),lastSuccess:b})}return s("construction-progress-saved",{runId:a.runId,lastSuccess:b}),!0}catch(e){c={at:d(),message:e instanceof Error?e.message:String(e)};try{r()}catch{}if(s("construction-progress-save-failed",{runId:a.runId,error:c,lastSuccess:b??null}),i)throw e;return!1}},createdAt:o,owns:t,close:()=>{q=!0},state:()=>({lastSuccess:b,lastError:c})}}({documentId:a.documentId,runId:a.runId,projectRoot:a.projectRoot,artifactDir:aI,onReceipt:a_}),aT.migration&&((0,af.tv)(aI,"construction-migration-receipt.json",{at:new Date().toISOString(),runId:a.runId,documentId:a.documentId,sourceRunId:a.sourceRunId,sourceBuildId:a.sourceBuildId,...aT.migration.manifest,pending:aT.migration.pending,activationEligible:!1},a.runId),a_("construction-run-migration-receipt",{counts:aT.migration.manifest.counts??null,pending:aT.migration.pending.length}));let l=aU.recoverActorOwners(a.runId);(l.released.length||l.retained.length)&&a_("construction-run-owner-recovery",l);let t=0,T=0,V=`document-run:${a.documentId}`,Y=new Set,_=()=>{let a=c;c=void 0;let b=(()=>{let a=[];for(let b of aU.supervisedActors(a$.authority.actorId)){let c=aU.actor(b.actorId),d=aU.actorEventFailure(b.actorId),e=String(c?.definition.assignmentBinding?.responsibilityKey??b.actorId);if(d){let c="failed:"+b.actorId+":"+d.receiptId;if(Y.has(c))continue;Y.add(c),a.push(`- 职责「${e}」(${b.actorId})上次执行**失败**:${d.error};回执 ${d.receiptId}。失败后重试必须有你的实质修订(改目标、换对象或调整所需成果),原样重派不会被受理——用 \`inspect_construction_responsibility\` 读它的当前状态,再用 \`revise_construction_responsibility\` 给出具体修订;如果它本就不该继续,如实收口并在结论里写明。`);continue}let f=c?.checkpoint;if(f?.status==="paused"){let c="paused:"+b.actorId+":"+String(f.blockedReason??"")+":"+f.rounds;if(Y.has(c))continue;Y.add(c),a.push(`- 职责「${e}」(${b.actorId})**已暂停**(${String(f.blockedMessage??f.blockedReason??"状态停滞")},已用 ${f.rounds} 轮):检查点、原稿与费用账保留。补充预算或给出实质修订后可继续;用 \`inspect_construction_responsibility\` 读它的当前状态,再决定是补充预算、换对象还是如实收口。`);continue}if(f?.status==="interrupted"){let c="interrupted:"+b.actorId+":"+String(f.rounds??0);if(Y.has(c))continue;Y.add(c),a.push(`- 职责「${e}」(${b.actorId})上次执行被**传输中断**(响应未完整结束,已用 ${f.rounds??0} 轮):检查点与原稿保留;本轮不会重复派发,下一次运行会从检查点续跑,**不需要你为此改写目标**。`);continue}if(f?.status!=="completed")continue;let g="completed:"+b.actorId+":"+String(f.decodedSha256??"").slice(0,16);Y.has(g)||(Y.add(g),a.push(`- 职责「${e}」(${b.actorId})已声明**完成职责**(检查点 ${String(f.decodedSha256??"").slice(0,16)}):核对它的成果是否满足你要的成果条件;不满足就给出具体裁决,满足则本轮可以收口。`))}let b=[];for(let a;;){let c=aU.issuePage({owner:"project-decision-maker",...void 0===a?{}:{afterSequence:a},limit:200});if(b.push(...c.issues),void 0===c.nextAfterSequence)break;a=c.nextAfterSequence}for(let c of b){if(!["open","investigating","awaiting-decision"].includes(c.state))continue;let b="issue:"+c.id+":"+c.state+":"+c.updatedAt;Y.has(b)||(Y.add(b),a.push(`- 有交回项目决策者的问题「${c.title}」(${c.id},由 ${c.raisedBy} 登记):${c.decision?`要作出的决定:${c.decision.question};可选:${c.decision.options.join("、")}。`:`${c.detail}。`}你是本项目侧的裁决人:用 \`answer_shared_decision\` 给出**具体**裁决(采纳哪个方案/给出工程决定与依据),不能只回"继续优化"。`))}if(!a.length){let a=new Set(aU.supervisedActors(a$.authority.actorId).flatMap(a=>(a.definition.toolFace??[]).includes("writing")?a.definition.sectionIds:[])),b=aU.actor(a$.authority.actorId)?.definition;return[...new Set(b?.sectionIds??[])].filter(b=>!a.has(b)).length?void 0:"【运行反馈\xb7实际变化】你上一轮收口之后没有新的实际变化:全部章节已有 writing 承接职责,无需再建包、委派或重复检查职责状态;直接调用 `conclude_construction_organization` 再次收口结束本轮。"}return`【运行反馈\xb7实际变化】你上一轮收口之后发生了以下实际变化(程序按事件回执记录,不是转述):
3
3
  ${a.join("\n")}
4
4
  请按实际状态作出具体裁决;不需要动作时用 \`conclude_construction_organization\` 再次收口。`})();return[a,b].filter(Boolean).join("\n\n")||void 0},aa=()=>aU.supervisedActors(a$.authority.actorId).map(a=>{let b=a.definition.assignmentBinding,c=Array.isArray(a.definition.toolFace)?a.definition.toolFace.map(String):[];return{actorId:a.actorId,..."string"==typeof b?.profileId?{profileId:b.profileId}:{},..."string"==typeof b?.purpose?{purpose:b.purpose}:{},sectionIds:Array.isArray(b?.sectionIds)?b.sectionIds.map(String):[],canWrite:c.includes("writing"),canCalculate:c.includes("production")}}),ab=(b,c)=>(function(a){let b=new Set(a.scopeSectionIds?.length?a.scopeSectionIds:a.contract.sections.map(a=>a.id)),c=new Map;for(let b of a.contract.criteria)b.sectionId&&c.set(b.sectionId,[...c.get(b.sectionId)??[],{applicable:b.applicable}]);let d=a.contract.sections.filter(a=>b.has(a.id)&&(a=>{let b=c.get(a)??[];return!b.length||b.some(a=>a.applicable)})(a.id)),e=a.actors.filter(a=>"writing"===a.purpose||a.canWrite&&"writing"===a.purpose),f=!1!==a.allocationRequired,g=[];if(void 0!==a.workPackageSectionIds){let b=new Set(a.workPackageSectionIds);for(let a of d)b.has(a.id)||g.push({kind:"section-work-package-missing",sectionId:a.id,detail:`章节「${a.title}」还没有已提交工作包;基准必须按工作包/清单成员计算`})}a.requireBaseline&&f&&(a.allocationMissing??0)>0&&g.push({kind:"production-allocation-missing",detail:`${a.allocationMissing} 个工作包成员没有原量分配:委派 purpose=production-calculation 的职责(profileId=construction-method-production),按工作包/工序提交 source-allocation;跨包成员份额合计不得超过原量。分配完成前不会编制认证基准`}),a.requireBaseline&&!a.baselineReady&&g.push({kind:"baseline-incomplete",detail:"执行基准尚未完成:基准完成前不得启动写作"});let h=new Map;for(let a of d){let b=e.filter(b=>b.sectionIds.includes(a.id));h.set(a.id,b),b.length||g.push({kind:"section-unassigned",sectionId:a.id,detail:`章节「${a.title}」没有 purpose=writing 的承接职责`}),b.length>1&&g.push({kind:"section-multi-writer",sectionId:a.id,detail:`章节「${a.title}」由 ${b.length} 个写作职责同时承接(${b.map(a=>a.actorId).join("、")});同一节只能有一个写作承接者`})}for(let c of a.tenderResponsePlan?.sections??[]){if(!b.has(c.sectionId))continue;let a=h.get(c.sectionId)??[],d=c.contentContract?.obligationIds??[];d.length&&!a.length&&g.push({kind:"obligation-unassigned",sectionId:c.sectionId,detail:`章节「${c.title}」承接合同内容义务 ${d.join("、")},但没有写作职责`}),c.requiredOutputs.length&&!a.length&&g.push({kind:"output-unassigned",sectionId:c.sectionId,detail:`章节「${c.title}」有输出义务(${c.requiredOutputs.map(a=>a.basis).join("、")}),但没有写作职责承接`})}let i=[{key:"sections-assigned",passed:!g.some(a=>"section-unassigned"===a.kind),message:g.some(a=>"section-unassigned"===a.kind)?`${g.filter(a=>"section-unassigned"===a.kind).length} 个章节没有写作承接者`:`范围内 ${d.length} 个章节都有写作承接者`},{key:"single-writer",passed:!g.some(a=>"section-multi-writer"===a.kind),message:g.some(a=>"section-multi-writer"===a.kind)?"存在同一节多个写作承接者":"每节写作承接唯一"},{key:"outputs-assigned",passed:!g.some(a=>"output-unassigned"===a.kind||"obligation-unassigned"===a.kind),message:g.some(a=>"output-unassigned"===a.kind||"obligation-unassigned"===a.kind)?"仍有输出/内容义务没有承接者":"输出与内容义务均有承接者"},{key:"work-packages-assigned",passed:!g.some(a=>"section-work-package-missing"===a.kind),message:void 0===a.workPackageSectionIds?"未提供工作包覆盖(调用方未启用该检查)":g.some(a=>"section-work-package-missing"===a.kind)?`${g.filter(a=>"section-work-package-missing"===a.kind).length} 个章节没有工作包`:"章节均有工作包"},{key:"allocations-complete",passed:!(a.requireBaseline&&f&&(a.allocationMissing??0)>0),message:f?(a.allocationMissing??0)>0?`${a.allocationMissing} 个成员没有原量分配`:"工作包成员均已分配":"首版暂定基准不要求原量分配(来源归属主包,生产细化后认证)"},{key:"baseline-ready",passed:!(a.requireBaseline&&!a.baselineReady),message:a.baselineReady?"执行基准已完成":a.requireBaseline?"执行基准未完成":"执行基准待工作包完成后编制"}];return{passed:0===g.length,checks:i,issues:g,feedback:g.map(a=>`- ${a.detail}`)}})({contract:a.contract,actors:aa(),tenderResponsePlan:a.tenderResponsePlan,workPackageSectionIds:b.coveredSectionIds,allocationMissing:0,allocationRequired:!1,baselineReady:!!(a3&&al.current),requireBaseline:c,...aF?{scopeSectionIds:aF}:{}}),ac="",ah=0,ak=0,am=Math.max(1,Math.floor(Z.yv?.gateMaxRounds??20)),ap=!1,aq=0,aw=!1,ax=new Set,ay=a=>`预算安全暂停(${ad.enforcement}):${a.violations.map(a=>`${"run"===a.scope?"整轮":`节 ${a.id}`} ${a.metric} ${a.actual} > ${a.limit}${a.includesUnknownUpperBound?"(含未报告用量上界)":""}`).join(";")}。已提交正文保留;补充预算或人工确认后从检查点续跑。`,az=b=>{if(d)return!0;let c="report-only"===ad.enforcement?[]:(0,n.Ag)(aY(),ad).violations;if(!c.length)return!1;let e=aY();d={violations:c,usage:e,where:b};try{a.onBudgetPause?.(ay(d))}catch{}a_("construction-run-budget-paused",{where:b,enforcement:ad.enforcement,violations:c,usage:e});try{(0,af.tv)(aI,"budget-pause.json",{at:new Date().toISOString(),runId:a.runId,where:b,enforcement:ad.enforcement,budget:ad,violations:c,usage:e},a.runId)}catch{}return!0};aS=()=>{if(az("before-model-call"))throw Error("CONSTRUCTION_RUN_BUDGET_PAUSED")};let aA=new Set,aB=new Map,aC=new Map,aD=Promise.resolve(),aK=b=>{let c=aU.actor(b),d=Array.isArray(c?.definition.sectionIds)?c.definition.sectionIds.map(String).sort():[],e=(0,x.cD)(aU,{responsibilityId:b,contract:a.contract,expectedBidCompositionHash:(0,x.IQ)(a.bidComposition,a.bidCompositionSources),...a.tenderResponsePlan?{tenderResponsePlan:a.tenderResponsePlan}:{}});return(0,J.Fu)(d.map(a=>{let b=(0,y.rz)(aU,a),c=new Set(b.map(a=>a.entityId)),d=(0,y.l9)(aU,a),f=[];for(let a;;){let b=aU.issuePage({states:["open","investigating","awaiting-decision"],...void 0===a?{}:{afterSequence:a},limit:200});for(let a of b.issues)"review-finding"===a.kind&&a.scope.entityIds.some(a=>c.has(a))&&f.push(a.id);if(void 0===b.nextAfterSequence)break;a=b.nextAfterSequence}return{sectionId:a,units:b.map(a=>[a.entityId,a.version]),review:[e.applied,e.missingUnitIds.filter(a=>c.has(a))],lock:d?[d.entity.version,d.lock.sectionPlanHash]:null,boundaryKey:(0,E.Pp)(aU,a)?.boundaryKey??null,blocked:aG.has(a),openFindingIds:f.sort()}}))},aL=()=>(0,J.Fu)([al.current??null,aK(a$.authority.actorId),aU.supervisedActors(a$.authority.actorId).map(a=>[a.actorId,aU.actorInstruction(a.actorId)?.version??0,aK(a.actorId),aU.actorEventFailure(a.actorId)?.receiptId??null])]),aM=a.planningContext||a.tenderResponsePlan?"planning-gate-not-evaluated(规划闸门尚未通过,写作事件不投递)":void 0,aN=async()=>{for(;;){if(a.signal?.throwIfAborted(),az("event-drain"))return;a7();let b=await (0,u.E)({store:aU,consumerId:V,responsibilities:aV.responsibility,signal:a.signal,limit:a.eventPageSize??Z.N6.authorSections??24,budgetBlockedActors:ax,transportPausedActors:aA,pausedInstructionVersions:aB,recoveryStateHash:aK,stagnationRecoveryHashes:aC,deferActor:a=>{if("hard-stop"===ad.enforcement&&az("event-dispatch"))return"budget-hard-stop(预算已到上限,停止继续派发)";let b=aU.actor(a)?.definition.assignmentBinding?.purpose;return"production-calculation"===b?a3&&al.current?aM:"provisional-baseline-not-ready(首版暂定基准完成前生产计算不投递)":"writing"===b?a2&&!(a3&&al.current)?"baseline-not-ready(执行基准完成前写作事件不投递)":aM:void 0},onActorSettled:a=>(a7(),aD=aD.catch(a=>a_("construction-progress-boundary-failed",{error:String(a)})).then(async()=>{let b=aK(a);aw=await aO(a)||aw;let c=aK(a);b!==c&&aU.actor(a)?.checkpoint?.status==="yielded"&&aU.enqueueActorContinuation(a,`closure:${c}`,"节收口产生新的实际状态,继续处理本职责其余章节"),bb(!0)}))});if(a.signal?.throwIfAborted(),T+=1,aq=b.consumed,a_("construction-run-event-drain",{drain:T,outcomes:b.outcomes,consumed:b.consumed,scannedPages:b.scannedPages,hasMore:b.hasMore,deferredByConcurrency:b.deferredByConcurrency}),!b.consumed)break}},aO=async b=>{if(!a.structurePlan||a.signal?.aborted||aM||a2&&!(a3&&al.current))return!1;let c=aU.supervisedActors(a$.authority.actorId).filter(a=>{let c=a.definition.assignmentBinding?.purpose,d=Array.isArray(a.definition.toolFace)?a.definition.toolFace.map(String):[];return"writing"===c&&d.includes("writing")&&(!b||a.actorId===b)}),d=!1,e=Math.max(1,Math.floor(Z.N6.reviewSections??4)),f=[];for(let a of c){let b=Array.isArray(a.definition.sectionIds)?a.definition.sectionIds.map(String):[];if(b.length)for(let c of b)f.push({actor:a,actorSections:b,sectionId:c})}let g=0,h=async()=>{for(;;){let b=g;if(g+=1,b>=f.length)return;let c=f[b],{actor:e,actorSections:h,sectionId:i}=c;try{let b=await (0,w.H_)({store:aU,contract:a.contract,project:a.project,responsibilityId:e.actorId,sectionId:i,authoritySectionIds:h,...a.structurePlan?{structurePlan:a.structurePlan}:{},...a.sectionPlans?{sectionPlans:a.sectionPlans}:{},...a.planningContext?{planningContext:a.planningContext}:{},...a.tenderResponsePlan?{tenderResponsePlan:a.tenderResponsePlan}:{},...a.bidComposition?{bidComposition:a.bidComposition,bidCompositionSources:a.bidCompositionSources}:{},...al.current?{executionBaseline:al.current}:{},projectRoot:a.projectRoot,caller:as,diagnostics:aW,artifactDir:aI,runId:a.runId,...a.signal?{signal:a.signal}:{},...a$.sourceCoverageLock?{sourceCoverageLock:a$.sourceCoverageLock}:{}});if(b.reviewed){let a=b.receipt?.ok?b.receipt.assessments?.length??0:0;void 0!==b.missingAfter&&b.missingAfter.length<b.missingUnitIds.length&&(d=!0),a_("construction-run-section-review",{actorId:e.actorId,sectionId:i,missingUnitIds:b.missingUnitIds,missingAfter:b.missingAfter??[],ok:b.receipt?.ok??!1,applied:a,...b.receipt?.error?{error:b.receipt.error}:{}})}else b.reason&&"no-unreviewed-units"!==b.reason&&a_("construction-run-section-review-skipped",{actorId:e.actorId,sectionId:i,reason:b.reason,...b.planGaps?.length?{planGaps:b.planGaps}:{}});let c=(0,w.OL)({store:aU,contract:a.contract,project:a.project,responsibilityId:e.actorId,sectionId:i,authoritySectionIds:h,...a.structurePlan?{structurePlan:a.structurePlan}:{},...a.sectionPlans?{sectionPlans:a.sectionPlans}:{},...a.planningContext?{planningContext:a.planningContext}:{},...a.tenderResponsePlan?{tenderResponsePlan:a.tenderResponsePlan}:{},...a.bidComposition?{bidComposition:a.bidComposition,bidCompositionSources:a.bidCompositionSources}:{},...al.current?{executionBaseline:al.current}:{},lock:!0,lockActorId:J.P6,lockedBy:"mechanical-closure"});c.wroteLock&&c.lock&&(d=!0,a_("construction-run-section-locked",{actorId:e.actorId,sectionId:i,sectionPlanHash:c.sectionPlanHash,unitCount:c.lock.unitVersions.length,reviewApplied:c.lock.review.applied}));let f=c.openFindingIds.length;if(c.contractPassed&&0===c.unreviewedUnitIds.length&&f>0){let b=(0,J.Fu)([(0,y.rz)(aU,i).map(a=>[a.entityId,aU.entity(a.entityId)?.value??null]),c.openFindingIds.map(a=>{let b=aU.issue(a);return b?[b.title,b.detail,b.evidence.filter(a=>!a.startsWith("review-invocation:"))]:null})]),f=aH.get(i)??new Set,g=f.has(b);if(f.add(b),aH.set(i,f),!aG.has(i)&&g){aG.add(i),d=!0;let f=(0,E.Pp)(aU,i);f&&(0,E.ey)({store:aU,sectionId:i,responsibilityId:e.actorId,phase:"blocked",snapshot:f.snapshot,resumeFrom:"reviewing",trigger:"runtime-review-state-repeated",dependencyKeys:[b],reason:"当前正文和未关闭审查动作重复出现,未取得新的处理依据"});let g=(0,E.Pp)(aU,i);g&&(0,v.mr)({actorId:e.actorId,goal:"",documentId:a.documentId,baseDir:aJ,sectionId:i,state:g.phase,key:g.boundaryKey,reason:g.reason??""}),a_("construction-run-section-blocked",{actorId:e.actorId,sectionId:i,findingIssueIds:c.openFindingIds,stateFingerprint:b})}else aG.has(i)||g||(d=!0)}else 0===f&&(aH.delete(i),aG.delete(i)&&(d=!0,a_("construction-run-section-unblocked",{actorId:e.actorId,sectionId:i})))}catch(a){a_("construction-run-section-closure-failed",{actorId:c.actor.actorId,sectionId:c.sectionId,error:a instanceof Error?a.message:String(a)})}}};return await Promise.all(Array.from({length:Math.min(e,f.length)},()=>h())),d},aP={generatedDir:(0,$.Gl)(a.projectRoot),projectRoot:a.projectRoot,documentId:a.documentId,monoColor:a.bidComposition?.formatRules.monoColor,fontFamily:a.bidComposition?.formatRules.bodyFont||a.bidComposition?.formatRules.fontFamily,hideCaption:!0},aX=(b=!1,c="generating")=>{if(!h?.owns())return a_("construction-progress-stale",{runId:a.runId,reason:"not-owner",lastSuccess:h?.state().lastSuccess??null}),!1;let f=new Map(a.sectionPlans??[]);for(let b of a.contract.sections){let a=aU.entity(`section-plan:${b.id}`),c=a?.value?.plan;c&&"object"==typeof c&&c.sectionId===b.id&&f.set(b.id,c)}let g=function(a){let b=[];for(let c;;){let d=a.store.entityPage({groupKey:"writing-units",...c?{afterId:c}:{},limit:200});for(let a of d.entities){let c=(0,K.iC)(a);c&&b.push({entityId:a.id,entityVersion:a.version,entityHash:(0,J.Fu)(a),unit:c,responsibilityId:String(a.value?.responsibilityId??""),purpose:String(a.value?.purpose??""),sectionIds:Array.isArray(a.value?.sectionIds)?a.value.sectionIds.map(String):[]})}if(!d.nextAfterId)break;c=d.nextAfterId}let c=a.figureRender?(0,M.rZ)(a.figureRender):void 0,d=new Map(b.map(a=>[a.unit.id,a.entityId])),e=c?(b,e,f)=>{let g=e.replace(/^图\s*\d+(?:[-—–]\d+)?\s*/u,""),h=f??d.get(b.id)??b.id,i=(0,J.Fu)(JSON.parse(JSON.stringify([h,g,b])));if(aj.has(i))return aj.get(i);try{let d=b.planChart?a.executionBaseline?c.renderer({...b,id:h,kind:"figure",caption:g,nodes:[],edges:[],planBaseline:a.executionBaseline,planView:b.planChart.view}):void 0:c.renderer({...b,id:h,kind:"figure",caption:g,nodes:b.nodes??[],edges:b.edges??[]});return aj.size>=512&&aj.delete(aj.keys().next().value),aj.set(i,d),d}catch{aj.size>=512&&aj.delete(aj.keys().next().value),aj.set(i,void 0);return}}:void 0;return{...(0,L.V)({...a,units:b,...e?{figureUrlFor:e}:{},includePlannedSections:!0}),unitCount:b.filter(b=>!a.scopeSectionIds?.length||b.sectionIds.some(b=>a.scopeSectionIds.includes(b))).length}}({store:aU,contract:a.contract,outputPlacements:(0,e.rL)(a.tenderResponsePlan),originalFormRenderer:(0,e.iP)(a.tenderResponsePlan),...f.size?{sectionPlans:f}:{},...aF?{scopeSectionIds:aF}:{},figureRender:aP,...a3&&al.current?{executionBaseline:al.current}:{}}),i=g.issues.map(a=>{let b="section-unwritten"===a.code&&"generating"!==c;return{level:b?"error":"warning",severity:b?"blocker":"warning",category:"structure",message:a.message,...a.sectionId?{source:a.sectionId}:{},...a.unitId?{suggestion:a.unitId}:{},owner:"system"}}),j=(0,X.ip)(a.documentId,{baseDir:aJ}).stages,k=[aU.actor(a$.authority.actorId),...aU.supervisedActors(a$.authority.actorId)].filter(a=>void 0!==a),l=aE.map(a=>{let b=(0,E.Pp)(aU,a);return{sectionId:a,blocked:aG.has(a),phase:b?.phase??"planned",boundaryKey:b?.boundaryKey??null,reason:b?.reason??null,lock:(0,y.l9)(aU,a)?.entity.version??null}}),m=[];for(let a;;){let b=aU.issuePage({...void 0===a?{}:{afterSequence:a},limit:200});if(m.push(...b.issues.map(a=>({id:a.id,state:a.state,updatedAt:a.updatedAt}))),void 0===b.nextAfterSequence)break;a=b.nextAfterSequence}let n={sectionStates:l,issues:m,actors:k.map(a=>[a.actorId,a.revision,a.checkpoint]),stages:j},o=(0,J.Fu)(JSON.parse(JSON.stringify([g.markdown,n,c]))),p=aU.latestEvent(),q=p?{workspaceId:aU.workspaceId,eventSequence:p.sequence,eventId:p.id}:void 0,r=Date.now(),s=aZ(),t={templateId:a.contract.id,templateName:a.title,title:a.title,requirement:a.requirement,...a.bidComposition?{bidComposition:a.bidComposition,exportSettings:(0,ai.b2)(a.bidComposition.formatRules,{anonymize:a.bidComposition.identityMarksForbidden})}:{},projectRoot:a.projectRoot,markdown:g.markdown,facts:Object.fromEntries(a.project.facts.map(a=>[a.key,a.value])),structuredFacts:a.project.facts,factsModel:a.project.factsModel,chapters:g.chapters.map(a=>({id:a.id,title:a.title,content:a.content,evidence:[],missingFacts:[]})),sources:Object.keys(a.project.sources).map(a=>({filePath:a,count:1})),missingItems:["generating"===c?"生成中:运行尚未收口,图件与交付核验待定稿":"运行已停止:保留当前生效正文与待处理状态",...l.filter(a=>a.blocked||"locked"!==a.phase).map(a=>`${a.sectionId}:${a.reason??(a.blocked?"阻塞,待处理具体问题":a.phase)}`),...g.issues.filter(a=>"section-unwritten"===a.code).map(a=>`${a.sectionId??""}:${a.message}`),...m.filter(a=>["open","investigating","awaiting-decision"].includes(a.state)).map(a=>`${a.id}:${a.state}`)],validation:{passed:!1,warnings:[],errors:[]},validationIssues:i,executionStages:j,...s?.length?{sectionProgress:s}:{},...d?{budgetPause:{enforcement:ad.enforcement,where:d.where,message:ay(d),violations:d.violations}}:{},exportGate:{passed:!1,blockingIssues:[],checklist:[{key:"run-finalized",label:"运行及交付核验完成",passed:!1}]},generatedAt:r},u=h.publish({id:a.documentId,taskId:a.runId,runId:a.runId,workflowVersion:ag.E.version,templateId:a.contract.id,templateName:a.title,title:a.title,requirement:a.requirement,projectRoot:a.projectRoot,projectId:a.project.snapshotId,markdown:g.markdown,wordCount:g.markdown.replace(/\s+/gu,"").length,status:c,draft:t,executionStages:j,assets:[],createdAt:h.createdAt,updatedAt:r},o,b,q);return u||a_("construction-progress-stale",{runId:a.runId,reason:"not-published",lastSuccess:h.state().lastSuccess??null,composedUnits:g.unitCount,markdownChars:g.markdown.length}),u};bb=aX,aQ=()=>{a9=!0},aR=()=>{a9&&(ba||(ba=!0,Promise.resolve().then(()=>{try{if(a9)try{aX()&&(a9=!1)}catch(a){a_("construction-progress-build-failed",{error:a instanceof Error?a.message:String(a),lastSuccess:h?.state().lastSuccess??null})}}finally{ba=!1}})))},bc=()=>{try{aX(!0,"paused")}catch(a){a_("construction-progress-stop-save-failed",{error:a instanceof Error?a.message:String(a),lastSuccess:h?.state().lastSuccess??null})}},a.signal?.addEventListener("abort",bc,{once:!0});let a0=()=>{let a=0;for(let b of aU.supervisedActors(a$.authority.actorId))a+=b.revision;return a+(aU.actor(a$.authority.actorId)?.revision??0)};for(;;){let e;if(az("chief-round")){b=ay(d);try{aX()}catch(a){a_("construction-run-progress-save-failed",{error:a instanceof Error?a.message:String(a)})}break}let g=a0();aw=!1,a7();let h=!1;try{e=await (0,m.p)({...a$,coordination:aV,diagnostics:aW,resumeCompleted:_})}catch(a){if(!(a instanceof q.a)&&!(0,s.U)(a))throw a;h=(0,s.U)(a),b=a.message,a_("construction-run-chief-blocked",{round:t+1,reason:a.message,...(0,s.U)(a)?{transportReceipt:a.receipt}:{}}),e=void 0}if(aR(),!e){let e=aL();if(a.planningContext||a.tenderResponsePlan){let a=a1(),c=ab(a,a2&&!!(a3&&al.current));if(aM=c.passed?void 0:"planning-gate-blocked(主控暂停分支:规划闸门未通过,写作事件不投递)",!c.passed){if(ap=!1,(ak+=1)>=am){b=`规划闸门连续失败 ${ak} 轮(运行保护上限 ${am}):`+c.issues.slice(0,6).map(a=>a.detail).join(";"),a_("construction-run-planning-gate-blocked",{round:t,issues:c.issues,guard:"gate-max-rounds"});break}a_("construction-run-planning-gate-deferred",{stage:"chief-stalled",issues:c.issues})}}if(await aN(),aR(),d){b=ay(d);try{aX()}catch(a){a_("construction-run-progress-save-failed",{error:a instanceof Error?a.message:String(a)})}break}aw=await aO();try{aX()}catch(a){a_("construction-run-progress-save-failed",{error:a instanceof Error?a.message:String(a)})}if(a2&&(al.current||a5().ready)&&(await a6(),f)){b=`执行基准编制失败:${f}`,a_("construction-run-execution-baseline-blocked",{reason:b});break}let g=aL();if(!h&&al.current&&g!==e){c="执行基准已由工作区工作包/原量分配编制完成。现在可以委派 purpose=writing 的职责;写作职责会按节拿到本节工作包/成员与基准投影,不要另算日期或数量。",b=void 0;continue}aM&&a_("construction-run-planning-gate-blocked",{round:t,reason:aM,guard:"chief-paused-no-business-change"});break}if(t+=1,a_("construction-run-chief-round",{round:t,result:e.result??null,status:e.checkpoint?.status??null}),e.checkpoint?.status==="blocked"){b="主控自报阻塞";break}let i=!!(a.planningContext||a.tenderResponsePlan),j=i?aa():[],k=aU.actorWait(a$.authority.actorId)?.state==="waiting"||aU.actor(a$.authority.actorId)?.checkpoint?.status==="completed";if(i&&!al.current&&(a7(),await aN(),aR(),d)){b=ay(d);try{aX()}catch(a){a_("construction-run-progress-save-failed",{error:a instanceof Error?a.message:String(a)})}break}let l=i?a1():{packages:[],coveredSectionIds:[],missingSectionIds:[],missingAllocations:[],overAllocated:[]};if(!al.current&&k&&i&&a5().ready&&(await a6(),f)){b=`执行基准编制失败:${f}`,a_("construction-run-execution-baseline-blocked",{reason:b});break}if(a2&&k)try{(al.current||a5().ready)&&await a6(),await a8()}catch(a){b=`执行基准编制失败:${a instanceof Error?a.message:String(a)}`,a_("construction-run-execution-baseline-blocked",{reason:b});break}if(i&&(j.length>0||k)){let a=ab(l,a2&&(!!k||!!(a3&&al.current)));if(a_("construction-run-planning-gate",{round:t,passed:a.passed,checks:a.checks,issues:a.issues}),!a.passed){if(ap=!1,aM="planning-gate-blocked(规划闸门未通过,写作事件不投递)",(ak+=1)>=am){b=`规划闸门连续失败 ${ak} 轮(运行保护上限 ${am}):`+a.issues.slice(0,6).map(a=>a.detail).join(";"),a_("construction-run-planning-gate-blocked",{round:t,issues:a.issues,guard:"gate-max-rounds"});break}let d=a.issues.map(a=>`${a.kind}:${a.sectionId??""}`).join("|")||"unknown";if(d===ac?ah+=1:(ac=d,ah=1),ah>=2){b=`规划闸门未通过:${a.issues.slice(0,6).map(a=>a.detail).join(";")}`,a_("construction-run-planning-gate-blocked",{round:t,issues:a.issues});break}c=`【规划闸门\xb7实际缺口】以下承接关系尚未成立(程序按实际角色定义核对,不是转述):