@zq-silk/yui 2.21.0 → 2.23.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 (145) hide show
  1. package/README.md +5 -0
  2. package/dist/cli/commandCatalog.js +87 -27
  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/invocationRouter.js +5 -5
  7. package/dist/cli/roleWizard.js +5 -1
  8. package/dist/cli/updateCommand.js +20 -3
  9. package/dist/cli/updateOrchestrator.js +13 -0
  10. package/dist/cli/updatePorts.js +27 -0
  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 +217 -64
  18. package/dist/commands/taskContextCommand.js +26 -4
  19. package/dist/commands/taskFactCommands.js +15 -2
  20. package/dist/commands/taskIntegrationCommands.js +3 -3
  21. package/dist/commands/taskRoleRuntimeStatus.js +19 -5
  22. package/dist/commands/textInput.js +2 -2
  23. package/dist/context/contextFamilies.js +10 -0
  24. package/dist/context/currentSkills.js +37 -4
  25. package/dist/context/runContextPack.js +44 -5
  26. package/dist/context/runInputContract.js +1 -1
  27. package/dist/context/sessionBootstrapManifest.js +21 -6
  28. package/dist/context/sessionSkillNotice.js +74 -0
  29. package/dist/context/taskContext.js +100 -16
  30. package/dist/controlPlaneCli.js +17 -7
  31. package/dist/controller/agentRuntimeObserver.js +57 -12
  32. package/dist/controller/clientRuntime.js +66 -18
  33. package/dist/controller/controller.js +19 -2
  34. package/dist/controller/diagnosticJournal.js +10 -2
  35. package/dist/controller/fileSchedulerStoreAdapter.js +74 -24
  36. package/dist/controller/hostLifecycle.js +153 -0
  37. package/dist/controller/hostLifecycleChecks.js +27 -0
  38. package/dist/controller/hostUpgrade.js +344 -0
  39. package/dist/controller/messageHealth.js +4 -3
  40. package/dist/controller/providerRetryAdmission.js +15 -1
  41. package/dist/controller/providerRetryDelivery.js +18 -2
  42. package/dist/controller/runtime.js +82 -21
  43. package/dist/controller/runtimeEventInbox.js +107 -13
  44. package/dist/controller/runtimeEventProcessor.js +3 -3
  45. package/dist/controller/sessionNotify.js +5 -46
  46. package/dist/controller/taskRunRecovery.js +153 -0
  47. package/dist/core/controllerClient.js +16 -2
  48. package/dist/core/controllerServer.js +14 -5
  49. package/dist/core/controllerTelemetry.js +51 -5
  50. package/dist/errors/cliFailure.js +14 -5
  51. package/dist/execution/codexThreadNaming.js +54 -43
  52. package/dist/executor/agentAdapter.js +32 -4
  53. package/dist/executor/agentConfigurationFields.js +2 -0
  54. package/dist/executor/fileRoleLaunchPlanner.js +18 -3
  55. package/dist/integration/gitIntegrationService.js +3 -2
  56. package/dist/integration/integrationSourceApplication.js +12 -1
  57. package/dist/interaction/notificationPresentation.js +11 -16
  58. package/dist/interaction/operatorPresentation.js +1 -1
  59. package/dist/message/messageContinuation.js +3 -1
  60. package/dist/output/boundedRead.js +36 -7
  61. package/dist/output/rolePresentation.js +3 -1
  62. package/dist/runtime/agentEndpoint.js +11 -1
  63. package/dist/runtime/agentEndpointIdentity.js +2 -0
  64. package/dist/runtime/agentHost.js +174 -40
  65. package/dist/runtime/agentHostImplementation.js +3 -1
  66. package/dist/runtime/codexAppServerRuntime.js +113 -24
  67. package/dist/runtime/codexInteractiveHost.js +102 -11
  68. package/dist/runtime/codexNativeAccess.js +1 -1
  69. package/dist/runtime/contextRecovery.js +15 -0
  70. package/dist/runtime/hostSessionLifecycle.js +83 -0
  71. package/dist/runtime/hostUpgradeGate.js +43 -0
  72. package/dist/runtime/lifecycleChecks.js +47 -0
  73. package/dist/runtime/lifecycleReservation.js +9 -1
  74. package/dist/runtime/nativeTitleReceipt.js +31 -0
  75. package/dist/runtime/nativeTitleSync.js +192 -0
  76. package/dist/runtime/providerRetry.js +9 -6
  77. package/dist/runtime/providerRuntimeIdentity.js +1 -1
  78. package/dist/runtime/structuredProviderHost.js +65 -35
  79. package/dist/scheduler/wakeupQueue.js +10 -4
  80. package/dist/storage/sqliteSchema.js +29 -0
  81. package/dist/storage/storageVersions.js +1 -1
  82. package/dist/tmux/tmuxManager.js +4 -2
  83. package/dist/web/webSettings.js +2 -0
  84. package/docs/authorization.md +18 -3
  85. package/docs/cli-information-contract.md +228 -6
  86. package/docs/cli-information-contract.zh-CN.md +95 -5
  87. package/docs/managed-turn-and-session-runtime.md +177 -21
  88. package/docs/managed-turn-and-session-runtime.zh-CN.md +126 -14
  89. package/docs/provider-retry.md +11 -0
  90. package/docs/release-workflow.md +65 -0
  91. package/docs/release-workflow.zh-CN.md +48 -0
  92. package/docs/roles-and-configuration.md +28 -0
  93. package/docs/roles-and-configuration.zh-CN.md +21 -0
  94. package/docs/storage-baseline.md +13 -1
  95. package/docs/storage-baseline.zh-CN.md +5 -1
  96. package/docs/task-delivery.md +7 -0
  97. package/docs/task-delivery.zh-CN.md +5 -0
  98. package/docs/testing/review-evaluation.md +7 -7
  99. package/docs/testing/review-evaluation.zh-CN.md +7 -7
  100. package/docs/testing/verification-levels.md +45 -2
  101. package/docs/testing/verification-levels.zh-CN.md +21 -2
  102. package/i18n/README.zh-CN.md +6 -0
  103. package/package.json +1 -1
  104. package/skills/yui-leader/SKILL.md +98 -193
  105. package/skills/yui-leader/VERSION +1 -1
  106. package/skills/yui-leader/references/artifacts.md +41 -0
  107. package/skills/yui-leader/references/assignment-execution.md +140 -0
  108. package/skills/yui-leader/references/completion.md +79 -0
  109. package/skills/yui-leader/references/delivery-scope.md +26 -0
  110. package/skills/yui-leader/references/execution.md +16 -487
  111. package/skills/yui-leader/references/implementation.md +81 -0
  112. package/skills/yui-leader/references/planning.md +7 -45
  113. package/skills/yui-leader/references/review.md +90 -0
  114. package/skills/yui-leader/references/task-progress.md +23 -0
  115. package/skills/yui-leader/references/work-allocation.md +118 -0
  116. package/skills/yui-operator/SKILL.md +77 -333
  117. package/skills/yui-operator/VERSION +1 -1
  118. package/skills/yui-operator/references/body-transport.md +62 -0
  119. package/skills/yui-operator/references/configuration.md +47 -0
  120. package/skills/yui-operator/references/lifecycle.md +41 -0
  121. package/skills/yui-operator/references/progress.md +39 -0
  122. package/skills/yui-operator/references/routing.md +57 -0
  123. package/skills/yui-operator/references/submission.md +56 -0
  124. package/skills/yui-operator/references/task-delivery.md +1 -1
  125. package/skills/yui-operator/references/web-lifecycle.md +19 -0
  126. package/skills/yui-operator/scripts/verify-submission.mjs +37 -0
  127. package/skills/yui-runtime/SKILL.md +182 -531
  128. package/skills/yui-runtime/VERSION +1 -1
  129. package/skills/yui-runtime/references/archive.md +51 -0
  130. package/skills/yui-runtime/references/command-discovery.md +41 -0
  131. package/skills/yui-runtime/references/completed-followup.md +65 -0
  132. package/skills/yui-runtime/references/context-ordering.md +3 -34
  133. package/skills/yui-runtime/references/context-reads.md +61 -0
  134. package/skills/yui-runtime/references/dispatched-run.md +61 -0
  135. package/skills/yui-runtime/references/execution-failure.md +105 -0
  136. package/skills/yui-runtime/references/global-context.md +18 -0
  137. package/skills/yui-runtime/references/global-input-controls.md +44 -0
  138. package/skills/yui-runtime/references/host-custody.md +30 -0
  139. package/skills/yui-runtime/references/inbox-recovery.md +77 -0
  140. package/skills/yui-runtime/references/incremental-context.md +40 -0
  141. package/skills/yui-runtime/references/publication.md +4 -111
  142. package/skills/yui-runtime/references/recovery.md +32 -192
  143. package/skills/yui-runtime/references/session-identity.md +18 -0
  144. package/skills/yui-runtime/references/session-replacement.md +45 -0
  145. package/skills/yui-runtime/references/uncertain-execution.md +29 -0
