@zq-silk/yui 2.20.0 → 2.22.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 (142) hide show
  1. package/README.md +5 -0
  2. package/dist/cli/commandCatalog.js +88 -28
  3. package/dist/cli/dynamicCompletion.js +4 -1
  4. package/dist/cli/helpRenderer.js +12 -1
  5. package/dist/cli/interactionPolicy.js +2 -0
  6. package/dist/cli/invocationAuthority.js +2 -6
  7. package/dist/cli/invocationRouter.js +5 -5
  8. package/dist/cli/managedDiagnostics.js +24 -16
  9. package/dist/cli/roleWizard.js +5 -1
  10. package/dist/commands/durableJobCommands.js +2 -3
  11. package/dist/commands/globalRoleCommands.js +33 -8
  12. package/dist/commands/inboxCommands.js +39 -12
  13. package/dist/commands/operatorCommands.js +2 -5
  14. package/dist/commands/releaseCommands.js +16 -2
  15. package/dist/commands/roleConfiguration.js +25 -2
  16. package/dist/commands/sessionCommands.js +5 -2
  17. package/dist/commands/taskCommands.js +225 -99
  18. package/dist/commands/taskContextCommand.js +26 -4
  19. package/dist/commands/taskFactCommands.js +20 -7
  20. package/dist/commands/taskIntegrationCommands.js +3 -3
  21. package/dist/commands/taskRoleRuntimeStatus.js +15 -5
  22. package/dist/commands/taskUsageCommand.js +2 -6
  23. package/dist/commands/textInput.js +2 -2
  24. package/dist/context/contextFamilies.js +10 -0
  25. package/dist/context/currentSkills.js +6 -4
  26. package/dist/context/runContextPack.js +44 -5
  27. package/dist/context/runInputContract.js +1 -1
  28. package/dist/context/sessionBootstrapManifest.js +7 -5
  29. package/dist/context/sessionSkillNotice.js +53 -0
  30. package/dist/context/taskCatalog.js +4 -13
  31. package/dist/context/taskContext.js +135 -103
  32. package/dist/context/taskSearch.js +3 -7
  33. package/dist/controlPlaneCli.js +23 -25
  34. package/dist/controller/agentRuntimeObserver.js +57 -12
  35. package/dist/controller/clientRuntime.js +37 -8
  36. package/dist/controller/controller.js +3 -1
  37. package/dist/controller/diagnosticJournal.js +10 -2
  38. package/dist/controller/fileSchedulerStoreAdapter.js +72 -24
  39. package/dist/controller/jobClient.js +2 -2
  40. package/dist/controller/jobControl.js +2 -2
  41. package/dist/controller/jobDefinitionControl.js +5 -1
  42. package/dist/controller/messageHealth.js +4 -3
  43. package/dist/controller/providerRetryAdmission.js +15 -1
  44. package/dist/controller/providerRetryDelivery.js +18 -2
  45. package/dist/controller/runtime.js +15 -5
  46. package/dist/controller/runtimeEventInbox.js +107 -13
  47. package/dist/controller/runtimeEventProcessor.js +3 -3
  48. package/dist/controller/taskRunRecovery.js +153 -0
  49. package/dist/core/controllerClient.js +16 -2
  50. package/dist/core/controllerServer.js +14 -5
  51. package/dist/core/controllerTelemetry.js +51 -5
  52. package/dist/errors/cliFailure.js +14 -5
  53. package/dist/executor/agentAdapter.js +32 -4
  54. package/dist/executor/agentConfigurationFields.js +2 -0
  55. package/dist/executor/taskAgentCapabilities.js +2 -2
  56. package/dist/integration/gitIntegrationService.js +3 -2
  57. package/dist/integration/integrationSourceApplication.js +12 -1
  58. package/dist/interaction/notificationPresentation.js +11 -16
  59. package/dist/interaction/operatorPresentation.js +1 -1
  60. package/dist/message/messageContinuation.js +3 -1
  61. package/dist/output/boundedRead.js +36 -7
  62. package/dist/output/rolePresentation.js +3 -1
  63. package/dist/runtime/agentHost.js +12 -3
  64. package/dist/runtime/codexAppServerRuntime.js +110 -24
  65. package/dist/runtime/codexInteractiveHost.js +46 -0
  66. package/dist/runtime/providerRetry.js +5 -2
  67. package/dist/runtime/providerRuntimeIdentity.js +1 -1
  68. package/dist/runtime/structuredProviderHost.js +32 -34
  69. package/dist/scheduler/wakeupQueue.js +10 -4
  70. package/dist/storage/sqliteSchema.js +9 -0
  71. package/dist/storage/storageVersions.js +1 -1
  72. package/dist/task/taskAuthority.js +7 -3
  73. package/dist/tmux/tmuxManager.js +4 -2
  74. package/dist/web/webSettings.js +2 -0
  75. package/docs/authorization.md +18 -3
  76. package/docs/cli-information-contract.md +245 -6
  77. package/docs/cli-information-contract.zh-CN.md +107 -5
  78. package/docs/managed-turn-and-session-runtime.md +82 -21
  79. package/docs/managed-turn-and-session-runtime.zh-CN.md +56 -13
  80. package/docs/provider-retry.md +11 -0
  81. package/docs/release-workflow.md +62 -0
  82. package/docs/release-workflow.zh-CN.md +46 -0
  83. package/docs/roles-and-configuration.md +28 -0
  84. package/docs/roles-and-configuration.zh-CN.md +21 -0
  85. package/docs/storage-baseline.md +4 -1
  86. package/docs/storage-baseline.zh-CN.md +1 -1
  87. package/docs/task-delivery.md +7 -0
  88. package/docs/task-delivery.zh-CN.md +5 -0
  89. package/docs/task-discovery.md +5 -5
  90. package/docs/task-discovery.zh-CN.md +4 -4
  91. package/docs/testing/review-evaluation.md +7 -7
  92. package/docs/testing/review-evaluation.zh-CN.md +7 -7
  93. package/docs/testing/verification-levels.md +45 -2
  94. package/docs/testing/verification-levels.zh-CN.md +21 -2
  95. package/i18n/README.zh-CN.md +6 -0
  96. package/package.json +1 -1
  97. package/skills/yui-leader/SKILL.md +98 -189
  98. package/skills/yui-leader/VERSION +1 -1
  99. package/skills/yui-leader/references/artifacts.md +41 -0
  100. package/skills/yui-leader/references/assignment-execution.md +140 -0
  101. package/skills/yui-leader/references/completion.md +79 -0
  102. package/skills/yui-leader/references/delivery-scope.md +26 -0
  103. package/skills/yui-leader/references/execution.md +16 -487
  104. package/skills/yui-leader/references/implementation.md +81 -0
  105. package/skills/yui-leader/references/planning.md +7 -45
  106. package/skills/yui-leader/references/review.md +90 -0
  107. package/skills/yui-leader/references/task-progress.md +23 -0
  108. package/skills/yui-leader/references/work-allocation.md +118 -0
  109. package/skills/yui-operator/SKILL.md +77 -331
  110. package/skills/yui-operator/VERSION +1 -1
  111. package/skills/yui-operator/references/body-transport.md +62 -0
  112. package/skills/yui-operator/references/configuration.md +47 -0
  113. package/skills/yui-operator/references/lifecycle.md +41 -0
  114. package/skills/yui-operator/references/progress.md +39 -0
  115. package/skills/yui-operator/references/routing.md +57 -0
  116. package/skills/yui-operator/references/submission.md +56 -0
  117. package/skills/yui-operator/references/task-delivery.md +5 -2
  118. package/skills/yui-operator/references/web-lifecycle.md +19 -0
  119. package/skills/yui-operator/scripts/verify-submission.mjs +37 -0
  120. package/skills/yui-reviewer/SKILL.md +4 -2
  121. package/skills/yui-reviewer/VERSION +1 -1
  122. package/skills/yui-runtime/SKILL.md +177 -505
  123. package/skills/yui-runtime/VERSION +1 -1
  124. package/skills/yui-runtime/references/archive.md +51 -0
  125. package/skills/yui-runtime/references/command-discovery.md +41 -0
  126. package/skills/yui-runtime/references/completed-followup.md +65 -0
  127. package/skills/yui-runtime/references/context-ordering.md +3 -34
  128. package/skills/yui-runtime/references/context-reads.md +61 -0
  129. package/skills/yui-runtime/references/dispatched-run.md +61 -0
  130. package/skills/yui-runtime/references/execution-failure.md +105 -0
  131. package/skills/yui-runtime/references/global-context.md +18 -0
  132. package/skills/yui-runtime/references/global-input-controls.md +44 -0
  133. package/skills/yui-runtime/references/host-custody.md +30 -0
  134. package/skills/yui-runtime/references/inbox-recovery.md +77 -0
  135. package/skills/yui-runtime/references/incremental-context.md +40 -0
  136. package/skills/yui-runtime/references/publication.md +4 -104
  137. package/skills/yui-runtime/references/recovery.md +32 -192
  138. package/skills/yui-runtime/references/session-identity.md +18 -0
  139. package/skills/yui-runtime/references/session-replacement.md +45 -0
  140. package/skills/yui-runtime/references/uncertain-execution.md +29 -0
  141. package/skills/yui-worker/SKILL.md +7 -4
  142. package/skills/yui-worker/VERSION +1 -1
