@zq-silk/yui 0.15.7 → 0.15.9
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.
- package/ARCHITECTURE.md +194 -399
- package/ARCHITECTURE.zh-CN.md +151 -0
- package/README.md +306 -1131
- package/dist/agent/adapterCatalog.js +15 -2
- package/dist/agent/agent.js +23 -3
- package/dist/agent/argumentPolicy.js +7 -1
- package/dist/agent/connectionPlan.js +62 -0
- package/dist/agent/executionComponents.js +158 -0
- package/dist/agent/launchEnvironment.js +31 -3
- package/dist/agent/managedRuntimeEnvironment.js +3 -5
- package/dist/{turn/turn.js → agentRun/agentRun.js} +166 -109
- package/dist/{turn/turnIdentity.js → agentRun/runIdentity.js} +4 -4
- package/dist/artifacts/artifactCapability.js +74 -0
- package/dist/artifacts/artifactCommitLock.js +249 -0
- package/dist/artifacts/artifactPaths.js +151 -0
- package/dist/artifacts/gitArtifactRef.js +146 -0
- package/dist/artifacts/managedGit.js +332 -0
- package/dist/artifacts/taskArtifactRepository.js +277 -0
- package/dist/brief/taskBrief.js +12 -0
- package/dist/cli/agentConfigurationPicker.js +13 -0
- package/dist/cli/commandCatalog.js +165 -74
- package/dist/cli/interactionCandidates.js +5 -5
- package/dist/cli/interactionPolicy.js +38 -8
- package/dist/cli/invocationRouter.js +1 -1
- package/dist/cli/managedDiagnostics.js +28 -0
- package/dist/cli/operatorWizard.js +1 -7
- package/dist/cli/roleOptionOrder.js +27 -0
- package/dist/cli/roleWizard.js +50 -14
- package/dist/cli/updateOrchestrator.js +1 -1
- package/dist/cli/updatePorts.js +3 -4
- package/dist/cli.js +245 -95
- package/dist/commands/agentCommands.js +72 -14
- package/dist/commands/capabilityCommands.js +9 -6
- package/dist/commands/configCommands.js +20 -20
- package/dist/commands/deliveryGuardPreflight.js +2 -2
- package/dist/commands/executionAuditCommands.js +24 -24
- package/dist/commands/globalRoleCommands.js +1 -1
- package/dist/commands/grantCommands.js +4 -4
- package/dist/commands/operatorCommands.js +34 -9
- package/dist/commands/projectCommands.js +4 -4
- package/dist/commands/resourcesCommands.js +2 -2
- package/dist/commands/roleConfiguration.js +25 -5
- package/dist/commands/roleRuntimeGuard.js +4 -5
- package/dist/commands/sessionCommands.js +3 -7
- package/dist/commands/taskActivationCommands.js +281 -0
- package/dist/commands/taskActor.js +28 -49
- package/dist/commands/taskCommands.js +1461 -720
- package/dist/commands/taskContextCommand.js +39 -583
- package/dist/commands/taskExecutionCommands.js +32 -32
- package/dist/commands/taskInputCommands.js +40 -104
- package/dist/commands/taskIntegrationCommands.js +3 -2
- package/dist/commands/taskIntegrationQueueCommands.js +1 -1
- package/dist/commands/taskNextActionCommand.js +8 -8
- package/dist/commands/taskOverviewCommand.js +33 -45
- package/dist/commands/taskRemoteDeliveryCommand.js +2 -2
- package/dist/commands/taskRoleRuntimeStatus.js +133 -102
- package/dist/commands/telemetryCommands.js +36 -38
- package/dist/config/configCatalog.js +4 -4
- package/dist/config/yuiConfig.js +8 -8
- package/dist/context/contextSnapshot.js +10 -10
- package/dist/context/dispatchContext.js +11 -11
- package/dist/context/roleSessionContext.js +6 -3
- package/dist/context/{turnContextPack.js → runContextPack.js} +158 -81
- package/dist/context/{turnInputContract.js → runInputContract.js} +73 -60
- package/dist/context/sessionBootstrapManifest.js +21 -2
- package/dist/context/sourceRunContext.js +30 -0
- package/dist/context/taskContext.js +481 -0
- package/dist/context/wakeNotification.js +27 -27
- package/dist/controller/agentRuntimeObserver.js +21 -24
- package/dist/controller/capabilityBridge.js +17 -6
- package/dist/controller/clientRuntime.js +65 -92
- package/dist/controller/controller.js +120 -188
- package/dist/controller/fileSchedulerStoreAdapter.js +787 -887
- package/dist/controller/jobControl.js +54 -85
- package/dist/controller/resourceInventory.js +8 -27
- package/dist/controller/resourceInventoryLinux.js +12 -13
- package/dist/controller/runtime.js +529 -479
- package/dist/controller/runtimeEventInbox.js +55 -25
- package/dist/controller/runtimeEventProcessor.js +22 -31
- package/dist/controller/{runtimeHookTurnFence.js → runtimeHookRunFence.js} +91 -115
- package/dist/controller/runtimeLaunchCoordinator.js +80 -426
- package/dist/controller/runtimeObservationHook.js +14 -18
- package/dist/controller/sessionNotify.js +16 -24
- package/dist/controller/sessionOwnerReconciliation.js +168 -50
- package/dist/controller/structuredProviderObservation.js +138 -99
- package/dist/coordination/workMailbox.js +3 -3
- package/dist/coordination/workMailboxQueue.js +36 -33
- package/dist/core/boundedRpc.js +8 -1
- package/dist/core/controllerClient.js +20 -1
- package/dist/core/controllerServer.js +4 -4
- package/dist/doctor/doctor.js +13 -2
- package/dist/domain/agentResultTransport.js +9 -9
- package/dist/execution/codexThreadNaming.js +2 -8
- package/dist/execution/executionHealth.js +51 -63
- package/dist/execution/reviewMainRun.js +137 -0
- package/dist/execution/workItemExecution.js +28 -29
- package/dist/execution/workItemExecutionProjection.js +99 -107
- package/dist/execution/workItemMainRun.js +141 -0
- package/dist/executor/agentAdapter.js +227 -20
- package/dist/executor/agentConfigurationCatalog.js +126 -4
- package/dist/executor/agentConfigurationProbe.js +162 -4
- package/dist/executor/agentExecutor.js +79 -78
- package/dist/executor/effectiveLaunch.js +105 -18
- package/dist/executor/executorRegistry.js +29 -44
- package/dist/executor/fileRoleLaunchPlanner.js +229 -154
- package/dist/executor/workspacePreflightClassification.js +16 -16
- package/dist/grant/capabilityGrant.js +6 -3
- package/dist/input/inputRequest.js +12 -10
- package/dist/integration/gitIntegrationService.js +4 -11
- package/dist/integration/integrationQueueService.js +4 -4
- package/dist/interaction/operatorPresentation.js +1 -1
- package/dist/kernel/builtinCapabilities.js +255 -12
- package/dist/kernel/capabilityRegistry.js +64 -18
- package/dist/kernel/instanceHost.js +12 -1
- package/dist/kernel/kernelPorts.js +2 -2
- package/dist/lifecycle/canonicalLifecycleEvent.js +44 -49
- package/dist/lifecycle/exactRunTerminalization.js +449 -0
- package/dist/message/message.js +118 -6
- package/dist/message/messageContinuation.js +204 -0
- package/dist/observability/executionAudit.js +70 -72
- package/dist/observability/faultClassification.js +2 -2
- package/dist/observability/orchestrationMetrics.js +8 -8
- package/dist/operator/operatorSessionHistory.js +1 -7
- package/dist/output/agentConfigurationPresentation.js +8 -3
- package/dist/output/agentRunConfigurationPresentation.js +128 -0
- package/dist/output/rolePresentation.js +54 -3
- package/dist/plugins/pluginChild.js +104 -0
- package/dist/plugins/pluginIntent.js +26 -0
- package/dist/plugins/pluginInterpreter.js +43 -0
- package/dist/plugins/pluginPackage.js +101 -0
- package/dist/plugins/pluginProcess.js +112 -0
- package/dist/plugins/pluginService.js +388 -0
- package/dist/profile/agentProfile.js +1 -1
- package/dist/repository/gitWorkspace.js +26 -4
- package/dist/repository/project.js +19 -4
- package/dist/repository/taskBaseFreshness.js +13 -13
- package/dist/repository/taskWorkspaceCoordinator.js +20 -27
- package/dist/repository/taskWorkspacePreparer.js +344 -83
- package/dist/resources/autoResourceGc.js +3 -3
- package/dist/resources/liveReferences.js +3 -3
- package/dist/resources/projectResource.js +75 -0
- package/dist/resources/projectResourceService.js +343 -0
- package/dist/resources/resourceDiscovery.js +6 -6
- package/dist/resources/resourceGc.js +1 -1
- package/dist/resources/resourceRegistrar.js +1 -1
- package/dist/resources/resourceTypes.js +1 -1
- package/dist/review/deltaRecheck.js +3 -3
- package/dist/review/reviewAcceptance.js +16 -16
- package/dist/review/reviewDecision.js +7 -7
- package/dist/review/reviewRound.js +21 -20
- package/dist/review/reviewerAvailability.js +2 -2
- package/dist/role/role.js +51 -7
- package/dist/role/taskRoleUpdate.js +30 -0
- package/dist/runtime/acpProtocol.js +425 -0
- package/dist/runtime/acpSession.js +731 -0
- package/dist/runtime/acpSessionConfiguration.js +260 -0
- package/dist/runtime/agentDriver.js +30 -11
- package/dist/runtime/agentEndpoint.js +278 -0
- package/dist/runtime/agentEndpointIdentity.js +86 -0
- package/dist/runtime/agentEndpointOwnership.js +239 -0
- package/dist/runtime/agentError.js +2 -10
- package/dist/runtime/agentHost.js +565 -314
- package/dist/runtime/agentRunConfiguration.js +258 -0
- package/dist/runtime/builtinAgentDrivers.js +134 -18
- package/dist/runtime/builtinAgentErrorMappers.js +55 -3
- package/dist/runtime/builtinTranscriptUsage.js +1 -1
- package/dist/runtime/claude-process-owner +0 -0
- package/dist/runtime/codexAppServerRuntime.js +38 -30
- package/dist/runtime/codexInteractiveHost.js +41 -6
- package/dist/runtime/continuationManager.js +2 -6
- package/dist/runtime/executionEnvironment.js +30 -0
- package/dist/runtime/firstProgressAdvisory.js +11 -11
- package/dist/runtime/index.js +4 -3
- package/dist/runtime/jsonLineChannel.js +109 -0
- package/dist/runtime/launchBroker.js +91 -16
- package/dist/runtime/launchDiagnostics.js +2 -2
- package/dist/runtime/lifecycleReservation.js +10 -18
- package/dist/runtime/managedCaller.js +61 -17
- package/dist/runtime/nativeSessionControl.js +102 -0
- package/dist/runtime/ports.js +6 -21
- package/dist/runtime/processExitObservation.js +8 -7
- package/dist/runtime/promptEnvelope.js +17 -6
- package/dist/runtime/providerContinuation.js +3 -9
- package/dist/runtime/providerContinuationReconciliationService.js +4 -13
- package/dist/runtime/providerControl.js +2 -7
- package/dist/runtime/providerRuntimeIdentity.js +110 -222
- package/dist/runtime/providerRuntimeReconciler.js +5 -9
- package/dist/runtime/runtimeBinding.js +0 -1
- package/dist/runtime/runtimeContinuationProjection.js +4 -7
- package/dist/runtime/runtimeDeadlines.js +9 -0
- package/dist/runtime/runtimeHealthPolicy.js +1 -1
- package/dist/runtime/runtimeObservation.js +29 -65
- package/dist/runtime/runtimeProjection.js +43 -51
- package/dist/runtime/runtimeSessionCandidate.js +1 -3
- package/dist/runtime/sessionLaunchRequest.js +3 -7
- package/dist/runtime/sessionOwnerIdentity.js +7 -54
- package/dist/runtime/sessionOwnerRegistry.js +22 -17
- package/dist/runtime/sessionReconciliation.js +4 -8
- package/dist/runtime/sessionTerminationGuard.js +70 -259
- package/dist/runtime/sessionTokenMetrics.js +5 -16
- package/dist/runtime/structuredProviderHost.js +237 -117
- package/dist/runtime/taskRuntimeIsolation.js +39 -122
- package/dist/runtime/tmuxAdapters.js +39 -86
- package/dist/scheduler/activeRoleRunDelivery.js +354 -0
- package/dist/scheduler/leaderWakeupProcessor.js +75 -266
- package/dist/scheduler/operatorInputNotificationProcessor.js +1 -1
- package/dist/scheduler/ports.js +80 -9
- package/dist/scheduler/{roleTurnLiveness.js → roleRunLiveness.js} +26 -30
- package/dist/scheduler/{roleTurnStall.js → roleRunStall.js} +128 -139
- package/dist/scheduler/taskExecutionProjection.js +120 -124
- package/dist/scheduler/taskObservabilityProjection.js +29 -29
- package/dist/scheduler/taskWake.js +11 -4
- package/dist/scheduler/wakeReason.js +9 -1
- package/dist/setup/setupCommand.js +3 -7
- package/dist/storage/migrations/agentRunContract.js +159 -0
- package/dist/storage/migrations/artifactsToGit.js +338 -0
- package/dist/storage/migrations/removeRuntimeGeneration.js +207 -0
- package/dist/storage/migrations/submitIntent.js +126 -0
- package/dist/storage/sqliteSchema.js +467 -7
- package/dist/storage/sqliteStore.js +355 -220
- package/dist/storage/storageVersions.js +1 -1
- package/dist/storage/storeRpc.js +10 -5
- package/dist/storage/taskStore.js +13 -11
- package/dist/storage/upgrade/upgradeOrchestrator.js +5 -7
- package/dist/surface/surfaceContributions.js +102 -0
- package/dist/task/completionReadiness.js +32 -6
- package/dist/task/deliveryGuard.js +16 -16
- package/dist/task/draftPlan.js +72 -12
- package/dist/task/nextAction.js +144 -128
- package/dist/task/remoteDelivery.js +6 -6
- package/dist/task/task.js +184 -18
- package/dist/task/taskActivation.js +327 -0
- package/dist/task/taskActivationService.js +408 -0
- package/dist/task/taskRecordReference.js +5 -4
- package/dist/task/taskRecordRetirement.js +1 -1
- package/dist/task/taskSubmission.js +236 -0
- package/dist/telemetry/sqliteTelemetryStore.js +55 -68
- package/dist/telemetry/telemetryConfig.js +14 -14
- package/dist/telemetry/telemetryWiring.js +2 -2
- package/dist/web/assets/assetManifest.js +2 -0
- package/dist/web/assets/client/app.js +121 -20
- package/dist/web/assets/client/components.js +87 -54
- package/dist/web/assets/client/i18n.js +83 -41
- package/dist/web/assets/client/markdown.js +1 -1
- package/dist/web/assets/client/taskSurface.js +442 -0
- package/dist/web/assets/client/view.js +49 -44
- package/dist/web/assets/shell.js +1 -1
- package/dist/web/assets/styles/cards.js +22 -4
- package/dist/web/controllerWeb.js +60 -0
- package/dist/web/webMutation.js +28 -0
- package/dist/web/webServer.js +133 -8
- package/dist/web/webSnapshot.js +81 -74
- package/dist/web/webTaskSurface.js +64 -0
- package/dist/workItem/dependencyGate.js +1 -1
- package/dist/workItem/workItem.js +84 -48
- package/dist/workspace/workItemChangeSetManager.js +16 -9
- package/docs/agent-result-consumption.md +96 -0
- package/docs/agent-result-consumption.zh-CN.md +81 -0
- package/docs/agent-runtime-drivers.md +93 -0
- package/docs/agent-runtime-drivers.zh-CN.md +77 -0
- package/docs/architecture/README.md +50 -0
- package/docs/architecture/README.zh-CN.md +43 -0
- package/docs/architecture/capabilities-and-resources.md +118 -0
- package/docs/architecture/capabilities-and-resources.zh-CN.md +83 -0
- package/docs/managed-turn-and-session-runtime.md +224 -0
- package/docs/managed-turn-and-session-runtime.zh-CN.md +180 -0
- package/docs/observability/README.md +83 -0
- package/docs/observability/README.zh-CN.md +71 -0
- package/docs/plugin-sdk.md +393 -0
- package/docs/plugin-sdk.zh-CN.md +293 -0
- package/docs/provider-runtime.md +165 -0
- package/docs/provider-runtime.zh-CN.md +132 -0
- package/docs/release-workflow.md +305 -0
- package/docs/release-workflow.zh-CN.md +237 -0
- package/docs/roles-and-configuration.md +115 -0
- package/docs/roles-and-configuration.zh-CN.md +96 -0
- package/docs/sqlite-control-plane-design.md +78 -0
- package/docs/sqlite-control-plane-design.zh-CN.md +62 -0
- package/docs/task-dag-semantics.md +80 -0
- package/docs/task-dag-semantics.zh-CN.md +59 -0
- package/docs/task-delivery.md +105 -0
- package/docs/task-delivery.zh-CN.md +82 -0
- package/docs/task-local-identity.md +8 -6
- package/docs/task-local-identity.zh-CN.md +58 -0
- package/docs/testing/verification-levels.md +88 -0
- package/docs/testing/verification-levels.zh-CN.md +69 -0
- package/i18n/README.zh-CN.md +270 -722
- package/package.json +3 -2
- package/skills/yui-leader/SKILL.md +88 -304
- package/skills/yui-leader/references/execution.md +303 -0
- package/skills/yui-leader/references/integration.md +39 -0
- package/skills/yui-leader/references/planning.md +109 -0
- package/skills/yui-leader/references/replicated-execution.md +42 -0
- package/skills/yui-leader/references/task-plugins.md +37 -0
- package/skills/yui-operator/SKILL.md +46 -62
- package/skills/yui-reviewer/SKILL.md +35 -36
- package/skills/yui-runtime/SKILL.md +88 -24
- package/skills/yui-runtime/references/publication.md +22 -0
- package/skills/yui-runtime/references/recovery.md +64 -0
- package/skills/yui-worker/SKILL.md +37 -39
- package/dist/cli/roleOptionCatalog.js +0 -68
- package/dist/context/sourceTurnContext.js +0 -30
- package/dist/execution/reviewMainTurn.js +0 -161
- package/dist/execution/workItemMainTurn.js +0 -164
- package/dist/lifecycle/exactTurnTerminalization.js +0 -407
- package/dist/runtime/preallocatedNativeSession.js +0 -13
- package/dist/runtime/runtimeStopReceipt.js +0 -42
- package/dist/scheduler/activeRoleTurnDelivery.js +0 -315
|
@@ -0,0 +1,303 @@
|
|
|
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
|
+
## Choose execution topology from ownership
|
|
26
|
+
|
|
27
|
+
A WorkItem is one substantial requirement with an independent owner and useful
|
|
28
|
+
acceptance boundary. It is not a container for every phase, file, test,
|
|
29
|
+
finding, repair, or progress update. Task type, risk labels, file count, and
|
|
30
|
+
subsystem names do not determine topology.
|
|
31
|
+
|
|
32
|
+
Choose the smallest useful executor:
|
|
33
|
+
|
|
34
|
+
1. **Leader directly** when current context, authority, and tools are enough.
|
|
35
|
+
2. **Native subagent** for bounded specialist attention or parallel
|
|
36
|
+
investigation inside the current Agent Session when a best-effort child
|
|
37
|
+
result is sufficient.
|
|
38
|
+
3. **Task Role AgentRun** when work needs independent durable ownership, a distinct
|
|
39
|
+
Agent/provider or credential set, a managed workspace, or a separately
|
|
40
|
+
recoverable Session and AgentRun lifecycle.
|
|
41
|
+
|
|
42
|
+
Create multiple WorkItems only when their requirements can make useful
|
|
43
|
+
independent progress, normally in parallel, and the coordination and
|
|
44
|
+
Integration cost is lower than keeping one coherent owner. Keep coupled
|
|
45
|
+
changes together.
|
|
46
|
+
|
|
47
|
+
An ordinary WorkItem uses its assignee directly; dispatch without `--lane-role`.
|
|
48
|
+
Use [replicated execution](replicated-execution.md) only when
|
|
49
|
+
independent attempts over the same frozen Assignment repay their coordination
|
|
50
|
+
cost. Direct managed execution already provides durable ownership.
|
|
51
|
+
|
|
52
|
+
## Give Agents outcomes, not premature implementations
|
|
53
|
+
|
|
54
|
+
Make delegated work decision-complete:
|
|
55
|
+
|
|
56
|
+
- objective and observable acceptance criteria;
|
|
57
|
+
- relevant Task and Project context;
|
|
58
|
+
- hard scope, authority, and workspace boundaries;
|
|
59
|
+
- known constraints, risks, dependencies, and existing decisions; and
|
|
60
|
+
- expected checks and evidence.
|
|
61
|
+
|
|
62
|
+
Let the receiving Agent choose its implementation plan, internal structure, and
|
|
63
|
+
tools unless a particular ordering or mechanism is itself part of the accepted
|
|
64
|
+
contract. Do not encode the Leader's speculative design as mandatory Worker
|
|
65
|
+
steps.
|
|
66
|
+
|
|
67
|
+
For Project-backed work, use the Project Skills, Policy, and Knowledge exposed
|
|
68
|
+
through current context. Keep repository-specific build, migration, release,
|
|
69
|
+
and test rules in that Project-owned layer.
|
|
70
|
+
|
|
71
|
+
## Inspect execution facts
|
|
72
|
+
|
|
73
|
+
Use `yui task context <task-id>` and `yui task next-action <task-id>` as
|
|
74
|
+
decision support. They expose current facts, exact refs, and legal
|
|
75
|
+
alternatives; they do not replace Leader judgment.
|
|
76
|
+
An empty WorkItem list does not mean the user requested direct execution.
|
|
77
|
+
Honor explicit delegation and independent Review requirements in the user's
|
|
78
|
+
messages and Task Brief. Neither `next-action` nor a disabled default review
|
|
79
|
+
policy authorizes dropping them to make completion easier.
|
|
80
|
+
|
|
81
|
+
An Integration Job's success is not the final target update. For that
|
|
82
|
+
notification, read [Integration](integration.md) and finish the same
|
|
83
|
+
attempt; do not start a duplicate operation.
|
|
84
|
+
|
|
85
|
+
Before dispatch, Review, Integration, or completion, inspect
|
|
86
|
+
`liveTaskState.activeRuns` and `liveTaskState.activeTaskReviews` in the current
|
|
87
|
+
Context Pack. They report work in flight but gate nothing by themselves; reason
|
|
88
|
+
from each exact binding and frozen candidate instead of treating activity as a
|
|
89
|
+
global Task lock.
|
|
90
|
+
|
|
91
|
+
## Execute the chosen path
|
|
92
|
+
|
|
93
|
+
Dispatch establishes the first owner and frozen Assignment. For ordinary
|
|
94
|
+
clarification, feedback or a continuation of that same work, send a Message:
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
yui task message send <task> "<clarification or continuation>" --to <role> --work-item <work-id>
|
|
98
|
+
yui task message send <task> "<review clarification>" --to <role> --review-round <round-id>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Busy execution queues the Message. Its terminal triggers continuation in the
|
|
102
|
+
same compatible Session and workspace; do not fabricate a failure, submit an
|
|
103
|
+
unfinished Candidate, or change WorkItem status merely to answer a question.
|
|
104
|
+
Read Message delivery and the exact resulting AgentRun separately from business
|
|
105
|
+
acceptance. A Message never expands scope, applies desired configuration, or
|
|
106
|
+
changes a Review's frozen candidate. An ownership change preserves the original
|
|
107
|
+
recipient; transfer still-pending input only with explicit `task message handoff`.
|
|
108
|
+
Late input to terminal work or an obsolete Review remains visible with a bounded
|
|
109
|
+
nondelivery reason. Use the existing formal operation for new scope or Review.
|
|
110
|
+
|
|
111
|
+
For unknown delivery or Session replacement, read
|
|
112
|
+
[runtime recovery](../../yui-runtime/references/recovery.md). Preserve the original
|
|
113
|
+
input; do not replay uncertainty or treat it as a global Task lock.
|
|
114
|
+
|
|
115
|
+
For direct work, change only Task main, keep it on its managed branch, commit
|
|
116
|
+
the result, and leave it clean. Run the smallest check that can catch the
|
|
117
|
+
changed behavior while implementing.
|
|
118
|
+
|
|
119
|
+
For a substantial delegated requirement:
|
|
120
|
+
|
|
121
|
+
```sh
|
|
122
|
+
yui task work create <task-id> "<title>" \
|
|
123
|
+
--project <project-to-modify> \
|
|
124
|
+
--objective "<bounded outcome>" \
|
|
125
|
+
--accept "<observable criterion>"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Add `--after` only for a real dependency. Likely file overlap is not by itself
|
|
129
|
+
a dependency. A Worker may read the complete authorized Task context but may
|
|
130
|
+
write only its WorkItem Projects and workspace.
|
|
131
|
+
|
|
132
|
+
For a Leader-owned WorkItem, mark it running, complete it directly, then record
|
|
133
|
+
its actual result:
|
|
134
|
+
|
|
135
|
+
```sh
|
|
136
|
+
yui task work update <work-id> running
|
|
137
|
+
yui task work update <work-id> done --summary "<result and evidence>"
|
|
138
|
+
yui task work accept <work-id> --summary "<explicit acceptance and evidence>"
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
For a native child, pass a bounded brief and applicable Profile constraints
|
|
142
|
+
through the provider's child tools. A small investigation needs no synthetic
|
|
143
|
+
WorkItem. If the child implements an existing Leader-owned WorkItem, keep that
|
|
144
|
+
WorkItem roleless and mark it running. Native children inherit only current
|
|
145
|
+
parent authority and gain no Yui Role, AgentRun, Session or broader workspace. Their
|
|
146
|
+
results are best-effort until Yui externalizes them; use a managed Task Role
|
|
147
|
+
when independent durability matters. Inspect the returned result before
|
|
148
|
+
submitting `done` or recording failure progress. `done` creates a Candidate;
|
|
149
|
+
`work accept` records the separate acceptance. WorkItem responsibility remains
|
|
150
|
+
open through execution failure and becomes accepted only on that decision.
|
|
151
|
+
A Profile's runtime source applies when
|
|
152
|
+
materializing a Task Role, not when launching a native child. The child
|
|
153
|
+
inherits the Leader Agent; apply a Profile model or effort only when the native
|
|
154
|
+
tool actually supports and confirms that override.
|
|
155
|
+
|
|
156
|
+
For a managed Task Role:
|
|
157
|
+
|
|
158
|
+
```sh
|
|
159
|
+
yui task role add <task-id> <role> --profile <profile>
|
|
160
|
+
yui task role show <task-id> <role>
|
|
161
|
+
yui task work create <task-id> "<outcome>" --role <role>
|
|
162
|
+
yui task work dispatch <work-id> --input "<decision-complete brief>"
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Profiles carry portable behavior plus either a dynamic Global Worker runtime
|
|
166
|
+
source or an explicit Agent with optional model and effort. Applying a Profile
|
|
167
|
+
to a Task Role resolves and freezes the complete binding; later Profile or
|
|
168
|
+
Global Worker changes do not rewrite that Role. Before dispatch, use
|
|
169
|
+
`profile show` and `task role show` to read the exact behavior, Agent, model,
|
|
170
|
+
effort, Profile, and workspace. Do not reconstruct or guess launch
|
|
171
|
+
configuration. Use the WorkItem assignee directly unless replicated execution
|
|
172
|
+
was deliberately selected.
|
|
173
|
+
|
|
174
|
+
Managed Task main, WorkItem, ReviewRound, and Integration workspaces have
|
|
175
|
+
different owners. Never edit stable Project checkouts, managed refs, Yui state
|
|
176
|
+
files, or another owner's workspace. A Task's recorded base is durable; do not
|
|
177
|
+
silently replace it merely because its remote branch later moves.
|
|
178
|
+
|
|
179
|
+
## Extend capabilities within this Task's authority
|
|
180
|
+
|
|
181
|
+
Use `capability search`, `describe`, and `call` to inspect current tools.
|
|
182
|
+
Prefer existing tools, composition or a one-off script when sufficient.
|
|
183
|
+
For reusable Task-local capabilities, read [Task plugins](task-plugins.md)
|
|
184
|
+
before creation, validation or activation. Plugin management permission does
|
|
185
|
+
not grant code execution or broader external effects. Never issue your own
|
|
186
|
+
grants, impersonate Operator, or modify the core installation to obtain a tool.
|
|
187
|
+
|
|
188
|
+
## Validate and make the review judgment
|
|
189
|
+
|
|
190
|
+
Use the smallest evidence that establishes the accepted behavior and material
|
|
191
|
+
boundaries. Do not repeat a successful unchanged check. Run the Project's
|
|
192
|
+
complete local delivery validation once on the final candidate when its Policy
|
|
193
|
+
requires it.
|
|
194
|
+
|
|
195
|
+
As part of accepting a WorkItem or completing a Task, decide whether additional
|
|
196
|
+
review would add useful evidence:
|
|
197
|
+
|
|
198
|
+
- inspect directly when the change is clear and existing evidence is enough;
|
|
199
|
+
- use one independent Worker, native child, or Reviewer when independent
|
|
200
|
+
inspection materially reduces a reachable risk; or
|
|
201
|
+
- rely on an already completed applicable Review.
|
|
202
|
+
|
|
203
|
+
This is Leader judgment inside the acceptance decision, not a separate record,
|
|
204
|
+
checklist, or workflow phase. A managed Reviewer is optional unless the user,
|
|
205
|
+
Project or Task Contract requires it. Do not create a
|
|
206
|
+
Reviewer Role or ReviewRound for ceremony. Honor an existing Candidate's
|
|
207
|
+
snapshotted `always` policy and any immutable Task-final Review contract.
|
|
208
|
+
Otherwise choose whether another review adds enough evidence to justify its
|
|
209
|
+
cost.
|
|
210
|
+
|
|
211
|
+
Use one direct main Reviewer by default. If independent replicas materially
|
|
212
|
+
improve evidence, read [replicated execution](replicated-execution.md)
|
|
213
|
+
before dispatch or synthesis. Honor required review contracts even when a
|
|
214
|
+
cheaper execution path is otherwise available.
|
|
215
|
+
|
|
216
|
+
When several WorkItems contribute to one outcome, prefer one independent
|
|
217
|
+
Task-final Review after their accepted results are integrated over repeating a
|
|
218
|
+
complete Review for every WorkItem. Request an earlier WorkItem Review only
|
|
219
|
+
when that frozen Candidate has a specific risk that should be resolved before
|
|
220
|
+
Integration.
|
|
221
|
+
|
|
222
|
+
When a Worker or Reviewer result arrives, resolve its exact AgentRun and read the
|
|
223
|
+
complete original `AgentRunResult.output` before starting new work or waiting
|
|
224
|
+
again. Treat headings or JSON fields only as communication aids; never infer
|
|
225
|
+
that Core parsed or accepted them. Decide whether to accept, repair, review
|
|
226
|
+
again, retry execution, or ask for a genuinely user-owned decision. Route
|
|
227
|
+
reachable issues to the original execution owner. Fix a small Task-main issue
|
|
228
|
+
directly; create a Repair WorkItem only when the repair is itself a substantial
|
|
229
|
+
independently owned requirement.
|
|
230
|
+
|
|
231
|
+
A failed ReviewRound is an execution failure, not an automatic retry or repair
|
|
232
|
+
wave. Inspect its exact Round, AgentRun, candidate, Core failure, and
|
|
233
|
+
`task next-action` facts, then choose the smallest recovery that preserves the
|
|
234
|
+
frozen boundary. Do not invent a retry loop or silently replace the Reviewer
|
|
235
|
+
Session. For replicated execution, choose whether to retry a failed Producer,
|
|
236
|
+
settle that Lane, or synthesize selected available results. Retry a failed
|
|
237
|
+
main synthesis through its exact AgentRun, preserving its selected source snapshot.
|
|
238
|
+
|
|
239
|
+
## Accept, integrate, and complete
|
|
240
|
+
|
|
241
|
+
A Worker or Reviewer AgentRun result is evidence, not acceptance. Inspect the
|
|
242
|
+
result, diff, checks, and current Candidate before deciding.
|
|
243
|
+
|
|
244
|
+
If a result is insufficient, reject it with bounded feedback and redispatch
|
|
245
|
+
the same WorkItem and Role while scope remains valid. Before accepting isolated
|
|
246
|
+
Git changes, read [Integration](integration.md) to capture and
|
|
247
|
+
integrate the latest Candidate. Do not edit managed refs or bypass Yui's
|
|
248
|
+
compare-and-swap boundary.
|
|
249
|
+
|
|
250
|
+
After an authorized PR/MR operation, follow
|
|
251
|
+
[publication recording](../../yui-runtime/references/publication.md).
|
|
252
|
+
External delivery and Task completion remain separate facts.
|
|
253
|
+
|
|
254
|
+
After a ReviewRound is terminal, the Leader or authorized Operator owns
|
|
255
|
+
`task work review cleanup <task>/<round>`. Preserve dirty diagnostic evidence
|
|
256
|
+
and resolve it explicitly; do not ask a Reviewer to clean its own runtime
|
|
257
|
+
after its final report. Cleanup can remain advisory at completion, but all
|
|
258
|
+
required resources must be settled before user-authorized archive.
|
|
259
|
+
|
|
260
|
+
Complete only when the Task outcome is satisfied, required checks and review
|
|
261
|
+
contracts are settled, WorkItems are accepted or deliberately retired, latest
|
|
262
|
+
isolated results are integrated, and user inputs are resolved:
|
|
263
|
+
|
|
264
|
+
```sh
|
|
265
|
+
yui task complete <task-id> \
|
|
266
|
+
--summary "<outcome, validation, and remaining risk>"
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Completion records the exact Project heads. Archive is a separate,
|
|
270
|
+
user-authorized Operator action.
|
|
271
|
+
|
|
272
|
+
If completion reports `pending-user-input`, new user intent has not yet reached
|
|
273
|
+
the current notification window. End this native turn so the next notification
|
|
274
|
+
can be delivered, then read the original messages and reassess the outcome.
|
|
275
|
+
Do not spin on completion, drop messages, or manufacture another Run to proceed.
|
|
276
|
+
A current Leader Session can create a formal InputRequest during an ordinary
|
|
277
|
+
notification; no active AgentRun is required.
|
|
278
|
+
|
|
279
|
+
## Finish an active execution turn
|
|
280
|
+
|
|
281
|
+
Before ending authorized execution:
|
|
282
|
+
|
|
283
|
+
1. Inspect the wake delta, resolve every referenced Worker or Reviewer AgentRun
|
|
284
|
+
with `yui task run show`, read each original result in full, and make the
|
|
285
|
+
next decision.
|
|
286
|
+
2. Persist actual WorkItem lifecycle and material Brief, Decision, Milestone,
|
|
287
|
+
Message, or Knowledge changes.
|
|
288
|
+
3. Choose one truthful outcome: continue through an owned native child, complete
|
|
289
|
+
the Task, create a justified InputRequest, or leave the active Task waiting
|
|
290
|
+
for a real durable event.
|
|
291
|
+
4. For an explicitly dispatched AgentRun, return its truthful original final
|
|
292
|
+
report with outcome, checks, remaining risk and bounded next action.
|
|
293
|
+
Direct conversation and notifications do not require a separate execution
|
|
294
|
+
report; use the [stage-specific close](../SKILL.md#close-the-current-turn).
|
|
295
|
+
|
|
296
|
+
Do not claim completion only in prose when durable Task or WorkItem state still
|
|
297
|
+
needs updating. Do not poll managed Roles or emit waiting Messages. Managed
|
|
298
|
+
results enter a later Leader notification; that notification is not an implicit
|
|
299
|
+
AgentRun and requires no separate execution report. An unchanged active Task remains quiet.
|
|
300
|
+
|
|
301
|
+
Use the shared [runtime recovery](../../yui-runtime/references/recovery.md) contract
|
|
302
|
+
for failed execution. Persist successor context before replacing yourself,
|
|
303
|
+
then end this turn; engineering cleanup is not discarded Task intent.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Integrate an isolated result
|
|
2
|
+
|
|
3
|
+
Read this before integrating a WorkItem Candidate or handling an Integration
|
|
4
|
+
notification. Inspect the original result, diff, checks and exact Candidate.
|
|
5
|
+
If insufficient, return bounded feedback to the owning WorkItem/Role while
|
|
6
|
+
its scope remains valid.
|
|
7
|
+
|
|
8
|
+
For acceptable isolated Git changes, capture and integrate the latest Candidate
|
|
9
|
+
before acceptance:
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
yui task work capture <work-id>
|
|
13
|
+
yui task integration start <task> --project <project> \
|
|
14
|
+
--change-set <change-set-id> \
|
|
15
|
+
--check "<Project Policy command>"
|
|
16
|
+
yui task work accept <work-id> --summary "<decision and evidence>"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
These are distinct decisions; confirm Integration succeeded before acceptance.
|
|
20
|
+
Preserve each managed workspace's owner and the Task's recorded base. Do not
|
|
21
|
+
silently advance that base because a remote branch moved.
|
|
22
|
+
|
|
23
|
+
## Finish the same attempt
|
|
24
|
+
|
|
25
|
+
For direct Integration checks running as a DurableJob, Job success is not
|
|
26
|
+
the final target update. Read the terminal result, then use:
|
|
27
|
+
|
|
28
|
+
```sh
|
|
29
|
+
yui task integration continue <task>/<integration>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
This also applies when no manual conflict resolution was needed. Do not start
|
|
33
|
+
a duplicate Integration or wait for an empty queue to finalize it.
|
|
34
|
+
|
|
35
|
+
Resolve failures using the exact conflict or check evidence and the supplied
|
|
36
|
+
Integration workspace. Never bypass compare-and-swap, update managed refs by
|
|
37
|
+
hand, or create a replacement WorkItem for ordinary Integration correction.
|
|
38
|
+
Recheck changed behavior or unresolved failures; do not rerun unchanged
|
|
39
|
+
successful validation without a current reason.
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Planning and activation handoff
|
|
2
|
+
|
|
3
|
+
Use this for Draft discussion, planning-only Sessions and the boundary into
|
|
4
|
+
delivery. The [Leader entry](../SKILL.md) owns shared context maintenance and
|
|
5
|
+
turn reporting; [Runtime](../../yui-runtime/SKILL.md) owns authority.
|
|
6
|
+
|
|
7
|
+
## Discuss and preserve the outcome
|
|
8
|
+
|
|
9
|
+
If the user asked only to create/store a Task, preserve the requirements and
|
|
10
|
+
stop: do not start a planning Session. Once discussion is authorized, clarify
|
|
11
|
+
requirements, inspect authorized current facts, compare options and revise the
|
|
12
|
+
technical approach as the conversation develops. Distinguish unresolved
|
|
13
|
+
questions, recommendations and accepted decisions.
|
|
14
|
+
|
|
15
|
+
Planning can include research explicitly authorized by the user and permitted
|
|
16
|
+
by the Session, Project and resource boundaries. Discussion is not delivery
|
|
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.
|
|
21
|
+
|
|
22
|
+
Saving a useful revision, reporting what changed and waiting for feedback is
|
|
23
|
+
the normal end of a discussion. Do not create implementation WorkItems,
|
|
24
|
+
dispatch, Review, acceptance or Task completion to make a planning turn look
|
|
25
|
+
finished. An InputRequest is not required for ordinary continued discussion.
|
|
26
|
+
|
|
27
|
+
## Hand off only through authorized activation
|
|
28
|
+
|
|
29
|
+
User/Operator submissions use `--intent record|discuss|develop` on
|
|
30
|
+
`operator submit` or an unaddressed `task message send`. The default is
|
|
31
|
+
`discuss`; Core does not infer intent from message text.
|
|
32
|
+
|
|
33
|
+
- `record` saves the message without waking the Leader.
|
|
34
|
+
- `discuss` on an unplanned Draft records the planning route and wakes planning.
|
|
35
|
+
- `develop` on an unplanned Draft saves the requirement and activation intent,
|
|
36
|
+
then enters delivery through formal activation, without first starting planning.
|
|
37
|
+
- `develop` after planning has been entered saves the input but does not wake
|
|
38
|
+
or activate; the routing result is `planned-needs-manual-activation`.
|
|
39
|
+
|
|
40
|
+
Read the returned routing/feedback and current context before taking the next
|
|
41
|
+
action. Active submissions do not downgrade or reactivate the Task; terminal
|
|
42
|
+
submissions do not reopen it. A stopped execution gate is not permission to
|
|
43
|
+
resume. `--request-id <key>` on submissions preserves the original result on a
|
|
44
|
+
matching retry, not permission to replay uncertain work or change its content.
|
|
45
|
+
|
|
46
|
+
Once planning has been entered, starting delivery requires a distinct,
|
|
47
|
+
explicit activation authorization. A development remark during discussion,
|
|
48
|
+
the end or failure of a planning Run, or Session replacement is not that
|
|
49
|
+
action and does not restore “blank Draft” status. Accepted planning routing
|
|
50
|
+
and historical Runs/Sessions count even when no Session is currently busy.
|
|
51
|
+
“Manual activation” means an explicit user action, not that the user must type
|
|
52
|
+
CLI commands: an authorized Operator can perform the mechanical operation.
|
|
53
|
+
|
|
54
|
+
With that authorization, use the formal supported activation operation
|
|
55
|
+
(`task activate <task-id>`) within the caller's authority, or have the Operator
|
|
56
|
+
perform it. Inspect the observable result. Preserve a busy or unknown
|
|
57
|
+
operation's exact request and follow
|
|
58
|
+
[Runtime recovery](../../yui-runtime/references/recovery.md); do not
|
|
59
|
+
self-dispatch, interrupt, kill or replace a Session to bypass the handoff.
|
|
60
|
+
New discussion during a pending handoff does not authorize a competing
|
|
61
|
+
planning Session. A failure calls for an explicit diagnosis and authorized
|
|
62
|
+
recovery, not automatic downgrade or replay.
|
|
63
|
+
|
|
64
|
+
Continue the durable requirements once the Task is formally active and a
|
|
65
|
+
delivery-authorized Session/workspace is ready. Do not demand another
|
|
66
|
+
“continue.” An old planning Session remains planning-scoped: preserve its
|
|
67
|
+
successor context and end its turn rather than promoting itself.
|
|
68
|
+
|
|
69
|
+
## Task artifact operations
|
|
70
|
+
|
|
71
|
+
These operations apply to planning and delivery results. The current Leader
|
|
72
|
+
adopts contributions from other Agents' authorized workspaces; do not share
|
|
73
|
+
an uncoordinated Git index or edit Yui storage directly.
|
|
74
|
+
|
|
75
|
+
```sh
|
|
76
|
+
yui task artifact list <task-id>
|
|
77
|
+
yui task artifact save <task-id> plans/design.md "<UTF-8 content>" --message "Revise design"
|
|
78
|
+
yui task artifact read <task-id> plans/design.md
|
|
79
|
+
yui task artifact read <task-id> plans/design.md <full-commit>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
`save` writes and locally commits exactly one relative path, creating the
|
|
83
|
+
repository on first save. The `artifact.save` capability takes `taskId`,
|
|
84
|
+
`relativePath`, `content`, optional `message` and optional `expectedHead`;
|
|
85
|
+
the CLI equivalent is `--expected-head <commit>`. A head conflict leaves
|
|
86
|
+
the save unapplied: re-read and reconcile the intended update, not overwrite
|
|
87
|
+
blindly. The text interface accepts UTF-8 files up to 8 MiB, not arbitrary
|
|
88
|
+
binary payloads or an invented directory-upload command.
|
|
89
|
+
|
|
90
|
+
Current reads use Task and relative path at HEAD. Frozen Candidate, Review,
|
|
91
|
+
Context and completion evidence use the returned `taskId + commit +
|
|
92
|
+
relativePath`; do not replace a pinned read with a current read. For same-Task
|
|
93
|
+
string reference lists, use `git:<full-commit>:<relativePath>`, including
|
|
94
|
+
`task complete ... --artifact-ref "git:<full-commit>:plans/design.md"`.
|
|
95
|
+
The commit must be the artifact repository's returned commit, not the Project
|
|
96
|
+
code head. Preserve fixed old references when updating the current document.
|
|
97
|
+
|
|
98
|
+
After a meaningful save, update the Brief's summary/reference; keep Decisions
|
|
99
|
+
to the choice, reason and boundary. No document-body, HEAD or timestamp mirror
|
|
100
|
+
is needed. The artifact repository has no remote or transport; this does not
|
|
101
|
+
prohibit a Project code repository's legitimate remote. Saving in Draft grants
|
|
102
|
+
no delivery authority; Session handoff and archive preserve the artifacts.
|
|
103
|
+
Stored scripts/HTML remain data and are never implicitly executed or previewed.
|
|
104
|
+
|
|
105
|
+
These commands describe this source version's interface. A managed Session
|
|
106
|
+
still uses its authorized CLI and actual available capabilities. If an older
|
|
107
|
+
installation lacks them, report that version boundary; do not switch it to
|
|
108
|
+
an unapproved checkout CLI, migrate a shared Home, or upgrade the installation
|
|
109
|
+
merely to save a result.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Replicated execution and synthesis
|
|
2
|
+
|
|
3
|
+
Read this only when choosing replication or executing a Producer/main
|
|
4
|
+
synthesis assignment. Ordinary assigned WorkItems and direct Reviews do not
|
|
5
|
+
need an ExecutionGroup or Lane.
|
|
6
|
+
|
|
7
|
+
## Leader selection
|
|
8
|
+
|
|
9
|
+
Replication means independent attempts at the same frozen Assignment, not
|
|
10
|
+
different WorkItems executing in parallel. Choose it only when the extra
|
|
11
|
+
evidence repays comparison, coordination and Integration cost.
|
|
12
|
+
|
|
13
|
+
Use at least two distinct Producer Lane Roles. Replicated Review also has a
|
|
14
|
+
separate main Reviewer for authoritative synthesis. Automatic policy-triggered
|
|
15
|
+
Candidate Review stays direct. Do not treat a success count or a majority vote
|
|
16
|
+
as Core acceptance.
|
|
17
|
+
|
|
18
|
+
Select the original source AgentRuns explicitly:
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
yui task review synthesize <task>/<round> --source-run <task>/<run> ...
|
|
22
|
+
yui task work synthesize <task>/<work> --source-run <task>/<run> ...
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Lane completion or settlement does not dispatch synthesis automatically.
|
|
26
|
+
A Lane retry remains the same replica. On failure, choose whether to retry
|
|
27
|
+
that Producer, settle the Lane, or synthesize selected available results.
|
|
28
|
+
Retry main synthesis through its exact AgentRun, preserving the source snapshot.
|
|
29
|
+
|
|
30
|
+
## Producer and main Agent responsibilities
|
|
31
|
+
|
|
32
|
+
A Producer independently inspects or implements its exact frozen Assignment
|
|
33
|
+
in the supplied Lane workspace and returns one complete original result.
|
|
34
|
+
Its evidence does not authorize a Candidate, ChangeSet, Integration or
|
|
35
|
+
acceptance decision outside the assigned protocol.
|
|
36
|
+
|
|
37
|
+
The main synthesis Agent reads every selected source AgentRun's original
|
|
38
|
+
result, checks it against the frozen sources, resolves disagreement through
|
|
39
|
+
judgment, and returns one authoritative report. Do not mutate source results,
|
|
40
|
+
omit selected evidence, rerun Producers, or substitute a winning Lane for
|
|
41
|
+
synthesis. A Review report remains evidence for Task acceptance, not acceptance
|
|
42
|
+
itself.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Task-local capabilities
|
|
2
|
+
|
|
3
|
+
Read this before creating, validating or activating a Task-local plugin.
|
|
4
|
+
Use the stable Session CLI's capability directory and read the exact schema
|
|
5
|
+
before each unfamiliar operation. Prefer an existing tool, composition or
|
|
6
|
+
one-off script unless a reusable named capability is useful.
|
|
7
|
+
|
|
8
|
+
The authenticated Leader can create, scan, validate, activate and disable
|
|
9
|
+
Task-local plugins through `plugin.*` in an adopted writable environment.
|
|
10
|
+
`plugin.scan` reports the package digest without execution;
|
|
11
|
+
`plugin.validation` reads saved evidence; `plugin.inspect` distinguishes
|
|
12
|
+
persistent enable intent from the Host's loaded implementation.
|
|
13
|
+
|
|
14
|
+
Management permission does not authorize execution. Trusted-local build,
|
|
15
|
+
validation, activation or calls require an existing `plugin.execute` grant for
|
|
16
|
+
the exact plugin id, digest, environment, trust and phase, within its remaining
|
|
17
|
+
uses and validity. A source change cannot inherit an old digest's grant.
|
|
18
|
+
Trusted-local subprocesses are not an OS sandbox.
|
|
19
|
+
|
|
20
|
+
Never issue your own grants, impersonate Operator, change global configuration,
|
|
21
|
+
or modify the core installation, namespace or carrying Endpoint to obtain a
|
|
22
|
+
tool. Request only a genuinely missing resource or trust boundary, not authority
|
|
23
|
+
already available. Plugin grants do not authorize unrelated external effects.
|
|
24
|
+
|
|
25
|
+
Preserve validation failures and operation receipts. An unknown or partial
|
|
26
|
+
external effect does not authorize rerunning the action chain. After activation,
|
|
27
|
+
query the directory again and use the new capability through the same bridge
|
|
28
|
+
and native Session; no native tool-schema change or Controller restart is needed.
|
|
29
|
+
|
|
30
|
+
Save the actual business result as a file artifact with `artifact.save`
|
|
31
|
+
(`relativePath` plus `content`): it commits exactly that path into the Task's
|
|
32
|
+
local Git repository and returns a self-certifying `commit + relativePath`
|
|
33
|
+
reference to retain in Task results. Plugin source or successful loading alone
|
|
34
|
+
is not delivery. Committed artifacts remain readable after disable or restart
|
|
35
|
+
through `artifact.read` at HEAD or a pinned commit; saved enable intent does not
|
|
36
|
+
automatically execute code on restart, and an artifact's script or HTML is data,
|
|
37
|
+
not a program to run under Yui authority.
|