@codetreker/daynight 0.25.4 → 0.27.2

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 (214) hide show
  1. package/README.md +160 -11
  2. package/config.example.yml +3 -0
  3. package/dist/api/client.d.ts +3 -2
  4. package/dist/api/client.js +10 -6
  5. package/dist/api/client.js.map +1 -1
  6. package/dist/api/parse.d.ts +3 -2
  7. package/dist/api/parse.js +59 -10
  8. package/dist/api/parse.js.map +1 -1
  9. package/dist/api/types.d.ts +75 -1
  10. package/dist/api/worker-mode.d.ts +6 -0
  11. package/dist/api/worker-mode.js +14 -0
  12. package/dist/api/worker-mode.js.map +1 -0
  13. package/dist/cli/commands.js +2 -0
  14. package/dist/cli/commands.js.map +1 -1
  15. package/dist/commands/controller/command-controls.d.ts +4 -0
  16. package/dist/commands/controller/command-controls.js +33 -0
  17. package/dist/commands/controller/command-controls.js.map +1 -0
  18. package/dist/commands/controller/definition.d.ts +3 -0
  19. package/dist/commands/controller/definition.js +22 -0
  20. package/dist/commands/controller/definition.js.map +1 -0
  21. package/dist/commands/controller/independent.d.ts +3 -0
  22. package/dist/commands/controller/independent.js +344 -0
  23. package/dist/commands/controller/independent.js.map +1 -0
  24. package/dist/commands/controller/index.d.ts +12 -0
  25. package/dist/commands/controller/index.js +73 -0
  26. package/dist/commands/controller/index.js.map +1 -0
  27. package/dist/commands/controller/launch-ticket.d.ts +49 -0
  28. package/dist/commands/controller/launch-ticket.js +99 -0
  29. package/dist/commands/controller/launch-ticket.js.map +1 -0
  30. package/dist/commands/controller/lifecycle-store.d.ts +84 -0
  31. package/dist/commands/controller/lifecycle-store.js +278 -0
  32. package/dist/commands/controller/lifecycle-store.js.map +1 -0
  33. package/dist/commands/controller/local-client.d.ts +44 -0
  34. package/dist/commands/controller/local-client.js +75 -0
  35. package/dist/commands/controller/local-client.js.map +1 -0
  36. package/dist/commands/controller/local-content.d.ts +23 -0
  37. package/dist/commands/controller/local-content.js +103 -0
  38. package/dist/commands/controller/local-content.js.map +1 -0
  39. package/dist/commands/controller/process-proof.d.ts +13 -0
  40. package/dist/commands/controller/process-proof.js +121 -0
  41. package/dist/commands/controller/process-proof.js.map +1 -0
  42. package/dist/commands/controller/providers/claude.d.ts +2 -0
  43. package/dist/commands/controller/providers/claude.js +470 -0
  44. package/dist/commands/controller/providers/claude.js.map +1 -0
  45. package/dist/commands/controller/providers/codex.d.ts +2 -0
  46. package/dist/commands/controller/providers/codex.js +254 -0
  47. package/dist/commands/controller/providers/codex.js.map +1 -0
  48. package/dist/commands/controller/providers/controls-claude.d.ts +26 -0
  49. package/dist/commands/controller/providers/controls-claude.js +138 -0
  50. package/dist/commands/controller/providers/controls-claude.js.map +1 -0
  51. package/dist/commands/controller/providers/controls-codex.d.ts +38 -0
  52. package/dist/commands/controller/providers/controls-codex.js +199 -0
  53. package/dist/commands/controller/providers/controls-codex.js.map +1 -0
  54. package/dist/commands/controller/providers/controls-copilot.d.ts +20 -0
  55. package/dist/commands/controller/providers/controls-copilot.js +143 -0
  56. package/dist/commands/controller/providers/controls-copilot.js.map +1 -0
  57. package/dist/commands/controller/providers/controls.d.ts +21 -0
  58. package/dist/commands/controller/providers/controls.js +53 -0
  59. package/dist/commands/controller/providers/controls.js.map +1 -0
  60. package/dist/commands/controller/providers/copilot-interactions.d.ts +47 -0
  61. package/dist/commands/controller/providers/copilot-interactions.js +295 -0
  62. package/dist/commands/controller/providers/copilot-interactions.js.map +1 -0
  63. package/dist/commands/controller/providers/copilot-projection.d.ts +11 -0
  64. package/dist/commands/controller/providers/copilot-projection.js +93 -0
  65. package/dist/commands/controller/providers/copilot-projection.js.map +1 -0
  66. package/dist/commands/controller/providers/copilot-runtime.d.ts +9 -0
  67. package/dist/commands/controller/providers/copilot-runtime.js +127 -0
  68. package/dist/commands/controller/providers/copilot-runtime.js.map +1 -0
  69. package/dist/commands/controller/providers/copilot.d.ts +2 -0
  70. package/dist/commands/controller/providers/copilot.js +309 -0
  71. package/dist/commands/controller/providers/copilot.js.map +1 -0
  72. package/dist/commands/controller/providers/interactions.d.ts +3 -0
  73. package/dist/commands/controller/providers/interactions.js +79 -0
  74. package/dist/commands/controller/providers/interactions.js.map +1 -0
  75. package/dist/commands/controller/providers/native-rpc.d.ts +28 -0
  76. package/dist/commands/controller/providers/native-rpc.js +85 -0
  77. package/dist/commands/controller/providers/native-rpc.js.map +1 -0
  78. package/dist/commands/controller/providers/projection.d.ts +23 -0
  79. package/dist/commands/controller/providers/projection.js +99 -0
  80. package/dist/commands/controller/providers/projection.js.map +1 -0
  81. package/dist/commands/controller/providers/turns.d.ts +7 -0
  82. package/dist/commands/controller/providers/turns.js +21 -0
  83. package/dist/commands/controller/providers/turns.js.map +1 -0
  84. package/dist/commands/controller/providers/types.d.ts +44 -0
  85. package/dist/commands/controller/providers/types.js +2 -0
  86. package/dist/commands/controller/providers/types.js.map +1 -0
  87. package/dist/commands/controller/recovery.d.ts +6 -0
  88. package/dist/commands/controller/recovery.js +22 -0
  89. package/dist/commands/controller/recovery.js.map +1 -0
  90. package/dist/commands/controller/relay.d.ts +18 -0
  91. package/dist/commands/controller/relay.js +299 -0
  92. package/dist/commands/controller/relay.js.map +1 -0
  93. package/dist/commands/controller/resume.d.ts +18 -0
  94. package/dist/commands/controller/resume.js +193 -0
  95. package/dist/commands/controller/resume.js.map +1 -0
  96. package/dist/commands/controller/runtime.d.ts +5 -0
  97. package/dist/commands/controller/runtime.js +455 -0
  98. package/dist/commands/controller/runtime.js.map +1 -0
  99. package/dist/commands/controller/windows-job.d.ts +3 -0
  100. package/dist/commands/controller/windows-job.js +59 -0
  101. package/dist/commands/controller/windows-job.js.map +1 -0
  102. package/dist/commands/controller/wire-display.d.ts +5 -0
  103. package/dist/commands/controller/wire-display.js +11 -0
  104. package/dist/commands/controller/wire-display.js.map +1 -0
  105. package/dist/commands/skill/skills/using-daynight/SKILL.md +52 -162
  106. package/dist/commands/skill/skills/using-daynight/references/authorization.md +36 -0
  107. package/dist/commands/skill/skills/using-daynight/references/autopilot-managed-task.md +77 -193
  108. package/dist/commands/skill/skills/using-daynight/references/create-task.md +31 -186
  109. package/dist/commands/skill/skills/using-daynight/references/final-acceptance.md +25 -0
  110. package/dist/commands/skill/skills/using-daynight/references/goal.md +46 -243
  111. package/dist/commands/skill/skills/using-daynight/references/handbook.md +37 -294
  112. package/dist/commands/skill/skills/using-daynight/references/handoff.md +33 -91
  113. package/dist/commands/skill/skills/using-daynight/references/project-management.md +24 -0
  114. package/dist/commands/skill/skills/using-daynight/references/run-task.md +18 -59
  115. package/dist/commands/skill/skills/using-daynight/references/setup.md +16 -0
  116. package/dist/commands/skill/skills/using-daynight/references/task-content.md +80 -177
  117. package/dist/commands/skill/skills/using-daynight/references/task-execution.md +34 -126
  118. package/dist/commands/skill/skills/using-daynight/references/task-management.md +135 -0
  119. package/dist/commands/skill/skills/using-daynight/references/write-safety.md +34 -0
  120. package/dist/commands/task/command.js +5 -3
  121. package/dist/commands/task/command.js.map +1 -1
  122. package/dist/commands/task/definition.js +4 -2
  123. package/dist/commands/task/definition.js.map +1 -1
  124. package/dist/commands/task/rendering.d.ts +1 -0
  125. package/dist/commands/task/rendering.js +10 -1
  126. package/dist/commands/task/rendering.js.map +1 -1
  127. package/dist/commands/worker/backend.d.ts +7 -0
  128. package/dist/commands/worker/backend.js +7 -0
  129. package/dist/commands/worker/backend.js.map +1 -0
  130. package/dist/commands/worker/backends/grant-renewal.d.ts +13 -0
  131. package/dist/commands/worker/backends/grant-renewal.js +42 -0
  132. package/dist/commands/worker/backends/grant-renewal.js.map +1 -0
  133. package/dist/commands/worker/backends/session-api.d.ts +66 -0
  134. package/dist/commands/worker/backends/session-api.js +84 -0
  135. package/dist/commands/worker/backends/session-api.js.map +1 -0
  136. package/dist/commands/worker/backends/web-process.d.ts +79 -0
  137. package/dist/commands/worker/backends/web-process.js +156 -0
  138. package/dist/commands/worker/backends/web-process.js.map +1 -0
  139. package/dist/commands/worker/backends/web-store.d.ts +49 -0
  140. package/dist/commands/worker/backends/web-store.js +323 -0
  141. package/dist/commands/worker/backends/web-store.js.map +1 -0
  142. package/dist/commands/worker/backends/web-types.d.ts +83 -0
  143. package/dist/commands/worker/backends/web-types.js +3 -0
  144. package/dist/commands/worker/backends/web-types.js.map +1 -0
  145. package/dist/commands/worker/backends/web.d.ts +26 -0
  146. package/dist/commands/worker/backends/web.js +178 -0
  147. package/dist/commands/worker/backends/web.js.map +1 -0
  148. package/dist/commands/worker/config.js +12 -5
  149. package/dist/commands/worker/config.js.map +1 -1
  150. package/dist/commands/worker/control.d.ts +2 -0
  151. package/dist/commands/worker/control.js +11 -4
  152. package/dist/commands/worker/control.js.map +1 -1
  153. package/dist/commands/worker/coordinator.d.ts +10 -1
  154. package/dist/commands/worker/coordinator.js +153 -24
  155. package/dist/commands/worker/coordinator.js.map +1 -1
  156. package/dist/commands/worker/herdr/agents.js +5 -4
  157. package/dist/commands/worker/herdr/agents.js.map +1 -1
  158. package/dist/commands/worker/herdr/arguments.js +9 -4
  159. package/dist/commands/worker/herdr/arguments.js.map +1 -1
  160. package/dist/commands/worker/herdr/claude-input.d.ts +2 -0
  161. package/dist/commands/worker/herdr/claude-input.js +20 -0
  162. package/dist/commands/worker/herdr/claude-input.js.map +1 -0
  163. package/dist/commands/worker/herdr/command.d.ts +11 -2
  164. package/dist/commands/worker/herdr/command.js +23 -8
  165. package/dist/commands/worker/herdr/command.js.map +1 -1
  166. package/dist/commands/worker/herdr/instance.d.ts +5 -1
  167. package/dist/commands/worker/herdr/instance.js +31 -1
  168. package/dist/commands/worker/herdr/instance.js.map +1 -1
  169. package/dist/commands/worker/herdr/preflight.d.ts +1 -1
  170. package/dist/commands/worker/herdr/preflight.js +34 -15
  171. package/dist/commands/worker/herdr/preflight.js.map +1 -1
  172. package/dist/commands/worker/herdr/version-probe.d.ts +13 -0
  173. package/dist/commands/worker/herdr/version-probe.js +21 -0
  174. package/dist/commands/worker/herdr/version-probe.js.map +1 -0
  175. package/dist/commands/worker/herdr.js +7 -7
  176. package/dist/commands/worker/herdr.js.map +1 -1
  177. package/dist/commands/worker/index.d.ts +2 -0
  178. package/dist/commands/worker/index.js +1 -1
  179. package/dist/commands/worker/index.js.map +1 -1
  180. package/dist/commands/worker/prompts.js +5 -1
  181. package/dist/commands/worker/prompts.js.map +1 -1
  182. package/dist/commands/worker/remote.d.ts +3 -1
  183. package/dist/commands/worker/remote.js +4 -0
  184. package/dist/commands/worker/remote.js.map +1 -1
  185. package/dist/commands/worker/reporter.d.ts +14 -0
  186. package/dist/commands/worker/reporter.js +174 -0
  187. package/dist/commands/worker/reporter.js.map +1 -0
  188. package/dist/commands/worker/repositories.js +2 -2
  189. package/dist/commands/worker/repositories.js.map +1 -1
  190. package/dist/commands/worker/runtime.d.ts +2 -0
  191. package/dist/commands/worker/runtime.js +76 -11
  192. package/dist/commands/worker/runtime.js.map +1 -1
  193. package/dist/commands/worker/setup-environment.d.ts +2 -1
  194. package/dist/commands/worker/setup-environment.js +10 -4
  195. package/dist/commands/worker/setup-environment.js.map +1 -1
  196. package/dist/commands/worker/setup.js +5 -5
  197. package/dist/commands/worker/setup.js.map +1 -1
  198. package/dist/commands/worker/store.d.ts +2 -1
  199. package/dist/commands/worker/store.js +19 -9
  200. package/dist/commands/worker/store.js.map +1 -1
  201. package/dist/commands/worker/telemetry.d.ts +22 -0
  202. package/dist/commands/worker/telemetry.js +265 -0
  203. package/dist/commands/worker/telemetry.js.map +1 -0
  204. package/dist/commands/worker/types.d.ts +4 -1
  205. package/dist/session/controller-protocol.d.ts +245 -0
  206. package/dist/session/controller-protocol.js +218 -0
  207. package/dist/session/controller-protocol.js.map +1 -0
  208. package/dist/session/controls.d.ts +28 -0
  209. package/dist/session/controls.js +37 -0
  210. package/dist/session/controls.js.map +1 -0
  211. package/dist/session/protocol.d.ts +290 -0
  212. package/dist/session/protocol.js +307 -0
  213. package/dist/session/protocol.js.map +1 -0
  214. package/package.json +7 -2
