@zq-silk/yui 2.8.0 → 2.9.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 (86) hide show
  1. package/dist/cli/commandCatalog.js +35 -12
  2. package/dist/cli/interactionPolicy.js +2 -2
  3. package/dist/cli/updatePorts.js +20 -0
  4. package/dist/commands/durableJobCommands.js +50 -0
  5. package/dist/commands/projectCommands.js +4 -33
  6. package/dist/commands/scheduleCommands.js +45 -0
  7. package/dist/commands/taskActivationCommands.js +19 -5
  8. package/dist/commands/taskCommands.js +2 -1
  9. package/dist/commands/taskFactCommands.js +24 -12
  10. package/dist/commands/taskPublicationCommands.js +6 -3
  11. package/dist/commands/taskPublicationVerifyCommand.js +74 -28
  12. package/dist/context/runContextPack.js +24 -4
  13. package/dist/context/taskContext.js +52 -15
  14. package/dist/context/taskPhase.js +99 -0
  15. package/dist/controlPlaneCli.js +24 -5
  16. package/dist/controller/controller.js +35 -0
  17. package/dist/controller/fileSchedulerStoreAdapter.js +16 -1
  18. package/dist/controller/jobControl.js +42 -12
  19. package/dist/controller/jobDefinitionControl.js +304 -0
  20. package/dist/controller/jobSupervisor.js +47 -32
  21. package/dist/controller/runtime.js +11 -2
  22. package/dist/controller/scheduleControl.js +176 -0
  23. package/dist/coordination/workMailbox.js +3 -3
  24. package/dist/external/githubPublicationVerifier.js +14 -5
  25. package/dist/external/gitlabPublicationVerifier.js +2 -1
  26. package/dist/interaction/notificationPresentation.js +3 -3
  27. package/dist/interaction/operatorPresentation.js +5 -0
  28. package/dist/job/builtinJob.js +58 -0
  29. package/dist/job/durableJob.js +72 -49
  30. package/dist/job/jobDefinition.js +68 -0
  31. package/dist/job/jobRunner.js +2 -1
  32. package/dist/job/projectRefreshRunner.js +48 -0
  33. package/dist/repository/projectRefresh.js +58 -0
  34. package/dist/repository/taskWorkspacePreparer.js +2 -1
  35. package/dist/schedule/schedule.js +108 -0
  36. package/dist/scheduler/operatorEvent.js +2 -0
  37. package/dist/scheduler/operatorInputNotificationProcessor.js +8 -0
  38. package/dist/storage/contextRecords.js +8 -0
  39. package/dist/storage/jobSchema.js +15 -0
  40. package/dist/storage/maintenanceCaller.js +69 -0
  41. package/dist/storage/recordValidation.js +5 -0
  42. package/dist/storage/scheduleSchema.js +12 -0
  43. package/dist/storage/sqliteSchema.js +75 -25
  44. package/dist/storage/sqliteStore.js +110 -9
  45. package/dist/storage/storageVersions.js +1 -1
  46. package/dist/storage/storeRpc.js +5 -0
  47. package/dist/storage/upgrade/jobDefinitionMigration.js +22 -0
  48. package/dist/task/publicationToolObservation.js +128 -0
  49. package/dist/task/taskActivationService.js +35 -0
  50. package/dist/web/assets/client/app/settings.js +7 -1
  51. package/dist/web/assets/client/i18n/en.js +61 -0
  52. package/dist/web/assets/client/i18n/zh-CN.js +61 -0
  53. package/dist/web/assets/client/index.js +2 -0
  54. package/dist/web/assets/client/views/jobs.js +222 -0
  55. package/dist/web/assets/client/views/task/page.js +11 -1
  56. package/dist/web/assets/shared/manageNav.js +1 -0
  57. package/dist/web/assets/shared/taskTabs.js +2 -2
  58. package/dist/web/assets/shell/settingsContent.js +3 -0
  59. package/dist/web/assets/styles/index.js +2 -0
  60. package/dist/web/assets/styles/views/jobs.js +19 -0
  61. package/dist/web/webJobs.js +52 -0
  62. package/dist/web/webServer.js +31 -0
  63. package/docs/cli-information-contract.md +43 -2
  64. package/docs/cli-information-contract.zh-CN.md +32 -1
  65. package/docs/job-runs.md +224 -0
  66. package/docs/release-workflow.md +65 -0
  67. package/docs/release-workflow.zh-CN.md +49 -0
  68. package/docs/schedules.md +132 -0
  69. package/docs/storage-baseline.md +18 -1
  70. package/docs/storage-baseline.zh-CN.md +15 -1
  71. package/docs/task-delivery.md +68 -2
  72. package/docs/task-delivery.zh-CN.md +33 -1
  73. package/docs/testing/verification-levels.md +6 -2
  74. package/docs/testing/verification-levels.zh-CN.md +6 -3
  75. package/package.json +4 -3
  76. package/skills/yui-leader/SKILL.md +18 -1
  77. package/skills/yui-leader/VERSION +1 -1
  78. package/skills/yui-leader/references/planning.md +9 -1
  79. package/skills/yui-reviewer/SKILL.md +4 -0
  80. package/skills/yui-reviewer/VERSION +1 -1
  81. package/skills/yui-runtime/SKILL.md +9 -3
  82. package/skills/yui-runtime/VERSION +1 -1
  83. package/skills/yui-runtime/references/context-ordering.md +103 -0
  84. package/skills/yui-runtime/references/publication.md +44 -4
  85. package/skills/yui-worker/SKILL.md +5 -0
  86. package/skills/yui-worker/VERSION +1 -1