@@ -1,487 +1,16 @@
1
- # Active execution
2
-
3
- Read this after the [Leader stage entry](../SKILL.md) selects authorized
4
- delivery. These implementation, dispatch, review and acceptance instructions
5
- are not requirements for ending a planning discussion or answering a query.
6
-
7
- ## Choose the simplest coherent result
8
-
9
- Start from the current Task Contract and trace the existing implementation,
10
- ownership and supported operating path before choosing a change. Establish
11
- whether a failure is reachable with the user's actual inputs and configuration;
12
- do not make a test fixture's accidental differences into new product policy.
13
-
14
- Choose the lowest total implementation, verification, coordination and
15
- maintenance cost that satisfies the contract. Reuse a coherent responsibility;
16
- redesign a misplaced boundary when that lowers the complete cost. Add a
17
- mechanism only for a demonstrated requirement or hard boundary that existing
18
- primitives cannot satisfy. Derived views must not become competing truth.
19
-
20
- Make routine legal choices yourself. Do not ask the user to choose among
21
- implementation patterns, scheduling options, review routing, or recoverable
22
- runtime actions. Create an InputRequest only for a real product choice, new
23
- authority, irreversible external effect, or unavailable external fact.
24
-
25
- Task Messages and the Brief are durable records, not delivery receipts to the
26
- Operator. For a genuinely missing user choice, resource, credential or scope,
27
- use `task input request`; the Controller notifies the Operator through the
28
- existing durable notification path with references to the original records.
29
- Completion and existing blocked-work notifications use that same path. Do not
30
- invent an InputRequest just to announce progress or ask again for authority
31
- already granted. A failed global input call does not mean Task notifications
32
- are broken: a Task Leader must not call global `role message queue`, `steer`
33
- or `role interrupt`, impersonate Operator, or clear identity environment
34
- variables to bypass that boundary.
35
-
36
- ## Separate the work unit, executor, and concurrency
37
-
38
- Honor the user's explicit choice of direct work or delegation. Otherwise make
39
- three independent judgments; Review is a fourth judgment below.
40
-
41
- **Does this result need its own management and acceptance boundary?** A WorkItem
42
- is a substantial result worth managing and accepting separately inside the Task.
43
- It need not have a different person, an independent release, or parallel execution.
44
- Use zero WorkItems when the Task already holds one coherent outcome. One WorkItem
45
- can be Leader-owned or hold a justified whole-result managed Assignment and
46
- Candidate. Copying the Task unchanged or displaying progress is not a reason
47
- to create it. Do not split analysis, editing, testing, Review, and ordinary
48
- repairs into phase-shaped WorkItems.
49
-
50
- **Who should execute?** Direct Leader execution is the default viable path for
51
- one coupled result when current context, delivery authority, and tools suffice.
52
- A native child can supply bounded specialist attention or parallel investigation
53
- inside this Session when a best-effort result suffices; it creates no Yui identity,
54
- authority, or WorkItem by itself.
55
-
56
- Choose a managed Worker only for a concrete benefit that repays requirement
57
- restatement, context reload, startup, waiting, inspection/rework, Integration,
58
- and lifecycle management. Benefits include safely parallel independent results,
59
- a needed capability or execution environment, a genuinely necessary separately
60
- recoverable lifecycle, freeing the Leader for another actual responsibility,
61
- or explicit user delegation. An available Worker, cheaper/different model,
62
- many files, high risk, long duration, or generic maintainability alone is not
63
- enough. Risk can justify independent Review without delegating implementation.
64
- When delegation involves a material tradeoff, leave one sentence of concrete
65
- benefit in the existing Brief; no form, approval, or separate decision record
66
- is needed.
67
-
68
- **Should separate units run concurrently?** Multiple WorkItems may run serially
69
- because of a real dependency, or concurrently when their results can advance
70
- independently and the net benefit exceeds coordination and Integration cost.
71
- Neither a single WorkItem nor multiple executors proves parallelism. Keep
72
- coupled changes together.
73
-
74
- For example, fix one coupled behavior directly in Task main, even when it touches
75
- many files. Delegate an independent import tool while the Leader implements its
76
- consumer when the two have a stable boundary and useful parallel progress.
77
- Keep two separately accepted stages serial when the second genuinely needs the
78
- first result. Do not wrap a whole Task in an `implementer` WorkItem merely because
79
- that Role exists.
80
-
81
- Apply these choices to new work. Do not automatically cancel an existing Worker,
82
- reassign/retire WorkItems, or move workspaces to conform to a new default; preserve
83
- their current ownership and evidence until a justified explicit change.
84
-
85
- An ordinary managed dispatch uses the WorkItem assignee; omit `--lane-role`.
86
- Use [replicated execution](replicated-execution.md) only when
87
- independent attempts over the same frozen Assignment repay their coordination
88
- cost. Direct managed execution already provides durable ownership.
89
-
90
- ## Give Agents outcomes, not premature implementations
91
-
92
- Make delegated work decision-complete:
93
-
94
- - objective and observable acceptance criteria;
95
- - relevant Task and Project context;
96
- - hard scope, authority, and workspace boundaries;
97
- - known constraints, risks, dependencies, and existing decisions; and
98
- - expected checks and evidence.
99
-
100
- Let the receiving Agent choose its implementation plan, internal structure, and
101
- tools unless a particular ordering or mechanism is itself part of the accepted
102
- contract. Do not encode the Leader's speculative design as mandatory Worker
103
- steps.
104
-
105
- For Project-backed work, use the Project Skills, Policy, and Knowledge exposed
106
- through current context. Keep repository-specific build, migration, release,
107
- and test rules in that Project-owned layer.
108
-
109
- ## Inspect execution facts
110
-
111
- Use `yui task context <task-id>` and `yui task next-action <task-id>` as
112
- decision support. They expose current facts, exact refs, and legal
113
- alternatives; they do not replace Leader judgment.
114
- An empty WorkItem list does not mean the user requested direct execution.
115
- Honor explicit delegation and independent Review requirements in the user's
116
- messages and Task Brief. Neither `next-action` nor a disabled default review
117
- policy authorizes dropping them to make completion easier.
118
-
119
- Missing or cyclic dependencies identify conflicting records, not the correct
120
- business repair. Read the related requirements, preserve valid edges, then
121
- explicitly revise the intended dependency set or retire genuinely obsolete work.
122
- Do not clear all dependencies merely to make a mechanical gate pass.
123
-
124
- An Integration Job's success is not the final target update. For that
125
- notification, read [Integration](integration.md) and continue from its exact
126
- evidence; do not start a duplicate operation. Read that guidance also for an
127
- ordinary Git conflict or an attempt that cannot be reliably resumed.
128
-
129
- Before dispatch, Review, Integration, or completion, inspect
130
- `liveTaskState.activeRuns` and `liveTaskState.activeTaskReviews` in the current
131
- Context Pack. They report work in flight but gate nothing by themselves; reason
132
- from each exact binding and frozen candidate instead of treating activity as a
133
- global Task lock.
134
-
135
- ## Execute the chosen path
136
-
137
- ### Choose input timing without changing intent
138
-
139
- Submission intent (`record`, `discuss`, `develop`) and delivery timing are
140
- different facts. Input controls do not activate a Task, expand an Assignment,
141
- or elevate a planning Session. Keep the submission contract when using `send`;
142
- choose queue, steer or interrupt from the user's intent and current facts:
143
-
144
- ```sh
145
- yui task message queue <task> "<continuation>" --request-id <id> --to <role> --work-item <work-id>
146
- yui task message steer <task> "<current-turn correction>" --request-id <id> --to leader --expected-target <turn>
147
- yui task role interrupt <task> <role> --expected-target <turn> [--then-message <task/message>] [--request-id <id>]
148
- ```
149
-
150
- Queue waits for the next legal opportunity. Steer addresses only the exact
151
- current native Turn; Worker/Reviewer steer also needs its existing WorkItem or
152
- ReviewRound. Bare interrupt stores a control request, not a new Message.
153
- `interrupt-requested` is not a terminal or proof that background resources
154
- stopped. Then names an already-saved input and reserves its next opportunity
155
- only within the original Session/writer boundary.
156
-
157
- Read `task role session inspect` first. Unsupported and proven-unsubmitted
158
- steer may be composed with interrupt when the user's intent permits stopping;
159
- accepted, pending or unknown steer must not be resent through another action
160
- or request id. Never silently cancel, replace a Session or downgrade to queue.
161
-
162
- Global inputs use `role message queue|steer <role>` and `role interrupt <role>`
163
- with their own owner, not a fabricated Task/Run. See
164
- [Runtime](../../yui-runtime/SKILL.md) for scope and controlled-console boundaries.
165
-
166
- Managed dispatch freezes the Assignment for its assignee. For ordinary
167
- clarification, feedback or a continuation of that same work, send a Message:
168
-
169
- ```sh
170
- yui task message send <task> "<clarification or continuation>" --to <role> --work-item <work-id>
171
- yui task message send <task> "<review clarification>" --to <role> --review-round <round-id>
172
- ```
173
-
174
- Busy execution queues the Message. Its terminal triggers continuation in the
175
- same compatible Session and workspace; do not fabricate a failure, submit an
176
- unfinished Candidate, or change WorkItem status merely to answer a question.
177
- Read Message delivery and the exact resulting AgentRun separately from business
178
- acceptance. A Message never expands scope, applies desired configuration, or
179
- changes a Review's frozen candidate. An ownership change preserves the original
180
- recipient; transfer still-pending input only with explicit `task message handoff`.
181
- Late input to terminal work or an obsolete Review remains visible with a bounded
182
- nondelivery reason. Use the existing formal operation for new scope or Review.
183
-
184
- For unknown delivery or Session replacement, read
185
- [runtime recovery](../../yui-runtime/references/recovery.md). Preserve the original
186
- input; do not replay uncertainty or treat it as a global Task lock.
187
-
188
- ### Direct delivery with zero WorkItems
189
-
190
- The current delivery Leader needs no self-dispatched AgentRun or placeholder
191
- WorkItem. Read the full Task requirements and relevant Messages, then implement,
192
- verify, and fix the coherent result in Task main on its managed branch. Commit
193
- and leave it clean. Run focused checks while changing behavior and the required
194
- Project delivery checks on the final result.
195
-
196
- Keep the Brief as a current summary, not a replacement for Task requirements.
197
- Preserve changed intent and reasons in Messages/Decisions, substantial documents
198
- in Task artifacts, and code and verification evidence in the actual delivery.
199
- Zero WorkItems reduces coordination records, not requirements or evidence.
200
-
201
- Inspect the complete final diff and decide Review separately. If a Task-final
202
- Review is required or adds useful evidence, request it against the clean Task
203
- heads using `yui task review request <task> --role <reviewer>`. No WorkItem is
204
- needed. Consume the original result, fix reachable findings directly in Task
205
- main, and decide whether the changed result needs another Review. Honor immutable
206
- Review contracts and explicit user/Project requirements even if a default is
207
- disabled. Once the outcome and obligations are satisfied, use `task complete`
208
- with the outcome, checks, and remaining risk; a final chat message is not completion.
209
-
210
- ### Leader-owned WorkItem
211
-
212
- Use this only when the result merits separate management/acceptance. Omit
213
- `--role` for direct execution: the Leader owns coordination and performs the
214
- work without a managed executor Assignment. `--role leader` instead selects the
215
- Leader Role as a **managed AgentRun executor**; it is not how to label direct
216
- ownership. Do not self-dispatch merely to gain execution authority.
217
-
218
- For a writable Project result, create and inspect its WorkItem-owned workspace
219
- before editing. The Leader can work there directly; isolation does not require a
220
- Worker. Task main, WorkItem Develop, and Review workspaces remain distinct owners.
221
-
222
- ```sh
223
- yui task work create <task> "<separately accepted result>" \
224
- --project <project> --objective "<outcome>" --accept "<criterion>"
225
- yui task work isolate <work-id>
226
- yui task work update <work-id> running
227
- # Implement and verify in the returned WorkItem workspace; commit and leave it clean.
228
- yui task work update <work-id> done --summary "<result and evidence>"
229
- ```
230
-
231
- `done` freezes a direct Candidate, not an AgentRun result or acceptance.
232
- Inspect it, then integrate the exact isolated result before acceptance:
233
-
234
- ```sh
235
- yui task integration start <task> --work-item <work-id> \
236
- --project <project> --strategy <ff|cherry-pick|merge|manual>
237
- # Inspect the attempt and finish it through Integration's normal checks/continuation.
238
- yui task work accept <work-id> --summary "<decision and evidence>"
239
- ```
240
-
241
- Read [Integration](integration.md) for checks, continuation, and recovery.
242
- Keep the same unit through ordinary fixes.
243
- A read-only or Gitless result with no writable Projects needs no Git isolation;
244
- submit its actual evidence and accept it explicitly. Existing exact Task-final
245
- metadata-only Candidates retain their contract; do not establish a special Review
246
- contract merely to avoid the ordinary writable WorkItem isolation boundary.
247
-
248
- For a native child, pass a bounded brief and applicable Profile constraints
249
- through the provider's child tools. A small investigation needs no synthetic
250
- WorkItem. If the child implements an existing Leader-owned WorkItem, keep that
251
- WorkItem roleless, supply its exact workspace and scope, and mark it running.
252
- Native children inherit only current parent authority and gain no Yui Role,
253
- AgentRun, Session or broader workspace. Their
254
- results are best-effort until Yui externalizes them; use a managed Task Role
255
- when independent durability matters. Inspect the returned result before
256
- submitting `done` or recording failure progress. `done` creates a Candidate;
257
- `work accept` records the separate acceptance. WorkItem responsibility remains
258
- open through execution failure and becomes accepted only on that decision.
259
- A Profile's runtime source applies when
260
- materializing a Task Role, not when launching a native child. The child
261
- inherits the Leader Agent; apply a Profile model or effort only when the native
262
- tool actually supports and confirms that override.
263
-
264
- ### Managed Task Role
265
-
266
- ```sh
267
- yui task role add <task-id> <role> --profile <profile>
268
- yui task role show <task-id> <role>
269
- yui task work create <task-id> "<outcome>" --role <role> \
270
- --project <project> --objective "<bounded outcome>" --accept "<criterion>"
271
- yui task work dispatch <work-id> --input "<decision-complete brief>"
272
- ```
273
-
274
- Add `--after` only for a real dependency. Likely file overlap is not by itself
275
- a dependency. A Worker may read the complete authorized Task context but may
276
- write only its WorkItem Projects and workspace. Dispatch prepares that isolated
277
- workspace and freezes the Assignment; inspect the completed original AgentRun
278
- result before submitting its exact Candidate, integrating, and accepting.
279
-
280
- Profiles carry portable behavior plus either a dynamic Global Worker runtime
281
- source or an explicit Agent with optional model and effort. Applying a Profile
282
- to a Task Role resolves and freezes the complete binding; later Profile or
283
- Global Worker changes do not rewrite that Role. Before dispatch, use
284
- `config profile show` and `task role show` to read the exact behavior, Agent, model,
285
- effort, Profile, and workspace. Do not reconstruct or guess launch
286
- configuration. Use the WorkItem assignee directly unless replicated execution
287
- was deliberately selected.
288
-
289
- Managed Task main, WorkItem, ReviewRound, and Integration workspaces have
290
- different owners. Never edit stable Project checkouts, managed refs, Yui state
291
- files, or another owner's workspace. A Task's recorded base is durable; do not
292
- silently replace it merely because its remote branch later moves.
293
-
294
- ## Extend capabilities within this Task's authority
295
-
296
- Use `capability search`, `describe`, and `call` to inspect current tools.
297
- Prefer existing tools, composition or a one-off script when sufficient.
298
- For reusable Task-local capabilities, read [Task plugins](task-plugins.md)
299
- before creation, validation or activation. Plugin management permission does
300
- not grant code execution or broader external effects. Use
301
- [source-authorized capabilities](authorization.md) for existing explicit user
302
- authority. Never invent authorization, impersonate Operator, or modify the core installation to obtain a tool.
303
-
304
- ## Validate and make the review judgment
305
-
306
- Prepare useful evidence, not a documentation gate. From effective requirements,
307
- non-goals and decisions, distill the few observable behavioral constraints that
308
- matter to this change, with independently grounded expectations. Do not infer
309
- correctness from the candidate or its mocks.
310
-
311
- For material cross-layer or asynchronous risks, trace a short real path in the
312
- exact candidate: entry -> actual consumers -> relevant waits/atomic commit
313
- boundaries -> observable result and failure/recovery consequences. Point to
314
- candidate code or existing documents, not just module names or a coverage claim.
315
- Use it to expose where the same constraint must hold across boundaries; do not
316
- enumerate every entry or generate a combination matrix. Keep three things
317
- distinct: constraints/scenarios and expectations, executable test references,
318
- and actual results with candidate/environment/command. Name material unverified
319
- boundaries; a test reference alone is not a passing result.
320
-
321
- Small tasks can reference existing materials directly. For complex tasks, put a
322
- short review index in Task artifacts and its commit-pinned reference in Brief.
323
- Keep Brief an up-to-date summary, not a copy of documents or accumulated history.
324
- Review Context carries the frozen Brief and active decisions; inspect the
325
- actual pointer inventory when a material's delivery is uncertain. Read referenced
326
- same-Task artifacts at their fixed commits, not HEAD. Do not assume a path in
327
- `--input`, a WorkItem-only `--context-ref` option, or a summary grants Review
328
- access. Recover a missing authorized reference through existing mechanisms;
329
- do not ask the Reviewer to bypass scope. Materials guide independent inspection,
330
- not its upper bound.
331
-
332
- Use the smallest evidence that establishes the accepted behavior and material
333
- boundaries. Do not repeat a successful unchanged check. Run the Project's
334
- complete local delivery validation once on the final candidate when its Policy
335
- requires it.
336
-
337
- As part of accepting a WorkItem or completing a Task, decide whether additional
338
- review would add useful evidence:
339
-
340
- - inspect directly when the change is clear and existing evidence is enough;
341
- - use one independent Worker, native child, or Reviewer when independent
342
- inspection materially reduces a reachable risk; or
343
- - rely on an already completed applicable Review.
344
-
345
- This is Leader judgment inside the acceptance decision, not a separate record,
346
- checklist, or workflow phase. A managed Reviewer is optional unless the user,
347
- Project or Task Contract requires it. Do not create a
348
- Reviewer Role or ReviewRound for ceremony. Honor an existing Candidate's
349
- snapshotted `always` policy and any immutable Task-final Review contract.
350
- Otherwise choose whether another review adds enough evidence to justify its
351
- cost.
352
-
353
- Use one direct main Reviewer by default. If independent replicas materially
354
- improve evidence, read [replicated execution](replicated-execution.md)
355
- before dispatch or synthesis. Honor required review contracts even when a
356
- cheaper execution path is otherwise available.
357
- One Reviewer should use the applicable complementary perspectives in one round.
358
- Consider independent replication for genuinely complementary cross-system risks,
359
- not a fixed headcount or file/frontend/backend partition. Keep the same candidate
360
- and common requirements; risk emphasis must not hide cross-layer contracts.
361
-
362
- When several WorkItems contribute to one outcome, prefer one independent
363
- Task-final Review after their accepted results are integrated over repeating a
364
- complete Review for every WorkItem. Request an earlier WorkItem Review only
365
- when that frozen Candidate has a specific risk that should be resolved before
366
- Integration.
367
-
368
- When a Worker or Reviewer result arrives, resolve its exact AgentRun and read the
369
- complete original `AgentRunResult.output` before starting new work or waiting
370
- again. Treat headings or JSON fields only as communication aids; never infer
371
- that Core parsed or accepted them. Decide whether to accept, repair, review
372
- again, retry execution, or ask for a genuinely user-owned decision. Route
373
- reachable issues to the original execution owner. Fix a small Task-main issue
374
- directly; create a Repair WorkItem only when the repair is itself a substantial
375
- independently owned requirement.
376
-
377
- A failed ReviewRound is an execution failure, not a repair wave. First read
378
- its Provider retry projection: bounded infrastructure recovery may already own
379
- the successor. Otherwise inspect its exact Round, AgentRun, candidate, Core failure, and
380
- `task next-action` facts, then choose the smallest recovery that preserves the
381
- frozen boundary. Do not invent a retry loop or silently replace the Reviewer
382
- Session. For replicated execution, choose whether to retry a failed Producer,
383
- settle that Lane, or synthesize selected available results. Retry a failed
384
- main synthesis through its exact AgentRun, preserving its selected source snapshot.
385
-
386
- ## Accept, integrate, and complete
387
-
388
- A Worker or Reviewer AgentRun result is evidence, not acceptance. Inspect the
389
- result, diff, checks, and current Candidate before deciding.
390
-
391
- Group confirmed findings by root cause. Use the traced paths to check other
392
- reachable consumers/boundaries within scope and repair affected instances
393
- together, not just the reported checkpoint. Refresh the short material index
394
- and repair evidence where they changed, without accumulating round-by-round
395
- history. For ordinary full re-review, preserve the current complete
396
- candidate and requirements; add repair delta, prior finding dispositions and
397
- still-valid evidence. Delta is an attention aid, not the full-review boundary.
398
- Do not conflate this with an explicitly authorized equivalence Delta Recheck.
399
- Neither finding counts, fixed round counts nor a majority vote decides acceptance.
400
-
401
- If a result is insufficient, reject it with bounded feedback and redispatch
402
- the same WorkItem and Role while scope remains valid. Before accepting isolated
403
- Git changes, read [Integration](integration.md) to capture and
404
- integrate the latest Candidate. Do not edit managed refs or bypass Yui's
405
- compare-and-swap boundary.
406
-
407
- After an authorized PR/MR operation, follow
408
- [publication recording](../../yui-runtime/references/publication.md).
409
- External delivery and Task completion remain separate facts.
410
- Keep authorized follow-up delivery of this result in this Task and its legal
411
- managed workspace: synchronize, resolve necessary conflicts, validate, perform
412
- only the authorized external operations, and record their exact evidence.
413
- Do not refer ordinary delivery to a new Task. When remote delivery is part of
414
- the current requirement, a local commit or completed Run does not satisfy it;
415
- report a real blocker rather than declaring that requirement complete.
416
-
417
- After a ReviewRound is terminal, the Leader or authorized Operator owns
418
- `task work review cleanup <task>/<round>`. Preserve dirty diagnostic evidence
419
- and resolve it explicitly; do not ask a Reviewer to clean its own runtime
420
- after its final report. Cleanup can remain advisory at completion. Ordinary
421
- archive requires settled business and stopped execution, not complete physical
422
- release; safe resource retention is reported separately. Explicitly authorized force archive preserves
423
- unresolved resources and diagnostics under the shared
424
- [archive contract](../../yui-runtime/references/publication.md). The Leader
425
- does not gain independent archive authorization. An original explicit user
426
- archive request can authorize the Controller-owned ordinary archive described
427
- in [source-authorized capabilities](authorization.md).
428
-
429
- Complete only when the Task outcome is satisfied, required checks and review
430
- contracts are settled, WorkItems are accepted or deliberately retired, latest
431
- isolated results are integrated, and user inputs are resolved:
432
-
433
- ```sh
434
- yui task complete <task-id> \
435
- --summary "<outcome, validation, and remaining risk>"
436
- ```
437
-
438
- Completion records the exact Project heads. Archive is a separate,
439
- user-authorized action, never an implication of completion or publication.
440
-
441
- Completion is offline by default. `--refresh-remote` only refreshes remote
442
- freshness observations; neither path rebases or starts Integration checks.
443
- For observation alone use `task base status <task> [--refresh]`. If upstream
444
- changes need integration, choose it explicitly before completion:
445
- `task upstream integrate <task> (--latest|--project <project>)` requests rebase
446
- and the configured checks/CAS. Consume its exact Integration/Job and partial
447
- results; a prepared candidate is not an advanced Task HEAD.
448
- An established final Review is still prepared/dispatched by completion without
449
- renewed approval. Inspect the returned stage and exact ReviewRound/Run: a
450
- Review-pending, running or blocked result is not Task completion.
451
-
452
- If completion reports `pending-user-input`, new user intent has not yet reached
453
- the current notification window. End this native turn so the next notification
454
- can be delivered, then read the original messages and reassess the outcome.
455
- Do not spin on completion, drop messages, or manufacture another Run to proceed.
456
- A current Leader Session can create a formal InputRequest during an ordinary
457
- notification; no active AgentRun is required.
458
-
459
- ## Finish an active execution turn
460
-
461
- Before ending authorized execution:
462
-
463
- 1. Inspect the focused wake inputs/results (expand `--history` when needed),
464
- resolve every referenced Worker or Reviewer AgentRun
465
- with `yui task run show`, read each original result in full, and make the
466
- next decision.
467
- 2. Persist actual WorkItem lifecycle and material Brief, Decision, Milestone,
468
- Message, or Knowledge changes. If an accepted result or authorized
469
- correction has cleared a blocker still stated as current in Brief, update
470
- that working summary before completing or yielding. Keep the original
471
- failure and correction in their durable records.
472
- 3. Choose one truthful outcome: continue through an owned native child, complete
473
- the Task, create a justified InputRequest, or leave the active Task waiting
474
- for a real durable event.
475
- 4. For an explicitly dispatched AgentRun, return its truthful original final
476
- report with outcome, checks, remaining risk and bounded next action.
477
- Direct conversation and notifications do not require a separate execution
478
- report; use the [stage-specific close](../SKILL.md#close-the-current-turn).
479
-
480
- Do not claim completion only in prose when durable Task or WorkItem state still
481
- needs updating. Do not poll managed Roles or emit waiting Messages. Managed
482
- results enter a later Leader notification; that notification is not an implicit
483
- AgentRun and requires no separate execution report. An unchanged active Task remains quiet.
484
-
485
- Use the shared [runtime recovery](../../yui-runtime/references/recovery.md) contract
486
- for failed execution. Persist successor context before replacing yourself,
487
- then end this turn; engineering cleanup is not discarded Task intent.
1
+ # Execution operation index
2
+
3
+ The [Leader core](../SKILL.md) permits ordinary direct work without an
4
+ execution-stage handbook. Use this index only to locate an actual operation;
5
+ do not load its targets as a bundle on activation, continuation or compaction.
6
+
7
+ - Investigation/verification design: [Implementation](implementation.md).
8
+ - Work boundaries, executor choice, dispatch material: [Allocation](work-allocation.md).
9
+ - Existing Assignment continuation/control: [Assignment](assignment-execution.md).
10
+ - Independent Review or managed-result disposition: [Review](review.md).
11
+ - Isolated Git results/conflicts: [Integration](integration.md).
12
+ - Candidate acceptance/Task completion: [Completion](completion.md).
13
+ - Meaningful working-summary changes: [Progress](task-progress.md).
14
+
15
+ Each linked manual is read in full only when its action applies. The current
16
+ Task's authority, original intent and Project requirements govern every path.
@@ -0,0 +1,81 @@
1
+ # Implementation and verification
2
+
3
+ Read for implementation investigation or material verification design when the
4
+ Project instructions and current requirement do not already suffice. This does
5
+ not require loading dispatch, review or integration procedures.
6
+
7
+ ## Choose the simplest coherent result
8
+
9
+ Start from the current Task Contract and trace the existing implementation,
10
+ ownership and supported operating path before choosing a change. Establish
11
+ whether a failure is reachable with the user's actual inputs and configuration;
12
+ do not make a test fixture's accidental differences into new product policy.
13
+
14
+ Choose the lowest total implementation, verification, coordination and
15
+ maintenance cost that satisfies the contract. Reuse a coherent responsibility;
16
+ redesign a misplaced boundary when that lowers the complete cost. Add a
17
+ mechanism only for a demonstrated requirement or hard boundary that existing
18
+ primitives cannot satisfy. Derived views must not become competing truth.
19
+
20
+ Make routine legal choices yourself. Do not ask the user to choose among
21
+ implementation patterns, scheduling options, review routing, or recoverable
22
+ runtime actions. Create an InputRequest only for a real product choice, new
23
+ authority, irreversible external effect, or unavailable external fact.
24
+
25
+ For implementation investigation, start with the exact candidate/base and the
26
+ question to resolve. Locate relevant paths/symbols, inspect their diff and
27
+ necessary callers, then widen when evidence reveals another affected boundary.
28
+ For logs, retain the full original and read the relevant command/attempt,
29
+ failure and surrounding output; a filtered excerpt cannot prove success or
30
+ absence of failures. This targeted reading does not replace complete relevant
31
+ requirements, formal Worker/Reviewer reports, required Skill instructions, or
32
+ the complete final diff. On recovery, refresh changed identities and missing
33
+ evidence rather than rereading unrelated history or replaying effects.
34
+
35
+ Task Messages and the Brief are durable records, not delivery receipts to the
36
+ Operator. For a genuinely missing user choice, resource, credential or scope,
37
+ use `task input request`; the Controller notifies the Operator through the
38
+ existing durable notification path with references to the original records.
39
+ Completion and existing blocked-work notifications use that same path. Do not
40
+ invent an InputRequest just to announce progress or ask again for authority
41
+ already granted. A failed global input call does not mean Task notifications
42
+ are broken: a Task Leader must not call global `role message queue`, `steer`
43
+ or `role interrupt`, impersonate Operator, or clear identity environment
44
+ variables to bypass that boundary.
45
+
46
+ ### Direct delivery with zero WorkItems
47
+
48
+ The current delivery Leader needs no self-dispatched AgentRun or placeholder
49
+ WorkItem. Read the full Task requirements and relevant Messages, then implement,
50
+ verify, and fix the coherent result in Task main on its managed branch. Commit
51
+ and leave it clean. Run focused checks while changing behavior and the required
52
+ Project delivery checks on the final result.
53
+
54
+ Keep the Brief as a current summary, not a replacement for Task requirements.
55
+ Preserve changed intent and reasons in Messages/Decisions, substantial documents
56
+ in Task artifacts, and code and verification evidence in the actual delivery.
57
+ Zero WorkItems reduces coordination records, not requirements or evidence.
58
+
59
+ Inspect the complete final diff and decide Review separately. If a Task-final
60
+ Review is required or adds useful evidence, request it against the clean Task
61
+ heads using `yui task review request <task> --role <reviewer>`. No WorkItem is
62
+ needed. Consume the original result, fix reachable findings directly in Task
63
+ main, and decide whether the changed result needs another Review. Honor immutable
64
+ Review contracts and explicit user/Project requirements even if a default is
65
+ disabled. Once the outcome and obligations are satisfied, use `task complete`
66
+ with the outcome, checks, and remaining risk; a final chat message is not completion.
67
+
68
+
69
+ For an actual review or completion operation, read [Review](review.md) or
70
+ [Completion](completion.md), respectively; their procedures are not prerequisites
71
+ for ordinary implementation.
72
+
73
+ ## Extend capabilities within this Task's authority
74
+
75
+ Use `capability search`, `describe`, and `call` to inspect current tools.
76
+ Prefer existing tools, composition or a one-off script when sufficient.
77
+ For reusable Task-local capabilities, read [Task plugins](task-plugins.md)
78
+ before creation, validation or activation. Plugin management permission does
79
+ not grant code execution or broader external effects. Use
80
+ [source-authorized capabilities](authorization.md) for existing explicit user
81
+ authority. Never invent authorization, impersonate Operator, or modify the core installation to obtain a tool.
@@ -15,9 +15,11 @@ questions, recommendations and accepted decisions.
15
15
  Planning can include research explicitly authorized by the user and permitted
16
16
  by the Session, Project and resource boundaries. Discussion is not delivery
17
17
  authorization: do not modify Project code or run implementation tests merely
18
- to support a proposal. Keep full planning results in supported Task result
19
- storage and maintain the Brief's current summary and references. Planning
20
- storage and Project delivery workspaces have different purposes and authority.
18
+ to support a proposal. Subject to Runtime's read-only intent boundary, keep
19
+ authorized planning results in supported Task result storage and maintain the
20
+ Brief's current summary and references. A read-only analysis returns its result
21
+ in the response, not planning storage. Planning storage and Project delivery
22
+ workspaces have different purposes and authority.
21
23
 
22
24
  Saving a useful revision, reporting what changed and waiting for feedback is
23
25
  the normal end of a discussion. Do not create implementation WorkItems,
@@ -44,7 +46,7 @@ reopen it. A stopped execution gate is not permission to
44
46
  resume. `--request-id <key>` on submissions preserves the original result on a
45
47
  matching retry, not permission to replay uncertain work or change its content.
46
48
  For expressly requested continuation of a completed result, use the existing
47
- [authorized reopen and submission path](../../yui-runtime/references/publication.md#post-completion-routing-boundary),
49
+ [authorized reopen and submission path](../../yui-runtime/references/completed-followup.md),
48
50
  not Draft activation or an implicit transition inferred from `--intent develop`.
49
51
 
50
52
  Once planning has been entered, starting delivery requires a distinct,
@@ -84,44 +86,4 @@ delivery-authorized Session/workspace is ready. Do not demand another
84
86
  “continue.” An old planning Session remains planning-scoped: preserve its
85
87
  successor context and end its turn rather than promoting itself.
86
88
 
87
- ## Task artifact operations
88
-
89
- These operations apply to planning and delivery results. The current Leader
90
- adopts contributions from other Agents' authorized workspaces; do not share
91
- an uncoordinated Git index or edit Yui storage directly.
92
-
93
- ```sh
94
- yui task artifact list <task-id>
95
- yui task artifact save <task-id> plans/design.md "<UTF-8 content>" --message "Revise design"
96
- yui task artifact read <task-id> plans/design.md
97
- yui task artifact read <task-id> plans/design.md <full-commit>
98
- ```
99
-
100
- `save` writes and locally commits exactly one relative path, creating the
101
- repository on first save. The `artifact.save` capability takes `taskId`,
102
- `relativePath`, `content`, optional `message` and optional `expectedHead`;
103
- the CLI equivalent is `--expected-head <commit>`. A head conflict leaves
104
- the save unapplied: re-read and reconcile the intended update, not overwrite
105
- blindly. The text interface accepts UTF-8 files up to 8 MiB, not arbitrary
106
- binary payloads or an invented directory-upload command.
107
-
108
- Current reads use Task and relative path at HEAD. Frozen Candidate, Review,
109
- Context and completion evidence use the returned `taskId + commit +
110
- relativePath`; do not replace a pinned read with a current read. For same-Task
111
- string reference lists, use `git:<full-commit>:<relativePath>`, including
112
- `task complete ... --artifact-ref "git:<full-commit>:plans/design.md"`.
113
- The commit must be the artifact repository's returned commit, not the Project
114
- code head. Preserve fixed old references when updating the current document.
115
-
116
- After a meaningful save, update the Brief's summary/reference; keep Decisions
117
- to the choice, reason and boundary. No document-body, HEAD or timestamp mirror
118
- is needed. The artifact repository has no remote or transport; this does not
119
- prohibit a Project code repository's legitimate remote. Saving in Draft grants
120
- no delivery authority; Session handoff and archive preserve the artifacts.
121
- Stored scripts/HTML remain data and are never implicitly executed or previewed.
122
-
123
- These commands describe this source version's interface. A managed Session
124
- still uses its authorized CLI and actual available capabilities. If an older
125
- installation lacks them, report that version boundary; do not switch it to
126
- an unapproved checkout CLI, migrate a shared Home, or upgrade the installation
127
- merely to save a result.
89
+ Before saving or citing a Task artifact, read [Task artifact operations](artifacts.md).