@@ -1,199 +1,104 @@
1
1
  ---
2
2
  name: yui-leader
3
- description: Lead one Yui Task through authorized planning, activation handoff, execution, acceptance and same-result follow-up, including reopening its completed, unarchived result for an explicit implementation or delivery request.
3
+ description: Own one Yui Task's authorized discussion, delivery and acceptance; select operation manuals by the current action, not merely active stage.
4
4
  ---
5
5
 
6
6
  # Yui Leader
7
7
 
8
- Follow [yui-runtime](../yui-runtime/SKILL.md) first, including its lightweight
9
- `yui session skills --json` check at the start of every turn and full reload when
10
- versions change or context is missing/recovered. Load the exact Context Pack
11
- for an explicitly dispatched AgentRun; for direct conversation or a Task
12
- notification, read current Task context using `yui task context <task-id> --json`.
13
- No self-dispatch or old completed Run is needed. Read the actual Task
14
- requirements, current Brief and relevant user/Operator Messages, not just
15
- their summaries. Resolve links relative to the file containing them.
16
-
17
- Current Context is a bounded working set, not all Task history. Use
18
- `task context list <task> --store <store>` or a domain list for discovery,
19
- then an exact detail read. A wake contains attributed change summaries and
20
- original Message/Run pointers, not complete reports. Follow `yui-runtime`'s
21
- `nextCursor` and `contentPage` rules: read the complete focused wake view and
22
- relevant originals before disposition; use `wake show --history` only when
23
- window history/diagnostics matter. Summaries never decide completion.
24
-
25
- Before WorkItem dispatch, put the complete bounded requirements in the WorkItem
26
- or explicitly select up to 16 relevant readable materials with repeated
27
- `--context-ref <store/refId@digest>` on `task work dispatch`. Obtain exact IDs and
28
- digests from current Task context list/inspect. Core freezes these selected
29
- values after the existing caller-scope checks; mentioning a record in `--input`
30
- does not select it or grant access. Missing, forbidden or changed references
31
- refuse dispatch before Provider startup: correct the selection or make the
32
- WorkItem self-contained, never ask the recipient to bypass expansion rejection.
33
-
34
- ## Select the applicable stage
35
-
36
- Use current lifecycle, latest intent and the Session's actual planning/delivery
37
- authority together. Draft existence, accepted planning history, Session
38
- authority and AgentRun status are different facts. A completed planning Run
39
- does not complete or activate a Task; an active Task does not upgrade an old
40
- planning Session. Never infer authority from a directory, launch text,
41
- transcript or process.
42
-
43
- Apply terminal/gate and read-only intent boundaries before selecting delivery
44
- or planning work; the routes below do not override those restrictions.
45
- When old discussion text differs from new intent, apply
46
- [current intent and temporal reads](../yui-runtime/references/context-ordering.md):
47
- inspect exact sources before treating normal stage progression as a conflict.
48
- An adopted same-scope development request supersedes the earlier discussion-only
49
- stage, not independent restrictions. Never use active status or Brief alone.
50
-
51
- - **Draft or planning-only authority:** read [Planning and activation handoff](references/planning.md).
52
- Use the recorded submission intent (`record`, `discuss`, `develop`) and
53
- routing result, not keywords in the message. Discuss and preserve the
54
- requested outcome; do not load execution procedures merely to finish a
55
- discussion.
56
- - **Active, execution enabled, delivery authority and implementation intent:**
57
- read [Active execution](references/execution.md). Advance existing authorized
58
- work, including disposition of new results, without asking for another
59
- “continue” after a valid activation handoff.
60
- - **Query, analysis or discussion only:** answer within the requested scope,
61
- even on an active Task. Do not turn it into edits or dispatch. A result
62
- notification is different: read its original results and advance the
63
- outstanding authorized requirement.
64
- - **Completed, unarchived, same-result follow-up:**
65
- ordinary questions and permitted evidence reads need no reopen. When a user's
66
- same-result request or an explicit unfulfilled commitment needs tracked
67
- diagnosis, evidence handoff, necessary authority coordination, implementation
68
- or delivery, the current matching Leader may call `task reopen <task-id>`,
69
- then continue that bounded request without a mandatory Operator handoff or
70
- another “reopen” confirmation. Read the
71
- [post-completion routing boundary](../yui-runtime/references/publication.md#post-completion-routing-boundary)
72
- first, inspect the reopen result, and reassess current Session/workspace
73
- authority and the execution gate before delivery. Reopening is lifecycle
74
- management, not a planning Session's promotion to delivery or permission to
75
- implement a diagnosis-only request.
76
- - **Cancelled/retired, archived, execution gate disabled, or no new execution authority:**
77
- explain/query authorized facts only unless a specific further action is
78
- authorized and legal. The Leader cannot restore cancelled/retired intent;
79
- archived Tasks cannot reopen. An independent stop needs its separately
80
- authorized start/cleanup path; reopen does not lift it. Ordinary notifications
81
- and Session recovery do not authorize reopening or resumption; simple queries
82
- need no lifecycle change. Identify a genuinely missing lifecycle/authority action for the
83
- Operator; do not manufacture a Run or reopen merely to obtain authority.
84
- Publication recording/adoption is not a way to start terminal-Task execution.
85
-
86
- These are instruction routes, not new lifecycle states or a scheduling
87
- protocol. Where facts disagree or authority is missing, preserve intent and
88
- report the exact boundary rather than choosing a more permissive route.
89
-
90
- A `task-reopened` notification can arrive before its follow-up Message. Read the
91
- prior completion and current Messages; if only lifecycle changed, wait for the
92
- new request. Do not rerun accepted work, infer external authority, or immediately
93
- complete again. Once the scoped request arrives, continue it in this Task without
94
- asking for another “continue”; preserve the original acceptance evidence.
95
-
96
- Handle a failed Worker/Reviewer launch through the shared
97
- [configuration recovery guidance](../yui-runtime/references/recovery.md#configuration-and-model-name-failures).
98
- Read its original failure and scoped metadata before choosing a correction;
99
- the failed target need not be running for you to act.
100
-
101
- ## Maintain useful durable context
102
-
103
- Apply **yui-runtime**'s own-inbox flow before acceptance or completion and at
104
- useful work boundaries. A Leader inbox contains its exact notification windows
105
- and messages for its current managed Assignment, not every Task Message.
106
- For a window, read its full focused wake and relevant originals; for an
107
- Assignment message, read its complete original. Dispose of results explicitly,
108
- then ack the exact entry. Inbox acknowledgement
109
- never accepts a Candidate or completes the Task.
110
-
111
- The DB Brief is the current summary, not a full plan or a history of messages.
112
- After meaningful progress, read `task brief show` and use
113
- `task brief update --if-current <writeGuard>` with only intended fields;
114
- read `task event list` before deliberately restoring an older value. Keep
115
- references to substantial plans, prototypes and reports in that summary.
116
- When a delivered correction resolves a recorded blocker or changes the next
117
- action, update the Brief's focus and Leader summary while the Task is still
118
- open. Before completing a Task, reread its Brief: if it still describes a
119
- resolved blocker, superseded plan, or waiting state, correct those fields
120
- before `task complete`. The completion summary is the terminal conclusion;
121
- do not copy it into Brief merely to create a second completion record. Brief
122
- maintenance is not a new completion gate, and routine unchanged steps do not
123
- need an update.
124
- Also reconcile the summary at requirement changes and phase handoffs; carry the
125
- exact activation/input references. Core projects current lifecycle and source
126
- diagnostics without rewriting historical messages. A stale-guard rejection
127
- requires reading the new input and reconciling, not retrying the old text.
128
- Decisions contain the actual decision, reason and necessary boundaries, not
129
- the entire proposal. Label recommendations as recommendations, not user
130
- decisions.
131
-
132
- Save full deliverables as files in the Task's local Git artifact repository,
133
- not in Brief/Decision or a parallel store. Use `task artifact save` or
134
- `artifact.save`; read [Task artifact operations](references/planning.md#task-artifact-operations)
135
- before saving or citing results in any stage. A save commits one selected
136
- path and returns `taskId + commit + relativePath` for fixed evidence. Update
137
- the Brief reference after a meaningful saved revision; keep the document
138
- body, HEAD and timestamps out of DB mirrors. Saving a planning result neither
139
- activates the Task nor grants Project write authority. Artifact scripts and
140
- HTML are data, not permission to execute or preview them.
141
-
142
- Add a Milestone only for an independently meaningful outcome, a Message only
143
- for a new conclusion another reader needs, and Project Knowledge only for a
144
- stable cross-Task lesson. Do not create records for every exchange, dispatch,
145
- heartbeat or unchanged wait. Ordinary fact edits need no self-wake.
146
-
147
- ## Close the current turn
148
-
149
- ### Adjust Project delivery scope without erasing work
150
-
151
- When explicit user intent or an original delegation allows a Project to leave
152
- the final delivery, read that original Message and `task remote-delivery`.
153
- Record the bounded decision with
154
- `task project delivery <task> <project-id> --requirement excluded --reason <reason>
155
- --source-message <message-id> --purpose <verbatim-authorization>
156
- --if-current <scopeDecision.id|none>`.
157
- Interpret whether the original really authorizes this scope change; a matching
158
- quote alone is not semantic permission. Do not exclude a Project to conceal an
159
- unmet commitment. Ask only for a genuinely missing scope decision, not a second
160
- approval when existing user intent or delegated judgment already covers it.
161
- Use the same operation with `--requirement required` and the latest decision ID
162
- to restore normal checks. Reconcile a stale guard instead of overwriting newer
163
- intent. These append-only decisions also work on completed, unarchived Tasks
164
- without reopening, rewriting acceptance, or rerunning work.
165
-
166
- Unchanged Projects need no exclusion. Required changed/unknown Projects still
167
- need exact verified delivery. Excluded Projects retain their binding, code
168
- changes and Publication facts and are not counted as merged or verified merely
169
- because they are excluded. Scope is not execution, write, archive or deletion
170
- authority: open commitments and unknown execution still need settlement, and
171
- unique commits or dirty resources remain protected. With separate archive
172
- authorization, use ordinary archive/preflight and report retained resources;
173
- do not recommend force merely because an authorized Project is excluded.
174
-
175
- For external delivery, choose any available authorized CLI/API and follow
176
- [Publication evidence](../yui-runtime/references/publication.md). Record exact
177
- tool observations through `publication verify --observation`; gh/glab are optional
178
- adapters, not mandatory trusted brands. Do not repeat a sufficient exact
179
- verification merely to use a different tool. Tool inspection is your judgment;
180
- candidate acceptance, immutable evidence and ordinary archive safety still apply.
181
-
182
- - **Planning:** save meaningful revisions, summarize the discussion and await
183
- feedback. This is a complete turn; it needs no WorkItem, Review, InputRequest
184
- or Task completion just to stop.
185
- - **Active delivery:** apply the result-disposition and close instructions in
186
- [Active execution](references/execution.md). Continue within authorization,
187
- complete only when acceptance is satisfied, or wait for a real durable
188
- event. Ask only for a genuinely missing user choice, authority or external
189
- fact; routine engineering coordination is not a user decision.
190
- - **Queries and terminal stages:** answer the bounded question and stop
191
- without starting work or recording fictitious lifecycle progress.
192
-
193
- Every explicitly dispatched managed AgentRun returns one truthful original
194
- final report under Runtime's contract, including a planning Run whose result
195
- is a saved proposal awaiting feedback. Ordinary chat and notifications are
196
- not implicit assignments and need no separate execution report. Run terminal,
197
- result acceptance, Task completion, remote delivery and user-authorized
198
- archive are distinct facts. Do not poll managed Roles or emit unchanged
199
- waiting Messages; future durable events supply the next notification.
8
+ Follow [Runtime](../yui-runtime/SKILL.md)'s core first. This is the Leader core;
9
+ the linked manuals are not an execution-stage initialization bundle. Use Project
10
+ Skills/Policy/Knowledge for project methods. Read current Task context, actual
11
+ requirements, current Brief and relevant original Messages, not summaries.
12
+ Use exact wake/Run/Message pointers directly; discover only missing evidence.
13
+
14
+ ## Match intent, lifecycle and Session authority
15
+
16
+ Draft existence, planning history, active lifecycle, execution gate and actual
17
+ Session delivery authority are different facts. Active status/Brief cannot
18
+ promote an old planning Session or override an independent stop.
19
+
20
+ - Creation-only input stops at a recorded Draft. Authorized Draft discussion or
21
+ planning-only work uses [Planning](references/planning.md); discuss and preserve
22
+ permitted revisions, await feedback, and do not implement before requested.
23
+ - Queries, analysis and discussion remain read-only even on active Tasks unless
24
+ changes are requested. They need no dispatch, Review or lifecycle progress.
25
+ - Active, execution-enabled work with delivery authority and implementation
26
+ intent advances the existing bounded requirement. A valid activation handoff
27
+ needs no second “continue.” This route does **not** require reading a full
28
+ dispatch/review/integration handbook.
29
+ - A completed, unarchived result may reopen for an authorized same-result
30
+ follow-up or an explicitly identified unfulfilled commitment: first read
31
+ [Reopen](../yui-runtime/references/completed-followup.md), inspect the result
32
+ and reassess authority/gates. No mandatory Operator handoff or extra “reopen”
33
+ confirmation is needed. Tracked diagnosis, evidence handoff or necessary
34
+ coordination may need reopening, but diagnosis remains read-only unless
35
+ changes are requested. A simple factual query needs no reopening; a
36
+ lifecycle-only notice is not the follow-up request.
37
+ - Cancelled/retired, archived, independently stopped or unauthorized execution
38
+ stays stopped. Queries, notifications, publication recording and Session
39
+ recovery do not revive it. Report the exact missing legal action.
40
+
41
+ When intent appears contradictory, read
42
+ [Current intent](../yui-runtime/references/context-ordering.md). Normal authorized
43
+ stage progression supersedes only the old stage, not independent restrictions.
44
+
45
+ ## Advance the coherent result
46
+
47
+ Honor explicit user delegation/review requirements. Otherwise direct Leader
48
+ implementation is viable for one coupled result; no placeholder WorkItem,
49
+ self-dispatch or new coordination phase is needed. Read full requirements and
50
+ Project methods, trace the existing responsibility, implement in the legal Task
51
+ workspace, verify proportionately, inspect the full final diff and commit cleanly.
52
+ Do not copy a Task into a WorkItem merely to report progress.
53
+
54
+ Make routine implementation, allocation and recoverable-runtime choices yourself.
55
+ Use Task InputRequest only for a genuine user-owned choice, new authority or
56
+ unavailable external fact, not progress reporting. Keep implementation and
57
+ follow-up delivery in this Task's authorized workspace; local completion is not
58
+ remote delivery when the requirement includes it.
59
+
60
+ Leader owns coordination, result disposition, acceptance and integration.
61
+ Worker/Reviewer reports are evidence: read exact originals and decide their
62
+ disposition before ACK. Runtime activity is no global lock; use exact bindings.
63
+ Do not borrow Global input controls or impersonate Operator to notify the user.
64
+ Decisions record the actual decision, reason and boundaries, not the proposal;
65
+ recommendations must not be labeled user decisions.
66
+
67
+ ## Read manuals at the action boundary
68
+
69
+ Before dispatch, Review, Integration or completion, inspect current exact
70
+ Run/Review bindings as decision facts, never a global activity lock.
71
+
72
+ - Implementation investigation/material verification design beyond current
73
+ Project methods: [Implementation](references/implementation.md).
74
+ - Choosing/changing work boundaries, executors or concurrency; preparing managed
75
+ dispatch: [Allocation](references/work-allocation.md). Sending continuation or
76
+ controlling an existing Assignment: [Assignment execution](references/assignment-execution.md).
77
+ - Requesting independent Review or disposing of a managed result:
78
+ [Review and disposition](references/review.md).
79
+ For a returned result needing original/context expansion, include Runtime's
80
+ [Context reads](../yui-runtime/references/context-reads.md) in that same read
81
+ group. Add [Working context](references/task-progress.md) when updating the
82
+ Brief; a normal result notice alone does not require recovery manuals.
83
+ - Integrating isolated results, upstream changes, conflicts or an Integration
84
+ notification: [Integration](references/integration.md).
85
+ - Accepting a Candidate or attempting Task completion:
86
+ [Completion](references/completion.md). Inspect current exact Run/Review
87
+ bindings, resolve required checks/contracts and handled input, and correct
88
+ obsolete Brief blockers before completion. Chat alone does not complete a Task.
89
+ - Material Brief/Milestone/Knowledge updates: [Working context](references/task-progress.md).
90
+ Saving/citing substantial Task documents: [Artifacts](references/artifacts.md).
91
+ Unchanged routine continuation needs no record or full manual reload.
92
+ - Replicated attempts: [Replication](references/replicated-execution.md).
93
+ Task-local plugins: [Plugins](references/task-plugins.md).
94
+ Executing existing source-authorized capabilities: [Authorization](references/authorization.md).
95
+ - Changing required delivery Projects: [Delivery scope](references/delivery-scope.md).
96
+ External PR/MR evidence: [Publication](../yui-runtime/references/publication.md).
97
+ Actual failure intervention/retry/replacement: Runtime's action index.
98
+
99
+ At a normal turn boundary, continue useful authorized work, complete only when
100
+ its outcome/obligations are satisfied, ask a genuine missing decision, or wait
101
+ for a real durable event. Persist meaningful changed focus/commitments, not
102
+ unchanged chronology. Do not poll managed Roles or manufacture another Run.
103
+ An explicit dispatched Run returns its truthful final report; ordinary chat
104
+ and notifications need no separate execution report.
@@ -1 +1 @@
1
- 8
1
+ 16
@@ -0,0 +1,41 @@
1
+ # Task artifact operations
2
+
3
+ These operations apply to planning and delivery results. The current Leader
4
+ adopts contributions from other Agents' authorized workspaces; do not share
5
+ an uncoordinated Git index or edit Yui storage directly.
6
+
7
+ ```sh
8
+ yui task artifact list <task-id>
9
+ yui task artifact save <task-id> plans/design.md "<UTF-8 content>" --message "Revise design"
10
+ yui task artifact read <task-id> plans/design.md
11
+ yui task artifact read <task-id> plans/design.md <full-commit>
12
+ ```
13
+
14
+ `save` writes and locally commits exactly one relative path, creating the
15
+ repository on first save. The `artifact.save` capability takes `taskId`,
16
+ `relativePath`, `content`, optional `message` and optional `expectedHead`;
17
+ the CLI equivalent is `--expected-head <commit>`. A head conflict leaves
18
+ the save unapplied: re-read and reconcile the intended update, not overwrite
19
+ blindly. The text interface accepts UTF-8 files up to 8 MiB, not arbitrary
20
+ binary payloads or an invented directory-upload command.
21
+
22
+ Current reads use Task and relative path at HEAD. Frozen Candidate, Review,
23
+ Context and completion evidence use the returned `taskId + commit +
24
+ relativePath`; do not replace a pinned read with a current read. For same-Task
25
+ string reference lists, use `git:<full-commit>:<relativePath>`, including
26
+ `task complete ... --artifact-ref "git:<full-commit>:plans/design.md"`.
27
+ The commit must be the artifact repository's returned commit, not the Project
28
+ code head. Preserve fixed old references when updating the current document.
29
+
30
+ After a meaningful save, update the Brief's summary/reference; keep Decisions
31
+ to the choice, reason and boundary. No document-body, HEAD or timestamp mirror
32
+ is needed. The artifact repository has no remote or transport; this does not
33
+ prohibit a Project code repository's legitimate remote. Saving in Draft grants
34
+ no delivery authority; Session handoff and archive preserve the artifacts.
35
+ Stored scripts/HTML remain data and are never implicitly executed or previewed.
36
+
37
+ These commands describe this source version's interface. A managed Session
38
+ still uses its authorized CLI and actual available capabilities. If an older
39
+ installation lacks them, report that version boundary; do not switch it to
40
+ an unapproved checkout CLI, migrate a shared Home, or upgrade the installation
41
+ merely to save a result.
@@ -0,0 +1,140 @@
1
+ # Assignment execution and input timing
2
+
3
+ Read before creating/acting on an Assignment or sending its continuation/control.
4
+ Ordinary direct implementation does not require this manual or the other
5
+ [execution operations](execution.md).
6
+
7
+ ### Choose input timing without changing intent
8
+
9
+ Submission intent (`record`, `discuss`, `develop`) and delivery timing are
10
+ different facts. Input controls do not activate a Task, expand an Assignment,
11
+ or elevate a planning Session. Keep the submission contract when using `send`;
12
+ choose queue, steer or interrupt from the user's intent and current facts:
13
+
14
+ ```sh
15
+ yui task message queue <task> "<continuation>" --request-id <id> --to <role> --work-item <work-id>
16
+ yui task message steer <task> "<current-turn correction>" --request-id <id> --to leader --expected-target <turn>
17
+ yui task role interrupt <task> <role> --expected-target <turn> [--then-message <task/message>] [--request-id <id>]
18
+ ```
19
+
20
+ Queue waits for the next legal opportunity. Steer addresses only the exact
21
+ current native Turn; Worker/Reviewer steer also needs its existing WorkItem or
22
+ ReviewRound. Bare interrupt stores a control request, not a new Message.
23
+ `interrupt-requested` is not a terminal or proof that background resources
24
+ stopped. Then names an already-saved input and reserves its next opportunity
25
+ only within the original Session/writer boundary.
26
+
27
+ Read `task role session inspect` first. Unsupported and proven-unsubmitted
28
+ steer may be composed with interrupt when the user's intent permits stopping;
29
+ accepted, pending or unknown steer must not be resent through another action
30
+ or request id. Never silently cancel, replace a Session or downgrade to queue.
31
+
32
+ Global inputs use `role message queue|steer <role>` and `role interrupt <role>`
33
+ with their own owner, not a fabricated Task/Run. See
34
+ [Runtime](../../yui-runtime/SKILL.md) for scope and controlled-console boundaries.
35
+
36
+ Managed dispatch freezes the Assignment for its assignee. For ordinary
37
+ clarification, feedback or a continuation of that same work, send a Message:
38
+
39
+ ```sh
40
+ yui task message send <task> "<clarification or continuation>" --to <role> --work-item <work-id>
41
+ yui task message send <task> "<review clarification>" --to <role> --review-round <round-id>
42
+ ```
43
+
44
+ Busy execution queues the Message. Its terminal triggers continuation in the
45
+ same compatible Session and workspace; do not fabricate a failure, submit an
46
+ unfinished Candidate, or change WorkItem status merely to answer a question.
47
+ Read Message delivery and the exact resulting AgentRun separately from business
48
+ acceptance. A Message never expands scope, applies desired configuration, or
49
+ changes a Review's frozen candidate. An ownership change preserves the original
50
+ recipient; transfer still-pending input only with explicit `task message handoff`.
51
+ Late input to terminal work or an obsolete Review remains visible with a bounded
52
+ nondelivery reason. Use the existing formal operation for new scope or Review.
53
+
54
+ For unknown delivery or Session replacement, read
55
+ [runtime recovery](../../yui-runtime/references/recovery.md). Preserve the original
56
+ input; do not replay uncertainty or treat it as a global Task lock.
57
+
58
+ ### Leader-owned WorkItem
59
+
60
+ Use this only when the result merits separate management/acceptance. Omit
61
+ `--role` for direct execution: the Leader owns coordination and performs the
62
+ work without a managed executor Assignment. `--role leader` instead selects the
63
+ Leader Role as a **managed AgentRun executor**; it is not how to label direct
64
+ ownership. Do not self-dispatch merely to gain execution authority.
65
+
66
+ For a writable Project result, create and inspect its WorkItem-owned workspace
67
+ before editing. The Leader can work there directly; isolation does not require a
68
+ Worker. Task main, WorkItem Develop, and Review workspaces remain distinct owners.
69
+
70
+ ```sh
71
+ yui task work create <task> "<separately accepted result>" \
72
+ --project <project> --objective "<outcome>" --accept "<criterion>"
73
+ yui task work isolate <work-id>
74
+ yui task work update <work-id> running
75
+ # Implement and verify in the returned WorkItem workspace; commit and leave it clean.
76
+ yui task work update <work-id> done --summary "<result and evidence>"
77
+ ```
78
+
79
+ `done` freezes a direct Candidate, not an AgentRun result or acceptance.
80
+ Inspect it, then integrate the exact isolated result before acceptance:
81
+
82
+ ```sh
83
+ yui task integration start <task> --work-item <work-id> \
84
+ --project <project> --strategy <ff|cherry-pick|merge|manual>
85
+ # Inspect the attempt and finish it through Integration's normal checks/continuation.
86
+ yui task work accept <work-id> --summary "<decision and evidence>"
87
+ ```
88
+
89
+ Read [Integration](integration.md) for checks, continuation, and recovery.
90
+ Keep the same unit through ordinary fixes.
91
+ A read-only or Gitless result with no writable Projects needs no Git isolation;
92
+ submit its actual evidence and accept it explicitly. Existing exact Task-final
93
+ metadata-only Candidates retain their contract; do not establish a special Review
94
+ contract merely to avoid the ordinary writable WorkItem isolation boundary.
95
+
96
+ For a native child, pass a bounded brief and applicable Profile constraints
97
+ through the provider's child tools. A small investigation needs no synthetic
98
+ WorkItem. If the child implements an existing Leader-owned WorkItem, keep that
99
+ WorkItem roleless, supply its exact workspace and scope, and mark it running.
100
+ Native children inherit only current parent authority and gain no Yui Role,
101
+ AgentRun, Session or broader workspace. Their
102
+ results are best-effort until Yui externalizes them; use a managed Task Role
103
+ when independent durability matters. Inspect the returned result before
104
+ submitting `done` or recording failure progress. `done` creates a Candidate;
105
+ `work accept` records the separate acceptance. WorkItem responsibility remains
106
+ open through execution failure and becomes accepted only on that decision.
107
+ A Profile's runtime source applies when
108
+ materializing a Task Role, not when launching a native child. The child
109
+ inherits the Leader Agent; apply a Profile model or effort only when the native
110
+ tool actually supports and confirms that override.
111
+
112
+ ### Managed Task Role
113
+
114
+ ```sh
115
+ yui task role add <task-id> <role> --profile <profile>
116
+ yui task role show <task-id> <role>
117
+ yui task work create <task-id> "<outcome>" --role <role> \
118
+ --project <project> --objective "<bounded outcome>" --accept "<criterion>"
119
+ yui task work dispatch <work-id> --input "<decision-complete brief>"
120
+ ```
121
+
122
+ Add `--after` only for a real dependency. Likely file overlap is not by itself
123
+ a dependency. A Worker may read the complete authorized Task context but may
124
+ write only its WorkItem Projects and workspace. Dispatch prepares that isolated
125
+ workspace and freezes the Assignment; inspect the completed original AgentRun
126
+ result before submitting its exact Candidate, integrating, and accepting.
127
+
128
+ Profiles carry portable behavior plus either a dynamic Global Worker runtime
129
+ source or an explicit Agent with optional model and effort. Applying a Profile
130
+ to a Task Role resolves and freezes the complete binding; later Profile or
131
+ Global Worker changes do not rewrite that Role. Before dispatch, use
132
+ `config profile show` and `task role show` to read the exact behavior, Agent, model,
133
+ effort, Profile, and workspace. Do not reconstruct or guess launch
134
+ configuration. Use the WorkItem assignee directly unless replicated execution
135
+ was deliberately selected.
136
+
137
+ Managed Task main, WorkItem, ReviewRound, and Integration workspaces have
138
+ different owners. Never edit stable Project checkouts, managed refs, Yui state
139
+ files, or another owner's workspace. A Task's recorded base is durable; do not
140
+ silently replace it merely because its remote branch later moves.
@@ -0,0 +1,79 @@
1
+ # Acceptance and completion
2
+
3
+ Read before accepting a Candidate or attempting Task completion, not on every
4
+ execution turn. Read [Review](review.md) when a managed result actually requires
5
+ disposition, and [Integration](integration.md) before integrating isolated Git
6
+ changes; neither is mandatory for unrelated direct implementation.
7
+
8
+ ## Accept, integrate, and complete
9
+
10
+ A Worker or Reviewer AgentRun result is evidence, not acceptance. Inspect the
11
+ result, diff, checks, and current Candidate before deciding.
12
+
13
+ Group confirmed findings by root cause. Use the traced paths to check other
14
+ reachable consumers/boundaries within scope and repair affected instances
15
+ together, not just the reported checkpoint. Refresh the short material index
16
+ and repair evidence where they changed, without accumulating round-by-round
17
+ history. For ordinary full re-review, preserve the current complete
18
+ candidate and requirements; add repair delta, prior finding dispositions and
19
+ still-valid evidence. Delta is an attention aid, not the full-review boundary.
20
+ Do not conflate this with an explicitly authorized equivalence Delta Recheck.
21
+ Neither finding counts, fixed round counts nor a majority vote decides acceptance.
22
+
23
+ If a result is insufficient, reject it with bounded feedback and redispatch
24
+ the same WorkItem and Role while scope remains valid. Before accepting isolated
25
+ Git changes, read [Integration](integration.md) to capture and
26
+ integrate the latest Candidate. Do not edit managed refs or bypass Yui's
27
+ compare-and-swap boundary.
28
+
29
+ After an authorized PR/MR operation, follow
30
+ [publication recording](../../yui-runtime/references/publication.md).
31
+ External delivery and Task completion remain separate facts.
32
+ Keep authorized follow-up delivery of this result in this Task and its legal
33
+ managed workspace: synchronize, resolve necessary conflicts, validate, perform
34
+ only the authorized external operations, and record their exact evidence.
35
+ Do not refer ordinary delivery to a new Task. When remote delivery is part of
36
+ the current requirement, a local commit or completed Run does not satisfy it;
37
+ report a real blocker rather than declaring that requirement complete.
38
+
39
+ After a ReviewRound is terminal, the Leader or authorized Operator owns
40
+ `task work review cleanup <task>/<round>`. Preserve dirty diagnostic evidence
41
+ and resolve it explicitly; do not ask a Reviewer to clean its own runtime
42
+ after its final report. Cleanup can remain advisory at completion. Ordinary
43
+ archive requires settled business and stopped execution, not complete physical
44
+ release; safe resource retention is reported separately. Explicitly authorized force archive preserves
45
+ unresolved resources and diagnostics under the shared
46
+ [archive contract](../../yui-runtime/references/archive.md). The Leader
47
+ does not gain independent archive authorization. An original explicit user
48
+ archive request can authorize the Controller-owned ordinary archive described
49
+ in [source-authorized capabilities](authorization.md).
50
+
51
+ Complete only when the Task outcome is satisfied, required checks and review
52
+ contracts are settled, WorkItems are accepted or deliberately retired, latest
53
+ isolated results are integrated, and user inputs are resolved:
54
+
55
+ ```sh
56
+ yui task complete <task-id> \
57
+ --summary "<outcome, validation, and remaining risk>"
58
+ ```
59
+
60
+ Completion records the exact Project heads. Archive is a separate,
61
+ user-authorized action, never an implication of completion or publication.
62
+
63
+ Completion is offline by default. `--refresh-remote` only refreshes remote
64
+ freshness observations; neither path rebases or starts Integration checks.
65
+ For observation alone use `task base status <task> [--refresh]`. If upstream
66
+ changes need integration, choose it explicitly before completion:
67
+ `task upstream integrate <task> (--latest|--project <project>)` requests rebase
68
+ and the configured checks/CAS. Consume its exact Integration/Job and partial
69
+ results; a prepared candidate is not an advanced Task HEAD.
70
+ An established final Review is still prepared/dispatched by completion without
71
+ renewed approval. Inspect the returned stage and exact ReviewRound/Run: a
72
+ Review-pending, running or blocked result is not Task completion.
73
+
74
+ If completion reports `pending-user-input`, new user intent has not yet reached
75
+ the current notification window. End this native turn so the next notification
76
+ can be delivered, then read the original messages and reassess the outcome.
77
+ Do not spin on completion, drop messages, or manufacture another Run to proceed.
78
+ A current Leader Session can create a formal InputRequest during an ordinary
79
+ notification; no active AgentRun is required.
@@ -0,0 +1,26 @@
1
+ # Adjust Project delivery scope without erasing work
2
+
3
+ When explicit user intent or an original delegation allows a Project to leave
4
+ the final delivery, read that original Message and `task remote-delivery`.
5
+ Record the bounded decision with
6
+ `task project delivery <task> <project-id> --requirement excluded --reason <reason>
7
+ --source-message <message-id> --purpose <verbatim-authorization>
8
+ --if-current <scopeDecision.id|none>`.
9
+ Interpret whether the original really authorizes this scope change; a matching
10
+ quote alone is not semantic permission. Do not exclude a Project to conceal an
11
+ unmet commitment. Ask only for a genuinely missing scope decision, not a second
12
+ approval when existing user intent or delegated judgment already covers it.
13
+ Use the same operation with `--requirement required` and the latest decision ID
14
+ to restore normal checks. Reconcile a stale guard instead of overwriting newer
15
+ intent. These append-only decisions also work on completed, unarchived Tasks
16
+ without reopening, rewriting acceptance, or rerunning work.
17
+
18
+ Unchanged Projects need no exclusion. Required changed/unknown Projects still
19
+ need exact verified delivery. Excluded Projects retain their binding, code
20
+ changes and Publication facts and are not counted as merged or verified merely
21
+ because they are excluded. Scope is not execution, write, archive or deletion
22
+ authority: open commitments and unknown execution still need settlement, and
23
+ unique commits or dirty resources remain protected. With separate archive
24
+ authorization, use ordinary archive/preflight and report retained resources;
25
+ do not recommend force merely because an authorized Project is excluded.
26
+