@@ -1,198 +1,43 @@
1
- # Create a task
1
+ # Create task
2
2
 
3
- Use this mode to prepare and register work that needs persistent tracking. Read
4
- [the handbook](handbook.md) before discovery, queries, or writes and
5
- [the task content standard](task-content.md) for content preparation. Return after
6
- registration; registration alone does not authorize execution. An explicit request to start a Goal discussion routes the registered
7
- current stage to run-task under the Goal protocol.
3
+ Prepare and register authorized work, then return without automatic execution.
4
+ Apply [authorization and scope](authorization.md) first, find commands in the [CLI handbook](handbook.md), and prepare content under the [task content standard](task-content.md).
8
5
 
9
- Create tasks only with the user's explicit permission for the relevant scope.
10
- An explicit user or applicable repository instruction requiring Daynight tracking
11
- or review supplies standing creation permission for necessary tasks within the
12
- confirmed scope. Reuse suitable tasks and do not ask for that permission again.
13
- Loading this mode, needing durable tracking, or permission to implement alone
14
- does not grant creation permission. Ask when it is missing; reuse
15
- permission already granted for the scope. Creation does not authorize execution or delivery.
6
+ ## Select and check for duplicates
16
7
 
17
- ## Choose the tracked outcome
8
+ Use one task per independently tracked result. For multi-stage objectives, follow the [Goal protocol](goal.md) and register only the currently permitted stage.
9
+ See [final acceptance](final-acceptance.md) for the scope and results of independent acceptance tasks. Do not register routine execution steps as separate tasks.
18
10
 
