@zq-silk/yui 2.2.0 → 2.4.0

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 (206) hide show
  1. package/README.md +19 -3
  2. package/dist/artifacts/artifactCapability.js +39 -10
  3. package/dist/artifacts/imageMetadata.js +120 -0
  4. package/dist/artifacts/managedGit.js +7 -4
  5. package/dist/artifacts/taskArtifactRepository.js +6 -0
  6. package/dist/cli/commandCatalog.js +25 -11
  7. package/dist/cli/interactionPolicy.js +4 -0
  8. package/dist/cli/invocationAuthority.js +1 -1
  9. package/dist/commands/executionAuditCommands.js +5 -0
  10. package/dist/commands/globalRoleCommands.js +41 -3
  11. package/dist/commands/projectCommands.js +89 -94
  12. package/dist/commands/roleSkillValidation.js +4 -8
  13. package/dist/commands/taskCommands.js +30 -9
  14. package/dist/commands/taskIntegrationCommands.js +5 -16
  15. package/dist/commands/taskUsageCommand.js +38 -0
  16. package/dist/context/roleSessionContext.js +18 -2
  17. package/dist/context/runContextPack.js +5 -1
  18. package/dist/context/sessionBootstrapManifest.js +10 -1
  19. package/dist/context/skillCatalog.js +108 -0
  20. package/dist/context/skillPackage.js +161 -0
  21. package/dist/context/taskContext.js +3 -2
  22. package/dist/context/taskSearch.js +127 -0
  23. package/dist/controlPlaneCli.js +51 -39
  24. package/dist/controller/clientRuntime.js +3 -2
  25. package/dist/controller/fileSchedulerStoreAdapter.js +32 -6
  26. package/dist/controller/jobControl.js +2 -0
  27. package/dist/controller/nativeHostInput.js +37 -0
  28. package/dist/controller/runtime.js +93 -2
  29. package/dist/controller/runtimeEventInbox.js +2 -2
  30. package/dist/controller/runtimeEventProcessor.js +3 -3
  31. package/dist/doctor/doctor.js +10 -0
  32. package/dist/execution/reviewMainRun.js +1 -0
  33. package/dist/execution/workItemMainRun.js +1 -0
  34. package/dist/executor/codexConfigConflict.js +6 -4
  35. package/dist/executor/effectiveLaunch.js +24 -1
  36. package/dist/executor/fileRoleLaunchPlanner.js +13 -5
  37. package/dist/integration/gitIntegrationService.js +15 -79
  38. package/dist/integration/integrationSourceApplication.js +4 -2
  39. package/dist/job/httpPreview.js +61 -0
  40. package/dist/job/jobCleanupInspection.js +67 -0
  41. package/dist/job/jobRunner.js +12 -2
  42. package/dist/kernel/builtinCapabilities.js +3 -1
  43. package/dist/message/message.js +15 -1
  44. package/dist/output/rolePresentation.js +4 -1
  45. package/dist/repository/executionLaneGitSnapshot.js +2 -1
  46. package/dist/repository/gitCompatibility.js +62 -0
  47. package/dist/repository/gitWorkspace.js +86 -80
  48. package/dist/repository/gitWorktreeInventory.js +121 -0
  49. package/dist/repository/project.js +74 -25
  50. package/dist/repository/taskWorkspaceCoordinator.js +72 -145
  51. package/dist/repository/taskWorkspacePreparer.js +39 -43
  52. package/dist/repository/workspaceCleanupInspection.js +88 -7
  53. package/dist/resources/resourceDiscovery.js +2 -2
  54. package/dist/resources/resourceGc.js +7 -4
  55. package/dist/resources/resourceRegistrar.js +18 -11
  56. package/dist/runtime/agentEndpoint.js +8 -0
  57. package/dist/runtime/agentHost.js +170 -3
  58. package/dist/runtime/codexAppServerRuntime.js +1 -1
  59. package/dist/runtime/codexNativeAccess.js +175 -0
  60. package/dist/runtime/controlledCodexTui.js +116 -0
  61. package/dist/runtime/integrationRuntimeIsolation.js +21 -0
  62. package/dist/runtime/publicReply.js +23 -0
  63. package/dist/runtime/runtimeObservation.js +48 -0
  64. package/dist/runtime/structuredProviderHost.js +16 -7
  65. package/dist/runtime/taskCostMetrics.js +133 -0
  66. package/dist/runtime/taskRuntimeIsolation.js +91 -21
  67. package/dist/runtime/taskUsageMetrics.js +11 -2
  68. package/dist/runtime/taskUsageQuery.js +38 -0
  69. package/dist/scheduler/taskExecutionProjection.js +2 -0
  70. package/dist/scheduler/taskObservabilityProjection.js +9 -1
  71. package/dist/storage/homeLayout.js +13 -0
  72. package/dist/storage/sqliteSchema.js +44 -0
  73. package/dist/storage/sqliteStore.js +53 -0
  74. package/dist/storage/storageVersions.js +1 -1
  75. package/dist/storage/storeRpc.js +2 -0
  76. package/dist/storage/taskSearch.js +35 -0
  77. package/dist/storage/upgrade/projectKnowledgeMigration.js +52 -0
  78. package/dist/task/archiveDiagnostics.js +26 -8
  79. package/dist/task/archivePreflight.js +26 -9
  80. package/dist/task/leaderArchive.js +9 -15
  81. package/dist/task/ordinaryArchive.js +42 -0
  82. package/dist/tmux/tmuxManager.js +8 -8
  83. package/dist/web/assets/assetManifest.js +11 -51
  84. package/dist/web/assets/client/app/catalog.js +215 -0
  85. package/dist/web/assets/client/app/main.js +148 -0
  86. package/dist/web/assets/client/app/selection.js +139 -0
  87. package/dist/web/assets/client/app/settings.js +326 -0
  88. package/dist/web/assets/client/app/taskView.js +280 -0
  89. package/dist/web/assets/client/domain/context.js +96 -0
  90. package/dist/web/assets/client/domain/records.js +126 -0
  91. package/dist/web/assets/client/domain/runs.js +119 -0
  92. package/dist/web/assets/client/domain/taskForms.js +197 -0
  93. package/dist/web/assets/client/domain/vocab.js +69 -0
  94. package/dist/web/assets/client/domain/work.js +116 -0
  95. package/dist/web/assets/client/i18n/en.js +900 -0
  96. package/dist/web/assets/client/i18n/zh-CN.js +898 -0
  97. package/dist/web/assets/client/index.js +114 -0
  98. package/dist/web/assets/client/layout/resizer.js +37 -0
  99. package/dist/web/assets/client/layout/router.js +35 -0
  100. package/dist/web/assets/client/layout/shortcuts.js +45 -0
  101. package/dist/web/assets/client/layout/sizing.js +95 -0
  102. package/dist/web/assets/client/layout/workspace.js +247 -0
  103. package/dist/web/assets/client/{api.js → lib/api.js} +28 -4
  104. package/dist/web/assets/client/{dom.js → lib/dom.js} +24 -12
  105. package/dist/web/assets/client/{format.js → lib/format.js} +7 -0
  106. package/dist/web/assets/client/lib/i18n.js +54 -0
  107. package/dist/web/assets/client/lib/markdown.js +167 -0
  108. package/dist/web/assets/client/lib/prefs.js +28 -0
  109. package/dist/web/assets/client/lib/theme.js +68 -0
  110. package/dist/web/assets/client/ui/containers.js +101 -0
  111. package/dist/web/assets/client/ui/controls.js +51 -0
  112. package/dist/web/assets/client/ui/forms.js +48 -0
  113. package/dist/web/assets/client/ui/metrics.js +137 -0
  114. package/dist/web/assets/client/ui/primitives.js +92 -0
  115. package/dist/web/assets/client/ui/text.js +33 -0
  116. package/dist/web/assets/client/ui/toast.js +12 -0
  117. package/dist/web/assets/client/views/bodySearch.js +172 -0
  118. package/dist/web/assets/client/views/createTask.js +85 -0
  119. package/dist/web/assets/client/views/dock/conversation.js +612 -0
  120. package/dist/web/assets/client/views/dock/discussion.js +173 -0
  121. package/dist/web/assets/client/views/dock/preview.js +129 -0
  122. package/dist/web/assets/client/views/dock/terminal.js +199 -0
  123. package/dist/web/assets/client/views/globalInput.js +67 -0
  124. package/dist/web/assets/client/{overview.js → views/overview.js} +62 -56
  125. package/dist/web/assets/client/{sidebar.js → views/sidebar.js} +56 -62
  126. package/dist/web/assets/client/views/skills.js +152 -0
  127. package/dist/web/assets/client/views/task/actions.js +36 -0
  128. package/dist/web/assets/client/views/task/delivery.js +185 -0
  129. package/dist/web/assets/client/views/task/deliveryResults.js +159 -0
  130. package/dist/web/assets/client/views/task/files.js +272 -0
  131. package/dist/web/assets/client/views/task/observation.js +153 -0
  132. package/dist/web/assets/client/views/task/overview.js +161 -0
  133. package/dist/web/assets/client/views/task/page.js +131 -0
  134. package/dist/web/assets/client/views/task/records.js +163 -0
  135. package/dist/web/assets/client/views/task/runtime.js +130 -0
  136. package/dist/web/assets/client/views/task/timeline.js +190 -0
  137. package/dist/web/assets/shared/geometry.js +19 -0
  138. package/dist/web/assets/{icons.js → shared/icons.js} +4 -0
  139. package/dist/web/assets/shared/taskTabs.js +8 -0
  140. package/dist/web/assets/shared/themes.js +93 -0
  141. package/dist/web/assets/shell/dialogs.js +63 -0
  142. package/dist/web/assets/shell/dock.js +40 -0
  143. package/dist/web/assets/shell/index.js +40 -0
  144. package/dist/web/assets/shell/settings.js +34 -0
  145. package/dist/web/assets/shell/sidebar.js +45 -0
  146. package/dist/web/assets/styles/index.js +41 -0
  147. package/dist/web/assets/styles/{responsive.js → layout/responsive.js} +15 -13
  148. package/dist/web/assets/styles/{layout.js → layout/workspace.js} +17 -24
  149. package/dist/web/assets/styles/markdown.js +22 -3
  150. package/dist/web/assets/styles/tokens.js +10 -63
  151. package/dist/web/assets/styles/ui/controls.js +76 -0
  152. package/dist/web/assets/styles/ui/forms.js +46 -0
  153. package/dist/web/assets/styles/ui/surfaces.js +122 -0
  154. package/dist/web/assets/styles/views/delivery.js +29 -0
  155. package/dist/web/assets/styles/views/dock.js +71 -0
  156. package/dist/web/assets/styles/views/page.js +32 -0
  157. package/dist/web/assets/styles/views/records.js +70 -0
  158. package/dist/web/assets/styles/views/settings.js +26 -0
  159. package/dist/web/assets/styles/views/sidebar.js +74 -0
  160. package/dist/web/assets/styles/views/task.js +80 -0
  161. package/dist/web/assets/styles/views/terminal.js +38 -0
  162. package/dist/web/taskPreviews.js +205 -0
  163. package/dist/web/tmuxWebTerminal.js +16 -9
  164. package/dist/web/webConversation.js +373 -0
  165. package/dist/web/webMaterials.js +155 -0
  166. package/dist/web/webServer.js +306 -18
  167. package/dist/web/webSettings.js +331 -0
  168. package/dist/web/webSkills.js +86 -0
  169. package/dist/web/webSnapshot.js +40 -8
  170. package/dist/web/webTaskSurface.js +114 -9
  171. package/dist/workspace/gitChangeSetCapture.js +3 -1
  172. package/docs/managed-turn-and-session-runtime.md +9 -0
  173. package/docs/managed-turn-and-session-runtime.zh-CN.md +7 -0
  174. package/docs/observability/README.md +13 -3
  175. package/docs/observability/README.zh-CN.md +10 -3
  176. package/docs/release-workflow.md +53 -0
  177. package/docs/release-workflow.zh-CN.md +40 -0
  178. package/docs/storage-baseline.md +38 -1
  179. package/docs/storage-baseline.zh-CN.md +22 -0
  180. package/docs/task-delivery.md +36 -8
  181. package/docs/task-delivery.zh-CN.md +24 -7
  182. package/docs/task-discovery.md +28 -0
  183. package/docs/testing/verification-levels.md +2 -2
  184. package/i18n/README.zh-CN.md +4 -3
  185. package/package.json +1 -1
  186. package/skills/yui-leader/references/execution.md +2 -1
  187. package/skills/yui-leader/references/integration.md +20 -0
  188. package/skills/yui-operator/SKILL.md +4 -0
  189. package/skills/yui-reviewer/SKILL.md +3 -0
  190. package/skills/yui-runtime/SKILL.md +4 -0
  191. package/skills/yui-runtime/references/publication.md +20 -4
  192. package/skills/yui-worker/SKILL.md +3 -0
  193. package/dist/web/assets/client/app.js +0 -804
  194. package/dist/web/assets/client/components.js +0 -418
  195. package/dist/web/assets/client/detail.js +0 -333
  196. package/dist/web/assets/client/dock.js +0 -225
  197. package/dist/web/assets/client/evidence.js +0 -172
  198. package/dist/web/assets/client/forms.js +0 -230
  199. package/dist/web/assets/client/i18n.js +0 -1161
  200. package/dist/web/assets/client/markdown.js +0 -114
  201. package/dist/web/assets/client/records.js +0 -63
  202. package/dist/web/assets/client/sections.js +0 -313
  203. package/dist/web/assets/client/theme.js +0 -71
  204. package/dist/web/assets/shell.js +0 -161
  205. package/dist/web/assets/styles/components.js +0 -169
  206. package/dist/web/assets/styles/views.js +0 -292