@@ -67,9 +67,49 @@ whose result is delivered; do not duplicate the same PR/MR across Tasks to
67
67
  substitute for missing ownership or acceptance evidence.
68
68
 
69
69
  Track PR/MR identity, state, commits, URL, merge time and evidence, not CI or
70
- deployment status. After merge, use `yui task publication verify` only when
71
- current authorization covers that external provider read. Otherwise retain
72
- reported evidence and state the verification gap.
70
+ deployment status. Verification is tool-neutral: the Leader may use any available
71
+ CLI or API within the existing external-read authority. No particular brand,
72
+ installation or second gh/glab query is required. A summary saying "merged" is
73
+ reported evidence, not a tool observation; `upsert --verified` is refused.
74
+
75
+ First record the exact local candidate, PR/MR URL (including its service host)
76
+ and target branch. Inspect that object with an authorized tool, checking the
77
+ repository, PR/MR identity, target branch, remote source head and integrated
78
+ commit against the actual output. Then use
79
+ `task publication verify <task>/<publication> --observation '<json>'`.
80
+ The JSON fields are `taskId`, `publicationId`, `projectId`, `provider`,
81
+ `repository`, `externalKind`, `externalId`, `externalUrl`, `targetBranch`,
82
+ `localCommit`, `state`, `headCommit`, `remoteCommit` (required for merged),
83
+ `observedAt`, `tool`, `command`, `output`, and optionally `mergedAt`.
84
+ Use full lowercase SHAs and ISO timestamps; `output` is a sanitized relevant
85
+ tool-response excerpt, not an unsupported conclusion or credentials. `command`
86
+ describes the exact CLI query or API request; Yui does not execute it.
87
+ Read the original output and resolve ambiguous/conflicting results before
88
+ asserting a known state. Do not fabricate evidence or normalize failure into merge.
89
+
90
+ The observation must name the current immutable Publication, match its candidate,
91
+ URL and target, and be recorded within 24 hours without future dating. The tool
92
+ read may precede the first upsert or a title-only update: these are bookkeeping,
93
+ not changes to the observed object. Observations must not predate the latest
94
+ material change in the immutable lineage (candidate, object, target or remote
95
+ facts), including a changed-then-restored candidate. When only bookkeeping has
96
+ changed, read the current record and bind the same actual result to its current
97
+ ID; do not repeat the external query just for that update.
98
+ Identical immediate retries reuse the saved receipt.
99
+ Later candidate/URL/target changes invalidate verification; use fresh evidence,
100
+ not an old JSON edited to look current. Inspect `publication show` after an
101
+ uncertain save before retrying. Original records and their full evidence remain.
102
+ These are caller-attested tool facts: Core checks exact binding and freshness,
103
+ not the semantic truth of arbitrary output. It trusts the authorized Leader's
104
+ inspection, not the executable's brand.
105
+
106
+ Without `--observation`, `verify` uses the optional gh/glab adapter and performs
107
+ an external read, requiring that read's existing authority. Missing adapters
108
+ are not missing user authorization when another authorized tool is available.
109
+ If no usable evidence or authorized read exists, retain reported evidence and
110
+ state that specific gap. A recorded verification is fixed evidence, not live
111
+ monitoring; no clock-based re-query is required just to archive it. Known later
112
+ changes must be recorded as successors before relying on delivery.
73
113
 
74
114
  Preserve each completion head as that acceptance's evidence. After an authorized
75
115
  reopen, finish the new work and record its own completion; retain the earlier
@@ -88,7 +128,7 @@ rewrite completion, or mark a merge verified to bridge an evidence gap.
88
128
 
89
129
  Adoption records a fixed decision, not remote verification or publication
90
130
  authority. The verify operation observes the exact Publication candidate through
91
- its provider and records contrary head/state facts as reported successors,
131
+ an authorized tool or the optional adapter and records contrary head/state facts as reported successors,
92
132
  invalidating previous verification. Metadata and verification updates may retain
93
133
  adoption while the candidate is unchanged; a changed candidate needs a new
94
134
  decision. Archived history is read-only to these adopt/verify operations.
@@ -29,6 +29,11 @@ final report. Current-Assignment `inbox show` is an authorized way to read new
29
29
  directed clarification during this turn without redispatch. Claim before
30
30
  handling and ack only after disposition; never use it to read another
31
31
  Assignment, expand Project permissions, or accept your own result.
32
+ For delayed or conflicting material, follow Runtime's
33
+ [temporal read contract](../yui-runtime/references/context-ordering.md).
34
+ Refresh relevant current originals without replacing the frozen Assignment.
35
+ Report genuine scope conflicts to Leader; older stage-only wording is not a
36
+ new prohibition after a legally authorized handoff.
32
37
 
33
38
  Leader clarification and continuation arrive as Messages in the exact bounded
34
39
  Context Pack. Read those authorized refs; do not request pack-external Leader
@@ -1 +1 @@
1
- 2
1
+ 3