19
- With creation permission, register or reuse a task for concrete work such as a
20
- feature, bug fix, architecture/design assignment, or actual work item produced by
21
- its breakdown. Each task has its own objective, scope, and observable completion
22
- conditions. Solution, architecture, and design reviews use their owning task
23
- under the entrypoint's required tracking and review rules.
11
+ Confirm the [target project](project-management.md) and search for existing work on the same problem and scope, including completed tasks.
12
+ Read full descriptions, actual sources, dependencies, and acceptance criteria before deciding to reuse a task; similar titles do not establish identity.
13
+ After an interruption, verify existing resources before creating anything again.
24
14
 
25
- Keep an agent's transient execution steps, such as reading files, running
26
- commands, and routine checks, in the session's execution plan. Do not put these
27
- steps in task descriptions or attachments or turn them into Daynight tasks
28
- merely because an agent generated them. A distinct acceptance or validation
29
- assignment with its own outcome can still be a task.
30
- For [final acceptance](../SKILL.md#final-acceptance), identify the entire task or
31
- Goal being assessed and its confirmed requirement sources. Define the deliverable
32
- as the requirement-based acceptance conclusion, supporting observations, defects,
33
- and unverified items. Apply the shared rule to temporary helpers; do not make
34
- their development or repository
35
- delivery the acceptance outcome.
15
+ ## Prepare content
36
16
 
37
- Running a check while delivering an existing task is an execution step. If the
38
- request contains only execution steps for existing work, keep them in that
39
- work's session and return without registering additional tasks.
17
+ Write an outcome-oriented title and a task-specific Markdown description that meet the content standard and current stage requirements.
18
+ Genuinely required sources must be readable, and future outputs must be explicitly assigned to prerequisite tasks.
19
+ Keep shared inputs in their owning tasks; do not copy the full set of material.
40
20
 
41
- For a multi-stage Goal, follow [the Goal protocol](goal.md). Register only the
42
- current requirements discussion task; do not create an architecture placeholder
43
- or delivery tasks upfront. Its stage brief describes the discussion and its
44
- user-confirmation gate; finished requirements and applicable prototypes are
45
- outputs. User-confirmed requirements permit creation and start of solution
46
- discussion. Only user-confirmed solution permits actual delivery registration.
47
- A registration-only request leaves the current stage todo and returns; an
48
- explicit discussion-start request authorizes its start through
49
- run-task. Creating a Goal covers the later in-scope stages and breakdown only
50
- at those confirmation gates.
21
+ Frontend delivery requires an interactive prototype that runs entirely on the frontend and matches the final visual style, covering applicable populated, empty, loading, failure, disabled, long-content, and narrow-screen states.
22
+ Include all resources with valid references, and view and actually interact with the prototype. Static sketches or simplified styling do not satisfy the requirement.
23
+ A discussion task that produces a prototype treats it as a result, not a prerequisite for starting.
51
24
 
52
- For a single tracked outcome, prepare its stage-appropriate task definition,
53
- actual required inputs, and acceptance criteria before registration. A frontend
54
- delivery task also needs its applicable mock UI under the artifact rules below.
55
- A design-producing task does not require its unfinished design as an input.
25
+ Mock UI data and interaction state must remain only in the current page's memory.
26
+ Do not use storage mechanisms such as `localStorage`, `sessionStorage`, Cookie, or IndexedDB, or perform other operations that persistently change local state; dependency libraries must not perform these operations indirectly either.
27
+ Reloading or reopening the prototype must restore its initial state.
56
28
 
57
- Look for existing work with the same problem and scope, including completed
58
- tasks; the default list contains only unfinished work. Inspect full descriptions,
59
- actual dependencies, content sources, and acceptance criteria. For a Goal,
60
- inspect the existing chain and its owning inputs. Titles alone do not establish
61
- identity. Reuse suitable work and preserve valid requirements; interrupted
62
- registration does not justify a duplicate task or chain.
29
+ Select necessary direct prerequisites under [dependency classification and reduction](task-management.md#dependency-classification), verifying whether they belong to the same chain or another chain.
30
+ Platform requirements must come only from confirmed task needs. Do not add dependencies for visual grouping or duplicate the full relationship list in the body.
63
31
 
64
- ## Write task-specific content
32
+ ## Register and read back
65
33
 
66
- Use the target repository's document and workspace rules and the shared task
67
- content standard. Give each task an outcome-focused title and a Markdown
68
- description that identifies its concrete work, responsibility, and actual content
69
- sources. The description and readable references together provide its objective
70
- and requirements, scope and constraints, inputs and sources, deliverables and
71
- contracts, and acceptance criteria. Complete inline content needs no primary
72
- attachment; reference-owned and mixed content are also valid without repeating
73
- complete documents. Save results as they are produced. Stage briefs describe
74
- work that produces the stage's outputs; do not claim unfinished outputs already
75
- exist or require an execution plan, confirmation log, or evidence attachment.
34
+ 1. Register with `task create` and retain the returned ID. New task status and permissions follow [task management](task-management.md).
35
+ 2. If the task owns attachments, upload and verify their content before adding actual references to the description. Follow [write safety](write-safety.md) for all writes.
36
+ 3. Read back the full task, required attachments, and shared inputs to verify sufficient content and valid resources.
37
+ Check dependencies through [post-change verification](task-management.md#verify-dependency-changes).
38
+ For Goal delivery items, also check the [architecture source index](goal.md#register-the-delivery-breakdown).
39
+ 4. Report the task ID, registration result, and specific gaps.
40
+ After partial success, retain existing IDs and resume unfinished operations; unreadable required sources still mean failure.
76
41
 
77
- Attach only resources this task needs or owns. Keep shared Goal requirements
78
- with the requirements task and architecture and breakdown with the solution
79
- task. Reference the owning task ID and its description with applicable sections
80
- for inline content, full paths for actual attachments, or verified immutable
81
- repository sources. Read source descriptions through `task show --json` and
82
- attachment bytes through the attachment commands. For every Goal delivery task,
83
- list the architecture task ID and all required architecture source locations
84
- directly in its description, including indirect successors, as
85
- [the Goal protocol](goal.md) requires. Do not copy the whole shared packet
86
- into every task. An independently needed snapshot records its purpose, original
87
- source, and source revision or content identity.
88
-
89
- A frontend delivery task requires an interactive mock UI that runs with frontend code
90
- alone, matches final visual styling, and represents relevant data and interaction
91
- states. Include applicable populated, empty, loading, failure, disabled, long
92
- content, and narrow-screen cases. Provide required CSS, JavaScript, images, and
93
- other resources with working relative references. A static sketch or simplified
94
- styling does not satisfy this requirement. For a UI Goal, this prototype is
95
- produced by the Goal description stage and referenced by later tasks.
96
-
97
- Use established task IDs for necessary direct prerequisites. Before registration,
98
- apply [the handbook's dependency reduction rule](handbook.md#dependency-reduction)
99
- to omit relationships already supplied by another retained path. Confirmed
100
- same-chain stages use `--depends-on`; a verified prerequisite owned by another
101
- same-project chain uses `--external-depends-on`. The CLI sends their complete
102
- union and explicit external subset. Do not infer ownership from status, title,
103
- graph roots or array order, and do not add a dependency only to make tasks appear
104
- together. Resolve unclear
105
- ownership before registering the relationship. A top-level task has no ordinary
106
- prerequisites; it may still have real external prerequisites that block execution.
107
- Do not add a Dependencies section or duplicate the relationship lists in task
108
- prose. Repository specifications and design documents retain their full contracts;
109
- the current task identifies its required design inputs and verifiable acceptance
110
- criteria directly or through their actual owners.
111
-
112
- ## Author Markdown
113
-
114
- Use headings, paragraphs, lists, quotes, fenced code, tables, links, and images
115
- when they help readers understand the assignment. The Web renders CommonMark
116
- and GFM; raw HTML appears as text. API and CLI reads retain the original Markdown
117
- string, with no separate format field. Preserve its syntax, whitespace, code,
118
- and valid references when replacing the complete description.
119
-
120
- A relative link or image in a description starts at this task's attachment root.
121
- A link inside a Markdown attachment starts at that file's directory. Keep paths
122
- inside the task root and preserve the actual case and resource identity. Confirm
123
- an upload and read back its contents before adding its link. Reference shared
124
- inputs by their verified owning task ID and description/sections or actual
125
- attachment path, or by an immutable repository URL. A relative link cannot
126
- identify another task's content.
127
-
128
- For example, the following brief applies to a task whose confirmed, readable
129
- attachments include the complete `mockui/index.html` prototype and its resources.
130
- Use this path only when those files actually belong to that task; adapt the
131
- content and references to the actual assignment. A Goal stage that produces a
132
- prototype links it only after producing and confirming it.
133
-
134
- ```markdown
135
- ## 问题与要求
136
- 登录失败后,用户无法判断是否可以重试。显示明确的失败原因和重试入口,保留当前登录表单输入。
137
-
138
- ## 范围与交付
139
- 交付登录页的错误提示、重试交互和中英文文案;沿用现有认证接口与会话边界。
140
-
141
- ## 输入
142
- [交互原型](mockui/index.html) 定义相关视觉样式和交互状态;认证接口沿用仓库现有契约,无新增任务间交换。
143
-
144
- ## 完成条件
145
- 网络失败和凭据错误均显示对应提示;重试成功后进入工作区。桌面与窄屏、两种语言的交互正确,表单输入保持。
146
- ```
147
-
148
- This example defines the task inline and references its actual prototype. Shared
149
- design inputs retain their real owner under the source rules above. Neither the
150
- brief nor an attachment needs the session's implementation steps, tool choices,
151
- or review schedule. A filename such as `plan.md` does not determine whether its
152
- contents belong to the task.
153
-
154
- ## Register and verify
155
-
156
- New tasks have `allowAgents=false`; creation cannot enable the permission.
157
- Creation and breakdown do not enable it. A separate, explicitly requested
158
- [handoff](handoff.md) reviews each task before enabling permission. Execution
159
- authorization and automatic-discovery permission remain separate decisions.
160
-
161
- Tasks without `--required-platform` are unrestricted. Set windows, linux or macos
162
- only when the confirmed task needs that execution environment. Platform requirements
163
- do not start tasks or enable automatic execution; they survive all status changes.
164
-
165
- Reuse the established project and suitable tasks. Create new tasks in `todo`,
166
- retaining each confirmed ID. Set concrete descriptions and actual ordinary and
167
- external prerequisites using the handbook's full CLI replacement rule. Upload
168
- required task-owned resources when the content uses attachments; add actual
169
- references to the complete description using the observed task version. Reference
170
- already readable shared inputs at their source. Do not present planned uploads as existing attachments.
171
-
172
- Read back each complete task, its attachment inventory and required contents,
173
- and its referenced shared inputs. Verify self-contained Markdown descriptions,
174
- valid links and images, the stage-appropriate task definition, produced results,
175
- real source identities, complete necessary direct prerequisites
176
- and their intended external subset, absence of redundant dependencies under the
177
- handbook's reduction rule, and applicable mock UI resources and interaction. For a
178
- Goal, verify only the current discussion stage and its brief;
179
- verify later stages and delivery tasks when their confirmation gate permits
180
- registration. When registering delivery work, check every task's description,
181
- including indirect successors, for its architecture task ID and required document
182
- references, and read the referenced contents under the Goal protocol.
183
- Registration is complete only when required artifacts and associations are
184
- confirmed readable. Registration leaves work todo and does not execute it. A Goal
185
- discussion-start request is scoped execution authorization for that discussion,
186
- as the Goal protocol specifies. User solution confirmation permits registration
187
- of todo delivery tasks and grants no delivery execution permission. Apply any
188
- existing explicit execution authorization only within its stated task or Goal
189
- scope. Registration does not select or start a later task.
190
-
191
- If creation succeeds but a later operation fails, retain the confirmed IDs and
192
- resume missing operations there. Tasks remain `todo`. Reconcile uncertain results through the handbook before another
193
- mutation. Report incomplete registration with the exact missing operation or
194
- artifact and next step. An unreadable required source is still a failure; do
195
- not silently replace it with invented or weaker content. Return after verified
196
- registration without selecting or executing a task for registration-only requests. If the user explicitly requested
197
- the current Goal discussion to start, pass its confirmed ID to run-task under
198
- the Goal protocol.
42
+ A registration-only request ends here, with the task remaining `todo`.
43
+ When explicitly asked to start the current Goal discussion, pass the confirmed ID to [ordinary task execution](run-task.md) under the Goal protocol.
@@ -0,0 +1,25 @@
1
+ # Final acceptance
2
+
3
+ Use to determine whether the complete task or Goal requested by the user meets confirmed requirements.
4
+ Define the acceptance scope, requirement sources, actual delivery inputs, and observable completion conditions during creation or breakdown; do not limit acceptance to an implementation fragment or helper script.
5
+
6
+ ## Verify complete outcomes
7
+
8
+ Read the complete confirmed requirements and changes, actual deliverables, and acceptance criteria.
9
+ Use manual verification, existing checks, or temporary helpers as needed to verify required implementation and actual PR merges.
10
+ Conclusions must cover the entire agreed scope; do not report the original task or Goal as having passed when required outcomes are unmet or unverified.
11
+
12
+ Deliver requirement-based conclusions, defects, unverified items, and the evaluated sources, key observations, and material limitations needed to support those conclusions in the owning task.
13
+ Content ownership follows the [task content standard](task-content.md); managed acceptance must also meet the evidence attachment requirements of the [complete delivery standard](autopilot-managed-task.md#complete-delivery-standard).
14
+ Keep verification commands, debugging history, and progress in the session unless they are themselves required deliverables.
15
+
16
+ ## Helper boundaries
17
+
18
+ Keep temporary acceptance scripts in the project's temporary area.
19
+ Do not commit them, integrate them into repository tests, fixtures, runners, CI, or tooling, or make an ongoing verification system an acceptance deliverable.
20
+ Completing or passing a helper script does not prove that user requirements are met and does not create a separate PR requirement for it.
21
+ Review findings in helpers do not authorize scope expansion.
22
+
23
+ Implementation and authorized defect fixes still retain normal unit, integration, and regression tests and required repository checks.
24
+ User-requested persistent tests or automation are separately confirmed development deliverables, not something inferred from an acceptance task.
25
+ Fix product defects only within the authorized implementation scope; handle the rest under [authorization and scope](authorization.md).
@@ -1,262 +1,65 @@
1
1
  # Goal protocol
2
2
 
3
- Read this reference when starting or registering a Goal, discussing one of its
4
- stages, or advancing its authorized scope. Use [create-task](create-task.md) for
5
- registration, [the task content standard](task-content.md) for task definitions
6
- and results, [shared task execution](task-execution.md) for input,
7
- delivery, and acceptance rules, and [the handbook](handbook.md) for CLI semantics.
8
- The selected execution mode owns task lifecycle and return behavior. A Goal uses existing tasks,
9
- attachments, complete `dependsOn` relationships, their `externalDependsOn`
10
- classification, and PR properties. It adds no resource, command, or status.
3
+ A Goal expresses a multi-stage objective through ordinary tasks, attachments, dependencies, and PR properties without adding resources, commands, or statuses.
4
+ Follow [create task](create-task.md) for creation, the [task content standard](task-content.md) for material, and [authorization and scope](authorization.md) for operational permissions.
5
+ This file covers only stage progression and Goal-specific requirements.
11
6
 
12
- ## Identify the current discussion
7
+ ## Stages and confirmation
13
8
 
14
- Use a Goal when a concrete outcome needs requirements discussion, solution or
15
- architecture discussion, and actual delivery work. Independently understandable
16
- features, bug fixes, architecture/design assignments, and real breakdown items
17
- are tasks. Agent-generated commands, file reads, and routine checks stay in the
18
- session's execution plan, not task descriptions or attachments.
9
+ | Stage | Starting content | Results and completion gate |
10
+ | --- | --- | --- |
11
+ | Requirements discussion | Known problem, expected outcome, scope, constraints, open questions, and completion conditions | Complete requirements and applicable interactive prototypes; the user explicitly confirms the current requirements and directs progression to solution discussion. |
12
+ | Solution discussion | Confirmed requirements and applicable prototypes, design questions, and completion conditions | Architecture, key decisions, and breakdown; the user confirms the solution, and actual delivery tasks have been registered and read back. |
13
+ | Delivery tasks | Defined responsibilities, required designs and prototypes, contracts, and acceptance criteria | Actual results meeting the [shared delivery conditions](task-execution.md#completion-conditions). |
14
+ | Final acceptance | Complete confirmed requirements, actual combined results, and acceptance criteria | A conclusion for the whole Goal under [final acceptance](final-acceptance.md). |
19
15
 
20
- Permission to create a Goal covers its requirements discussion, the later solution
21
- discussion, and the confirmed in-scope delivery breakdown. Create each only at
22
- its stage below. Reuse suitable existing tasks after reading their full problem,
23
- scope, materials, acceptance, and actual context; a title alone is not identity.
24
- An explicit user or applicable repository tracking/review instruction supplies
25
- standing creation permission within the confirmed scope. It grants no unrelated
26
- work, implementation, external communication, deployment, merge, or mainline push
27
- permission.
16
+ Discussions remain `in_progress` without user confirmation; completed prose, agent confidence, successful reviews, and passing CI cannot replace confirmation.
17
+ Substantive revisions after confirmation require renewed confirmation.
18
+ Discussion acceptance does not automatically add repository PR merge requirements; only repository artifacts or PR delivery explicitly included in that task are subject to the corresponding delivery conditions.
28
19
 
29
- A request to start a Goal discussion authorizes creating and starting
30
- that discussion task so it becomes `in_progress`. A registration-only request
31
- creates only the current discussion task in `todo` and returns without execution.
32
- Goal registration alone does not supply discussion-start or delivery execution
33
- authorization.
20
+ ## From requirements to solution
34
21
 
35
- ## Start requirements discussion
22
+ First create or reuse the single requirements-discussion task, titled `[Goal]<outcome>`.
23
+ Register only the current stage; do not create architecture placeholders or delivery items in advance.
24
+ Return for registration-only requests; when explicitly asked to start the discussion, start or resume through [ordinary execution](run-task.md).
36
25
 
37
- Create or reuse only the requirements discussion task, titled `[Goal]<outcome>`.
38
- The marker is followed directly by the outcome. Do not create an architecture
39
- placeholder or delivery tasks at this point. Give the task a self-contained Markdown description
40
- for the known problem, intended outcome, scope, constraints, open
41
- questions, and observable completion conditions under the shared content
42
- standard. Include the intended requirements and applicable prototype deliverables
43
- and the required human-confirmation completion condition. Finished requirements
44
- and prototypes are outputs, not prerequisites to starting; the session holds the
45
- discussion plan and process.
26
+ Requirements discussion defines the problem and behavior without deciding architecture or implementing production code.
27
+ This stage produces applicable interactive prototypes for UI Goals under the [prototype requirements for task creation](create-task.md#prepare-content).
28
+ Save and read back current artifacts under the authorization rules before requesting review.
46
29
 
47
- Each task starts in `todo`. For an explicit discussion-start request, read its
48
- current materials and exact version, use `task set-status <task-id> in_progress`
49
- with the version observed for that decision and confirm `in_progress`.
50
- All direct prerequisites must be done. Preserve real external blockers rather
51
- than removing dependencies to make a discussion ready. An already in-progress
52
- task is resumed after checking its actual work and context.
30
+ After the user confirms requirements and directs progression to solution discussion, save the accepted requirements, complete the requirements task and verify it is done, then create or reuse the solution-discussion task.
31
+ Use the requirements task as an ordinary prerequisite, prepare the stage brief, and start through ordinary execution.
32
+ If completion is uncertain, reconcile it first; do not create the next stage in advance.
53
33
 
54
- Discuss requirements with the user: the whole problem, desired behavior, scope,
55
- constraints, exclusions, and whole-Goal acceptance. Keep current material and open
56
- questions in this task's description or attachments. The description remains a
57
- task-specific brief and source entrypoint; detailed requirements have one owner.
58
- Before requesting user review, save the complete current requirements artifact,
59
- read it back, and provide the task and resource reference. Keep discussion,
60
- validation, and confirmation processes in the session.
34
+ Solution discussion explains responsibilities, data flow, control flow, interfaces, error behavior, key decisions, verification, and the proposed breakdown.
35
+ Keep the current solution and breakdown in this stage's own material; do not register delivery items before confirmation.
36
+ After the user confirms the solution, perform the registration checks below before completing the solution task.
61
37
 
62
- For a UI Goal, produce a final-style interactive frontend-only prototype with
63
- working relative resources and relevant populated, empty, loading, failure,
64
- disabled, long-content, and narrow-screen states. View and exercise it. Prototype
65
- code is a requirements artifact; this discussion does not implement production
66
- code or decide the architecture.
38
+ ## Register the delivery breakdown
67
39
 
68
- ## Confirm requirements and start solution discussion
40
+ The breakdown must collectively cover the confirmed Goal, with independent responsibilities, inputs, deliverables, and observable acceptance criteria for each task.
41
+ Include acceptance in the breakdown when it has an independent result; do not substitute vague placeholders or session execution steps for actual work.
69
42
 
70
- Keep the requirements task `in_progress` until the user explicitly confirms the
71
- current requirements and directs the next discussion, for example, "Requirements
72
- are settled; move to architecture discussion." Agent confidence, completed text,
73
- a review result, or elapsed time does not satisfy this gate.
43
+ Every root delivery task without another ordinary implementation prerequisite must directly depend on the solution task through an ordinary dependency, so all delivery paths inherit the confirmed design's completion conditions.
44
+ Verify cross-chain dependencies and follow [classification and reduction](task-management.md#dependency-classification); external prerequisites cannot replace ordinary design prerequisites.
74
45
 
75
- Keep the accepted requirements and their effective state in the owning task and
76
- verify they are readable. Preserve the actual confirmation and transition
77
- authorization in the session. A material revision after confirmation requires
78
- renewed user confirmation before advancement. When the discussion's acceptance
79
- is met,
80
- reread the task, use `task set-status <task-id> done` with its observed version, and confirm done.
81
- Do not create the solution discussion until that completion is confirmed; reconcile
82
- an uncertain completion before another mutation.
46
+ **Every delivery task's description must directly identify the architecture task ID and all required architecture source locations, including for indirect successors.**
47
+ Identify the description and applicable sections for inline architecture, list full paths for actual attachments, and retain the owning task ID and verified immutable references for repository sources.
48
+ An index only in an upstream task or inside an attachment is insufficient.
49
+ Read actual sources under the content standard; do not invent attachments or copy the full set of shared material.
83
50
 
84
- Then create or reuse the solution discussion task, with a purpose-specific title
85
- such as `Architecture discussion: <outcome>`, and an ordinary prerequisite on the
86
- completed requirements task. The user's direction to start this discussion
87
- provides its scoped execution authorization. Prepare its stage brief,
88
- read its current version, set in_progress through the same lifecycle, and
89
- confirm `in_progress`. This user-directed transition is available to ordinary
90
- execution only; it does not authorize selection of another unrelated task.
51
+ For example, in `architecture -> A -> B`, B declares only A as a direct dependency and inherits the architecture prerequisite through A, but B's description still directly lists the required architecture sources.
52
+ Source indexes do not create additional execution dependencies.
91
53
 
92
- ## Execute the appropriate stage
54
+ Read back every delivery task and its required inputs, checking responsibility coverage, architecture indexes, and source readability.
55
+ Check dependencies through [post-change verification](task-management.md#verify-dependency-changes).
56
+ Keep the solution task in progress while gaps remain; recover partial registration under [write safety](write-safety.md).
57
+ Registration and solution completion do not start delivery or enable automatic-execution permission.
93
58
 
94
- During solution discussion, consume the confirmed requirements and applicable
95
- prototype. Discuss how to achieve the outcome: responsibilities, data and control
96
- flow, interfaces, error behavior, key decisions, verification, and the proposed
97
- breakdown. The solution task owns the current architecture, proposal, and draft
98
- breakdown. Keep these current artifacts accessible in its description or
99
- attachments, verify them before user review, and synchronize accepted decisions
100
- and necessary rationale. The discussion plan, review handling, and confirmation
101
- process remain in the session.
102
- Do not register delivery subtasks before the user confirms the current solution.
59
+ ## Whole-Goal completion
103
60
 
104
- A discussion task completes from user-confirmed Daynight material and its stated
105
- stage acceptance. Repository document/code delivery still follows normal PR and
106
- merge rules, but a generic repository PR rule does not add a merge prerequisite
107
- to a Daynight discussion. If the user explicitly makes particular repository
108
- artifacts or PR delivery part of that discussion's acceptance, honor that
109
- requirement and its delivery permissions. An unresolved user review keeps the
110
- current discussion `in_progress`. Successful CI or a design review cannot replace
111
- the user's confirmation.
61
+ Complete each task through the selected execution workflow; reading the Goal protocol does not change the return boundaries of ordinary or managed workflows.
62
+ A single done task, an empty ready page, completed requirements, or a completed solution does not mean the whole Goal has been delivered.
112
63
 
113
- After explicit user confirmation of the current solution, keep the accepted
114
- solution and its effective state in the owning task, preserve the confirmation
115
- in the session, and register the delivery breakdown below. Complete
116
- the solution discussion only after the accepted solution and actual registered delivery tasks,
117
- their required materials, and their dependencies are read back
118
- and verified. Use `task set-status <task-id> done` with the observed version and confirm done.
119
- Completion satisfies dependencies and grants no delivery execution permission. Completing
120
- either discussion does not establish whole-Goal completion.
121
-
122
- ## Register the confirmed delivery breakdown
123
-
124
- Only after user solution confirmation, create or reuse the concrete delivery tasks
125
- needed for the agreed outcome. Each description and its actual references must
126
- satisfy the task content standard, including task-specific responsibility,
127
- actual required inputs, deliverables and contracts, and observable acceptance.
128
- Include independently scoped acceptance work when it has its own outcome. A
129
- [final-acceptance](../SKILL.md#final-acceptance) brief
130
- identifies the original whole-Goal requirements and confirmed changes, and assesses
131
- the combined delivery under the shared rule. Do not turn agent-generated execution
132
- steps into tasks. The combined scope must cover the confirmed Goal, rather than a
133
- vague placeholder.
134
-
135
- Create new delivery tasks in `todo`. Solution confirmation authorizes the
136
- confirmed breakdown's registration, not implementation, automatic-execution
137
- permission, publishing, deployment, or merge. Apply any
138
- separate explicit authorization only within its stated scope. New tasks have
139
- `allowAgents=false`; registration does not enable it. Only a separately explicit
140
- [handoff](handoff.md) may review and enable permission; it does not supply delivery
141
- execution authorization or advance the discussion gate.
142
-
143
- Use ordinary dependencies for real within-Goal prerequisites. Every delivery root
144
- without another ordinary implementation prerequisite depends directly on the
145
- solution discussion, so each delivery path includes confirmed design completion.
146
- Mark verified prerequisites owned by another same-project chain as external;
147
- external prerequisites remain real blockers and do not replace that ordinary
148
- design gate. Apply [the handbook's dependency reduction rule](handbook.md#dependency-reduction)
149
- before registering the breakdown: successors inherit prerequisites through
150
- retained paths and do not repeat those direct edges. Preserve the complete
151
- necessary relationship sets under the handbook's CLI replacement semantics.
152
- Do not create dependencies merely to group cards.
153
-
154
- Upload needed task-owned resources when their content uses attachments. Keep
155
- shared requirements with the requirements task and the solution and breakdown with the
156
- solution task. Consumers reference the owning task ID and the source description
157
- with applicable sections for inline content, full paths for actual attachments,
158
- or immutable repository sources. Use `task show --json` for source descriptions
159
- and the attachment commands for actual attachment contents. Every delivery
160
- task's description must directly list the architecture task ID and all required
161
- architecture source locations: description and applicable sections for inline
162
- design, full paths under the source task for each actual required attachment
163
- document, and verified immutable repository references for repository documents.
164
- Do not fabricate an attachment path or copy or relocate inline architecture to
165
- fit this index. This applies to indirect successors as well as delivery roots;
166
- a reference only in another task or inside an attachment is insufficient.
167
- These input references do not add execution dependencies or duplicate shared
168
- documents.
169
-
170
- Read back every task, required attachment, shared input, and dependency before
171
- reporting the breakdown registered. Verify required paths and the absence of
172
- redundant direct edges under the handbook's reduction rule. Check each delivery
173
- task's description, including indirect successors, for the architecture task ID and every required
174
- document reference; confirm that each reference resolves to the intended readable
175
- content. Keep the solution discussion `in_progress` when registration is incomplete.
176
- If the accepted solution materially changes, obtain renewed user confirmation
177
- before registering or advancing the changed work.
178
-
179
- For an illustrative `architecture → A → B` chain, A delivers the upload API and B
180
- delivers its retry controls. B depends only on A, inherits the architecture
181
- prerequisite through A, and directly names the architecture inputs in its
182
- description. The following task ID and paths are hypothetical;
183
- replace them with verified sources when registering real work:
184
-
185
- ```markdown
186
- ## Objective and scope
187
- Implement upload retry controls using the delivered upload API. Preserve the
188
- selected files and show the confirmed error-specific retry actions.
189
-
190
- ## Completion conditions
191
- Retryable failures offer retry; permanent failures explain the required action.
192
- Successful retry clears the error without losing the selected files.
193
-
194
- ## Architecture inputs
195
- Architecture task: `11111111-1111-4111-8111-111111111111`.
196
- Read these attachments from that task before implementation:
197
-
198
- - `design/architecture.md`: upload flow and component responsibilities.
199
- - `design/upload-errors.md`: error classification and retry behavior.
200
-
201
- ## Deliverable
202
- Upload retry controls in the existing upload UI, using the API's error contract;
203
- no additional task-to-task exchange is introduced.
204
- ```
205
-
206
- When the shared architecture is inline, the architecture inputs instead identify
207
- the same source task ID and its description sections, such as "Upload flow" and
208
- "Error classification". Read those sections with `task show --json`; list full
209
- paths only for actual attachment documents that are also required.
210
-
211
- ## Preserve ownership and recover partial registration
212
-
213
- Stage briefs describe the work to produce the stage's outputs; they do not claim
214
- unfinished results exist. Every stage and delivery task provides a task-specific
215
- Markdown brief and the complete applicable content, directly or through verified
216
- references. Complete inline content needs no primary attachment. Save produced
217
- results at their actual owner and make them discoverable from the task. Keep
218
- shared inputs at their actual owner. Do not distribute a duplicate whole packet
219
- to every task. An independently
220
- needed snapshot records its purpose, original source, and source revision or
221
- content identity. Existing attachment reads support these references; do not
222
- invent a URL scheme, cross-task relative links, or fixed service host.
223
-
224
- Creation, uploads, metadata changes, and lifecycle actions are independent writes.
225
- Retain confirmed IDs and resume missing operations after partial success. Read
226
- actual task fields and attachment contents before retrying an uncertain write;
227
- a matching title or lost response does not establish success or failure. If the
228
- identity cannot be established uniquely, preserve the failure and information
229
- needed to reconcile it rather than creating a duplicate chain.
230
-
231
- Bind metadata updates and status changes to the exact version
232
- observed for that decision. Attachment bytes have independent concurrency and
233
- must be verified separately; task versions cannot prove the reviewed content is
234
- unchanged. Generic updates cannot write status. A version conflict requires a
235
- new decision. Readiness and `in_progress` provide no ownership lock or lease.
236
-
237
- ## Advance and accept the whole Goal
238
-
239
- Ordinary execution processes one specified task and returns after completion or
240
- external wait. A user-directed requirements-to-solution transition follows the
241
- confirmation protocol above and the ordinary execution mode. Neither discussion
242
- completion nor breakdown registration starts delivery or selects later work.
243
- Existing execution authorization for a fixed Goal scope remains within that
244
- scope, but does not make the skill discover or continuously select successors.
245
- CI, review, and merge waits stay with the current delivery task. Other execution
246
- modes preserve their own return boundary when reading this stage protocol.
247
-
248
- Delivery tasks satisfy [shared acceptance readiness](task-execution.md#confirm-acceptance-readiness)
249
- and complete through their selected execution mode: accepted outcomes, required
250
- review, all necessary authorized PR merges, and readable task results. To report
251
- the
252
- whole Goal complete, inspect the full confirmed delivery scope, every delivery
253
- task's completion, all required delivery PR merges, and the original whole-Goal
254
- requirements with their confirmed changes. Apply
255
- [Final acceptance](../SKILL.md#final-acceptance) to the combined delivery;
256
- completing or passing temporary helpers does not establish that the Goal is
257
- complete.
258
-
259
- The requirements task being done means only that requirements discussion is
260
- complete. The solution task being done means the confirmed solution and verified
261
- breakdown are delivered. An empty ready page or a single delivery result proves
262
- neither the whole outcome nor completion of all its work.
64
+ Before reporting the whole Goal complete, verify the full confirmed scope, every delivery result, and the actual merge status of all required PRs, and perform final acceptance on the combined results.
65
+ Discussion confirmation, registration, and prerequisite completion do not automatically select successor work.