@@ -25,6 +25,34 @@ and semantic progress.
25
25
 
26
26
  ## Query and page contract
27
27
 
28
+ ### Project knowledge
29
+
30
+ Current Task and Run Context select active knowledge only from the bound
31
+ projects. `scope` and `expiresWhen` are free text: the Agent reads the original
32
+ and decides whether it applies to the actual task. Engineering does not infer
33
+ semantic expiry or execute knowledge content. Explicit Operator retirement
34
+ removes an entry from future current Context; frozen Run evidence is unchanged.
35
+ Context pointers expose applicability and version, with complete source and
36
+ prior versions available through the exact detail read.
37
+
38
+ `project knowledge list` and `project knowledge proposals list` return compact
39
+ `items/total/complete/nextCursor` pages (`--limit`, `--cursor`); `--all` includes
40
+ retired knowledge or decided proposals respectively. `show` returns the exact
41
+ knowledge/proposal, or `contentPage` for a long record: continue with its cursor
42
+ and concatenate `text` in offset order before parsing. Mutation receipts contain
43
+ identities, not the entire Project. Web’s Task Records → Project knowledge uses
44
+ the same paged discovery and exact source reader.
45
+
46
+ Proposal identity includes project, source Task/Decision/Milestone/commit,
47
+ title, body, scope, expiry condition and superseded knowledge ID. Only outer
48
+ whitespace is trimmed; internal whitespace, case and Unicode remain significant.
49
+ An omitted condition differs from a supplied one; omit a condition in a
50
+ replacement proposal to clear it upon `accept --update`. A repeated identical
51
+ proposal reuses its existing pending/accepted identity. Changed applicability
52
+ still requires the existing Operator approval, including explicit `--update`
53
+ for a same-title replacement. Each effective update or retirement increments
54
+ the formal version and preserves its exact prior content and provenance.
55
+
28
56
  ```sh
29
57
  yui task list --project project-1 --status active --limit 20 --json
30
58
  yui task list --attention openInputs --json
@@ -50,12 +50,12 @@ is required.
50
50
  ## Permanent core smoke
51
51
 
52
52
  `npm test` and `npm run test:core` build the checkout and run the maintained suite.
53
- The stable suite owns current storage 1.2 and its declared 1.0/1.1 minor
53
+ The stable suite owns current storage 1.6 and its declared 1.0/1.1/1.2/1.3/1.4/1.5 minor
54
54
  transition. It contains no undeclared historical format compatibility path.
55
55
 
56
56
  Current coverage includes:
57
57
 
58
- 1. Fresh storage 1.2, exact schema/record validation, no initialization over
58
+ 1. Fresh storage 1.6, exact schema/record validation, no initialization over
59
59
  unknown data, and rejection of old integer formats without mutation.
60
60
  2. Exact-version staging, mismatched-target refusal, same-major contiguous
61
61
  minor preflight, explicit maintenance-owner identity across handover, and
@@ -40,7 +40,7 @@ Yui 是面向编程 Agent 的本地控制面。你只需用自然语言把目标
40
40
  npm 包包含 Linux x64、Mac Intel 和 Apple Silicon 的 Yui 预编译程序。
41
41
  同一份包在三个平台验证后发布,运行时只选择对应平台的程序。
42
42
 
43
- 需要 Linux x64 / glibc 或 macOS(x64 或 Apple Silicon)、Git、tmux,以及
43
+ 需要 Linux x64 / glibc 或 macOS(x64 或 Apple Silicon)、Git 2.29.0 或更新版本、tmux,以及
44
44
  Node.js `^20.17.0`、`^22.9.0`、`^24.0.0` 或 `^26.0.0`。macOS 上可用
45
45
  `brew install tmux` 安装 tmux。最简单的方式是先安装 Codex CLI 或 Claude
46
46
  Code CLI,并确保它已经可以使用你自己的账号正常工作。Yui 负责协调 Agent,
@@ -137,8 +137,9 @@ Agent 可以重新读取任务上下文,继续兼容的 Session,或在必要
137
137
  想直观看进展,可以在另一个终端运行 `yui web`。本地 Web 展示同一份任务与
138
138
  待回答问题,也允许发送消息、回答问题,以及显式 queue、steer 或 interrupt Task 输入。
139
139
  这些经认证的 Task 控制复用 CLI 的相同操作,不是另一套需要同步的任务系统。
140
- 详情优先展示用户待办、原生会话活动、任务进展和关键结论;固定文件成果与交付证据
141
- 按需展开。详见[用户关注与进展](../docs/observability/README.zh-CN.md#web-用户关注与进展)。
140
+ 详情分为四个页签:概览(用户待办、任务进展和关键决定)、交付(工作项、评审、
141
+ 集成与远程交付,按需读取)、运行(Role、原生会话活动、进行中的执行和用量)、
142
+ 记录(决定、里程碑、执行与问题的时间线)。详见[用户关注与进展](../docs/observability/README.zh-CN.md#web-用户关注与进展)。
142
143
  详见 [Web 权限](../docs/architecture/capabilities-and-resources.zh-CN.md#cli-与-web)
143
144
  和[输入时机](../docs/managed-turn-and-session-runtime.zh-CN.md#输入时机queuesteer-与-interrupt)。
144
145
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zq-silk/yui",
3
- "version": "2.2.0",
3
+ "version": "2.4.0",
4
4
  "description": "Local control plane for long-running native agent CLI sessions backed by tmux.",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -378,7 +378,8 @@ After a ReviewRound is terminal, the Leader or authorized Operator owns
378
378
  `task work review cleanup <task>/<round>`. Preserve dirty diagnostic evidence
379
379
  and resolve it explicitly; do not ask a Reviewer to clean its own runtime
380
380
  after its final report. Cleanup can remain advisory at completion. Ordinary
381
- archive requires settled resources; explicitly authorized force archive preserves
381
+ archive requires settled business and stopped execution, not complete physical
382
+ release; safe resource retention is reported separately. Explicitly authorized force archive preserves
382
383
  unresolved resources and diagnostics under the shared
383
384
  [archive contract](../../yui-runtime/references/publication.md). The Leader
384
385
  does not gain independent archive authorization. An original explicit user
@@ -33,6 +33,10 @@ the files there, then run `integration continue`. No preceding
33
33
  `resolve --option manual-resolution` is required for an ordinary conflict.
34
34
  Core completes the matching Git operation, records the candidate, runs or
35
35
  recovers its exact checks and advances the original target by CAS.
36
+ Keep that same attempt for ordinary resolution and record its rationale in
37
+ the existing resolution/report evidence. A detached HEAD during a matching
38
+ rebase is normal. Start another attempt only for a real input/baseline change
39
+ or evidenced inability to resume safely, explaining that decision.
36
40
 
37
41
  Do not close the Task execution gate, stop unrelated work, create an
38
42
  InputRequest or end in passive waiting merely because Git conflicted.
@@ -86,6 +90,22 @@ Inspect all Jobs owned by the exact attempt, including an unbound Job;
86
90
  cancel and establish quiescence by exact identity before reusing or cleaning
87
91
  resources. Successful Job evidence and Task acceptance remain separate.
88
92
 
93
+ After terminal settlement, `task integration cleanup <task>/<integration>`
94
+ can release clean exact-owner temporary resources without waiting for Task
95
+ archive. Save necessary reports in Task artifacts/results first. Cleanup
96
+ preserves the attempt, fixed checks/logs and target receipts. Failure or abort
97
+ never authorizes deleting uncommitted resolutions; preserve dirty material
98
+ and resolve its disposition explicitly. Acknowledging an unknown Job is not
99
+ physical stop evidence: cleanup also rechecks the recorded runner generation
100
+ and physical workspace/log/runtime references. When those are proven absent,
101
+ the acknowledged unknown result remains historical evidence, not a permanent
102
+ physical-cleanup blocker.
103
+ The same physical checks apply to every executed terminal Job, including a
104
+ successful one: surviving child processes are not stopped by a result receipt.
105
+ Integration resource preflight includes runtime ownership and renamed cleanup
106
+ claims; retain unverified material for diagnosis without inferring new deletion
107
+ authority from Task archive admission.
108
+
89
109
  Direct Task-main delivery is an alternative only when current delivery
90
110
  authority, ownership and the Task contract already permit it, with no other
91
111
  writer or active check using that workspace. Do not edit managed refs or the
@@ -268,6 +268,10 @@ After an authorized PR/MR operation or before archive, read
268
268
  [publication and archive boundaries](../yui-runtime/references/publication.md).
269
269
  Record confirmed delivery facts promptly. Completion does not authorize
270
270
  archive, and ordinary archive approval does not authorize `--force`.
271
+ Distinguish settled business and stopped execution from safely retained
272
+ physical resources. Ordinary archive may retain the latter; follow the shared
273
+ archive diagnostics and exact cleanup actions instead of requesting force
274
+ merely for old terminal Integration worktrees or preserved diagnostics.
271
275
  When the user explicitly authorizes force archive for an eligible terminal
272
276
  Task, archive even if delivery proof or cleanup is incomplete. Report the
273
277
  warnings and retained resources without claiming merge verification or physical
@@ -104,6 +104,9 @@ judgment; it does not accept the WorkItem or complete the Task. Preserve the
104
104
  ReviewRound record and workspace, and report any diagnostic changes. After
105
105
  the Round is terminal, an authorized Leader or Operator owns cleanup through
106
106
  Yui; do not attempt to terminate or delete your own managed runtime/workspace.
107
+ Keep scratch in the supplied runtime `TMPDIR` and put required diagnostic
108
+ evidence in durable results/artifacts; resource release must not erase the
109
+ frozen Review or its original report.
107
110
 
108
111
  A helpful default result layout is Conclusion, Material findings, Verification,
109
112
  Uncertainty, and Recommended next action. Markdown or JSON are both acceptable.
@@ -26,6 +26,10 @@ resource boundaries still apply; a planning Session does not gain delivery
26
26
  authority merely because the Task becomes active.
27
27
  Use the runtime-provided `TMPDIR` for temporary context or diagnostic files,
28
28
  not fixed shared `/tmp` names or the logical multi-Project workspace container.
29
+ Save durable reports in Task artifacts/results before releasing their temporary
30
+ workspace. Integration history and check evidence outlive its worktree; a
31
+ terminal attempt is not an unresolved business input merely because resources
32
+ remain. Cleanup inspects exact ownership and preserves unknown or dirty data.
29
33
 
30
34
  Ordinary commands use `yui` from the intended launch environment's PATH and
31
35
  `YUI_HOME`. Session/native identity, Task/Assignment/workspace authority and
@@ -94,6 +94,14 @@ the exact Task, checks archive eligibility, then uses `--integrated` for verifie
94
94
  merged delivery or `--abandon` for deliberate non-delivery. General archive
95
95
  approval never implies `--force` authority. Preserve the Task record.
96
96
 
97
+ Ordinary archive requires settled business, exact delivery (or authorized
98
+ abandonment), and proven stopped execution. It commits logical archive before
99
+ one foreground resource cleanup. Safe physical retention—dirty diagnostics,
100
+ missing-path recovery gaps, or remaining Git registrations—is not a reason to
101
+ force archive or rewrite old Integration outcomes. Terminal failed/superseded
102
+ Integration history stays readable; an active/conflicted attempt or unknown
103
+ execution still requires settlement.
104
+
97
105
  With explicit force authorization for a completed or cancelled (retired) Task, use
98
106
  `yui task archive <task> (--integrated|--abandon) --force`. Force commits the
99
107
  archive and stops new Task scheduling before attempting safe foreground cleanup.
@@ -108,10 +116,18 @@ cannot be safely released stay owned and traceable. Late runtime events remain
108
116
  source evidence, not authority to resume or settle unknown input.
109
117
 
110
118
  Read `task show <task> --json` for `data.archive.warnings`,
111
- `data.archive.retainedResources` and `data.archive.cleanupEvents`;
112
- `task context` also retains the original records/events. A successful archive
119
+ `data.archive.retainedResources` and `data.archive.cleanupEvents`. These bounded
120
+ views include counts and inspection actions; read the existing paginated
121
+ `task event list` and Task context resource inventory for omitted evidence.
122
+ A successful archive
113
123
  exit means `archived=true`, not that cleanup fully succeeded. `cleanupFinished`
114
124
  means the foreground pass finished, not that every resource was removed.
125
+ `allResourcesReleased` separately requires release evidence and no retained
126
+ resources. Historical warnings do not disappear after a successful later pass.
115
127
  If cleanup was interrupted, the Task stays archived. Repeating archive only
116
- reports current facts; use explicit, exact-owner resource operations after
117
- inspection instead of re-running broad cleanup. No background retry is implied.
128
+ reports current facts. After inspecting the exact retained owner/reason, use
129
+ `task archive-cleanup <task>` for one new bounded pass, or the reported
130
+ WorkItem/Review/Integration cleanup entry. Every pass rechecks current identity,
131
+ runtime and Git registration facts; it is not an atomic batch and does not
132
+ discard unknown material. Registry-only remnants require the existing resource
133
+ inspection route, not a global `worktree prune`. No background retry is implied.
@@ -109,3 +109,6 @@ reject it for missing headings or invalid JSON.
109
109
 
110
110
  Leave managed workspaces intact after handoff. Their owner lifecycle and
111
111
  cleanup belong to the Leader and Yui Core.
112
+ Keep disposable tools/cache in the supplied runtime `TMPDIR`, not the logical
113
+ multi-Project container. Preserve required handoff evidence in durable
114
+ results/artifacts before its temporary workspace is released.