@codetreker/daynight 0.20.2 → 0.21.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 (38) hide show
  1. package/dist/cli/commands.js +0 -2
  2. package/dist/cli/commands.js.map +1 -1
  3. package/dist/cli/context.d.ts +0 -1
  4. package/dist/cli/context.js +0 -2
  5. package/dist/cli/context.js.map +1 -1
  6. package/dist/commands/completion/setup.js +4 -2
  7. package/dist/commands/completion/setup.js.map +1 -1
  8. package/dist/commands/review/command.js +2 -3
  9. package/dist/commands/review/command.js.map +1 -1
  10. package/dist/commands/review/config.js +1 -1
  11. package/dist/commands/review/config.js.map +1 -1
  12. package/dist/commands/review/configuration-guide.d.ts +3 -0
  13. package/dist/commands/review/configuration-guide.js +83 -0
  14. package/dist/commands/review/configuration-guide.js.map +1 -0
  15. package/dist/commands/skill/skills/using-daynight/SKILL.md +22 -20
  16. package/dist/commands/skill/skills/using-daynight/references/autopilot.md +8 -2
  17. package/dist/commands/skill/skills/using-daynight/references/create-task.md +47 -57
  18. package/dist/commands/skill/skills/using-daynight/references/goal.md +35 -21
  19. package/dist/commands/skill/skills/using-daynight/references/handbook.md +32 -19
  20. package/dist/commands/skill/skills/using-daynight/references/handoff.md +102 -0
  21. package/dist/commands/skill/skills/using-daynight/references/run-task.md +25 -20
  22. package/dist/commands/skill/skills/using-daynight/references/task-content.md +132 -0
  23. package/dist/config/server-token.d.ts +0 -1
  24. package/dist/config/server-token.js +0 -1
  25. package/dist/config/server-token.js.map +1 -1
  26. package/package.json +2 -2
  27. package/dist/cli/input.d.ts +0 -4
  28. package/dist/cli/input.js +0 -40
  29. package/dist/cli/input.js.map +0 -1
  30. package/dist/commands/setup/command.d.ts +0 -2
  31. package/dist/commands/setup/command.js +0 -28
  32. package/dist/commands/setup/command.js.map +0 -1
  33. package/dist/commands/setup/definition.d.ts +0 -2
  34. package/dist/commands/setup/definition.js +0 -13
  35. package/dist/commands/setup/definition.js.map +0 -1
  36. package/dist/config/setup.d.ts +0 -9
  37. package/dist/config/setup.js +0 -132
  38. package/dist/config/setup.js.map +0 -1
@@ -1,7 +1,8 @@
1
1
  # Create a task
2
2
 
3
3
  Use this mode to prepare and register work that needs persistent tracking. Read
4
- [the handbook](handbook.md) before discovery, queries, or writes. Return after
4
+ [the handbook](handbook.md) before discovery, queries, or writes and
5
+ [the task content standard](task-content.md) for content preparation. Return after
5
6
  registration; registration alone does not authorize execution or
6
7
  autopilot. An explicit request to start a Goal discussion routes the registered
7
8
  current stage to run-task under the Goal protocol.
@@ -52,50 +53,34 @@ applicable mock UI before registration, following the artifact rules below.
52
53
 
53
54
  Look for existing work with the same problem and scope, including completed
54
55
  tasks; the default list contains only unfinished work. Inspect full descriptions,
55
- actual dependencies, primary Markdown, and acceptance criteria. For a Goal,
56
+ actual dependencies, content sources, and acceptance criteria. For a Goal,
56
57
  inspect the existing chain and its owning inputs. Titles alone do not establish
57
58
  identity. Reuse suitable work and preserve valid requirements; interrupted
58
59
  registration does not justify a duplicate task or chain.
59
60
 
60
61
  ## Write task-specific content
61
62
 
62
- Use the target repository's document and workspace rules.
63
-
64
- | Content | Owner |
65
- |---|---|
66
- | Concrete problem, current actions and scope, deliverables, constraints, completion summary, and real input references | Task `description` |
67
- | Detailed solution, full acceptance criteria, verification methods, and completion evidence | This task's primary Markdown attachment |
68
- | Applicable visual and interaction design | Owning task's interactive mock UI and resources, referenced by consumers |
69
- | Prerequisite tasks and edge classification | Complete `dependsOn` plus its `externalDependsOn` subset |
70
- | Delivery PR URLs and titles | `properties.pullRequests` |
71
-
72
- Give each task an outcome-focused title and a self-contained Markdown
73
- description: a reader must understand what this specific task will do, deliver,
74
- and verify without opening attachments. Summarize the approach and observable
75
- completion conditions, then reference the real detailed sources. A generic
76
- problem sentence and a link list are insufficient. Keep the summary consistent
77
- with its primary Markdown without maintaining a second complete plan in the
78
- description.
79
-
80
- The primary Markdown must contain **Solution** and **Acceptance criteria**
81
- sections; equivalent headings in the task's language are valid. Define the
82
- current task's approach, scope, behavioral constraints, observable completion
83
- conditions, and how to verify them. Stage briefs describe the work that will
84
- produce that stage's results. They do not claim unfinished outputs already exist.
85
- Link supporting resources from the primary document.
86
-
87
- Attach only this task's detailed plan, needed resources, and outputs. Shared
88
- Goal requirements stay with the Goal description task; architecture and
89
- breakdown stay with the design task. Consumers identify the source task ID and
90
- attachment path and confirm the contents using the installed CLI's attachment
91
- read command. For repository inputs, use verified immutable references. Do not
92
- assume a `task://` scheme, cross-task relative links, or a fixed service host.
93
- For every Goal delivery task, list the architecture task ID and all required
94
- architecture document references directly in its description, including indirect
95
- successors. Use the Goal protocol's full attachment paths or immutable repository
96
- references; keep these input references separate from execution dependencies.
97
- Do not upload the same whole packet to every task. Create a separate snapshot
98
- only when the task needs an independent copy, recording its purpose, original
63
+ Use the target repository's document and workspace rules and the shared six-item
64
+ content standard. Give each task an outcome-focused title and a Markdown
65
+ description that identifies its concrete work, responsibility, and actual content
66
+ sources. The description and readable references together provide the objective,
67
+ scope, solution, exchange contracts, acceptance, and sources. Complete inline
68
+ content needs no primary attachment; reference-owned and mixed content are also
69
+ valid without repeating complete documents. State where this task's confirmations,
70
+ acceptance conclusions, and delivery evidence will live in its description or
71
+ attachments. Stage briefs describe work that produces the stage's outputs; do
72
+ not claim unfinished outputs already exist.
73
+
74
+ Attach only resources this task needs or owns. Keep shared Goal requirements
75
+ with the requirements task and architecture and breakdown with the solution
76
+ task. Reference the owning task ID and its description with applicable sections
77
+ for inline content, full paths for actual attachments, or verified immutable
78
+ repository sources. Read source descriptions through `task show --json` and
79
+ attachment bytes through the attachment commands. For every Goal delivery task,
80
+ list the architecture task ID and all required architecture source locations
81
+ directly in its description, including indirect successors, as
82
+ [the Goal protocol](goal.md) requires. Do not copy the whole shared packet
83
+ into every task. An independently needed snapshot records its purpose, original
99
84
  source, and source revision or content identity.
100
85
 
101
86
  A frontend delivery task requires an interactive mock UI that runs with frontend code
@@ -115,8 +100,8 @@ ownership before registering the relationship. A top-level task has no ordinary
115
100
  prerequisites; it may still have real external prerequisites that block execution.
116
101
  Do not add a Dependencies section or duplicate the relationship lists in task
117
102
  prose. Repository specifications and design documents retain their full contracts;
118
- the task's own primary attachment still provides its specific solution and
119
- verifiable acceptance criteria.
103
+ the current task identifies its specific solution and verifiable acceptance
104
+ criteria directly or through their actual owners.
120
105
 
121
106
  ## Author Markdown
122
107
 
@@ -130,8 +115,9 @@ A relative link or image in a description starts at this task's attachment root.
130
115
  A link inside a Markdown attachment starts at that file's directory. Keep paths
131
116
  inside the task root and preserve the actual case and resource identity. Confirm
132
117
  an upload and read back its contents before adding its link. Reference shared
133
- inputs by their verified source task ID and attachment path or immutable
134
- repository URL; a relative link cannot identify another task's attachment.
118
+ inputs by their verified owning task ID and description/sections or actual
119
+ attachment path, or by an immutable repository URL. A relative link cannot
120
+ identify another task's content.
135
121
 
136
122
  For example, the following brief applies to a task whose confirmed, readable
137
123
  attachments include its own `plan.md` and the complete `mockui/index.html`
@@ -156,14 +142,17 @@ confirming it.
156
142
  - [交互原型](mockui/index.html)
157
143
  ```
158
144
 
159
- This remains a concise assignment. Its own primary Markdown still contains the
160
- specific **Solution** and **Acceptance criteria**, verification methods, and
161
- evidence. The prototype remains with its actual owner when shared across a Goal.
145
+ This example uses an attachment for the detailed content; the same six-item
146
+ standard also permits complete inline or mixed organization. Its actual `plan.md`
147
+ provides the requirements, solution, applicable exchange contracts, acceptance,
148
+ and task-owned evidence location. The prototype stays with its actual owner when
149
+ shared across a Goal.
162
150
 
163
151
  ## Register and verify
164
152
 
165
153
  New tasks have `allowAgents=false`; creation cannot enable the permission.
166
- Automatic workers and agent workflows must not turn it on themselves. Execution
154
+ Creation and breakdown do not enable it. A separate, explicitly requested
155
+ [handoff](handoff.md) reviews each task before enabling permission. Execution
167
156
  authorization and automatic-discovery permission remain separate decisions.
168
157
 
169
158
  Tasks without `--required-platform` are unrestricted. Set windows, linux or macos
@@ -172,16 +161,17 @@ do not start tasks or enable automatic execution; they survive all status change
172
161
 
173
162
  Reuse the established project and suitable tasks. Create new tasks in `todo`,
174
163
  retaining each confirmed ID. Set concrete descriptions and actual ordinary and
175
- external prerequisites using the handbook's full CLI replacement rule. Upload each task's own primary Markdown and required
176
- resources; add actual attachment references to the complete description using
177
- the observed task version. Reference already readable shared inputs at their
178
- source. Do not present planned uploads as existing attachments.
164
+ external prerequisites using the handbook's full CLI replacement rule. Upload
165
+ required task-owned resources when the content uses attachments; add actual
166
+ references to the complete description using the observed task version. Reference
167
+ already readable shared inputs at their source. Do not present planned uploads as existing attachments.
179
168
 
180
169
  Read back each complete task, its attachment inventory and required contents,
181
170
  and its referenced shared inputs. Verify self-contained Markdown descriptions,
182
- valid links and images, the two required primary-document sections, real source
183
- identities, complete prerequisites and their intended external subset, and applicable mock UI resources and
184
- interaction. For a Goal, verify only the current discussion stage and its brief;
171
+ valid links and images, all six content requirements, the explicit task-owned
172
+ evidence location, real source identities, complete prerequisites and their
173
+ intended external subset, and applicable mock UI resources and interaction. For a
174
+ Goal, verify only the current discussion stage and its brief;
185
175
  verify later stages and delivery tasks when their confirmation gate permits
186
176
  registration. When registering delivery work, check every task's description,
187
177
  including indirect successors, for its architecture task ID and required document
@@ -197,8 +187,8 @@ scope; ready successors in an authorized fixed queue need no per-task authorizat
197
187
  If creation succeeds but a later operation fails, retain the confirmed IDs and
198
188
  resume missing operations there. Tasks remain `todo`. Reconcile uncertain results through the handbook before another
199
189
  mutation. Report incomplete registration with the exact missing operation or
200
- artifact and next step. Do not move detailed plans into descriptions to bypass
201
- an attachment failure. Return after verified registration without selecting or
202
- executing a task for registration-only requests. If the user explicitly requested
190
+ artifact and next step. An unreadable required source is still a failure; do
191
+ not silently replace it with invented or weaker content. Return after verified
192
+ registration without selecting or executing a task for registration-only requests. If the user explicitly requested
203
193
  the current Goal discussion to start, pass its confirmed ID to run-task under
204
194
  the Goal protocol.
@@ -2,7 +2,8 @@
2
2
 
3
3
  Read this reference when starting or registering a Goal, discussing one of its
4
4
  stages, or advancing its authorized scope. Use [create-task](create-task.md) for
5
- content and registration, [run-task](run-task.md) for task execution, and
5
+ registration, [the task content standard](task-content.md) for the shared six
6
+ content requirements, [run-task](run-task.md) for task execution, and
6
7
  [the handbook](handbook.md) for CLI semantics. A Goal uses existing tasks,
7
8
  attachments, complete `dependsOn` relationships, their `externalDependsOn`
8
9
  classification, and PR properties. It adds no resource, command, or status.
@@ -35,8 +36,9 @@ Create or reuse only the requirements discussion task, titled `[Goal]<outcome>`.
35
36
  The marker is followed directly by the outcome. Do not create an architecture
36
37
  placeholder or delivery tasks at this point. Give the task a self-contained Markdown description
37
38
  for the known problem, intended outcome, scope, constraints, open
38
- questions, and observable completion conditions. Its primary Markdown's Solution
39
- and Acceptance criteria describe this discussion and its user-confirmation gate;
39
+ questions, and observable completion conditions. The description and actual
40
+ references provide this discussion's solution, acceptance criteria, confirmation
41
+ gate, and task-owned evidence location under the shared content standard;
40
42
  finished requirements and prototypes are outputs, not prerequisites to starting.
41
43
 
42
44
  Each task starts in `todo`. For an explicit discussion-start request, read its
@@ -49,8 +51,8 @@ task is resumed after checking its actual work and context.
49
51
  Discuss requirements with the user: the whole problem, desired behavior, scope,
50
52
  constraints, exclusions, and whole-Goal acceptance. Keep current material and open
51
53
  questions in this task's description or attachments. The description remains a
52
- self-contained brief; its primary Markdown owns detailed requirements, validation,
53
- and evidence. Before requesting user review, save the complete current material,
54
+ task-specific brief and source entrypoint; detailed requirements have one owner,
55
+ and confirmation, validation, and evidence stay at an identified task-owned location. Before requesting user review, save the complete current material,
54
56
  read it back, and provide the task and resource reference.
55
57
 
56
58
  For a UI Goal, produce a final-style interactive frontend-only prototype with
@@ -111,9 +113,9 @@ either discussion does not establish whole-Goal completion.
111
113
  ## Register the confirmed delivery breakdown
112
114
 
113
115
  Only after user solution confirmation, create or reuse the concrete delivery tasks
114
- needed for the agreed outcome. Each needs its own problem, objective, scope,
115
- deliverables, constraints, solution, observable acceptance, verification methods,
116
- and real input references. Include independently scoped acceptance work when it
116
+ needed for the agreed outcome. Each description and its actual references must
117
+ satisfy the six-item content standard, including task-specific responsibility,
118
+ input/output contracts, observable acceptance, verification, and evidence ownership. Include independently scoped acceptance work when it
117
119
  has its own outcome. A [final-acceptance](../SKILL.md#final-acceptance) brief
118
120
  identifies the original whole-Goal requirements and confirmed changes, and assesses
119
121
  the combined delivery under the shared rule. Do not turn agent-generated execution
@@ -124,7 +126,9 @@ Create new delivery tasks in `todo`. Solution confirmation authorizes the
124
126
  confirmed breakdown's registration, not implementation, autopilot,
125
127
  automatic-execution permission, publishing, deployment, or merge. Apply any
126
128
  separate explicit authorization only within its stated scope. New tasks have
127
- `allowAgents=false`; automated workflows must not enable it themselves.
129
+ `allowAgents=false`; registration does not enable it. Only a separately explicit
130
+ [handoff](handoff.md) may review and enable permission; it does not supply delivery
131
+ execution authorization or advance the discussion gate.
128
132
 
129
133
  Use ordinary dependencies for real within-Goal prerequisites. Every delivery root
130
134
  without another ordinary implementation prerequisite depends directly on the
@@ -134,16 +138,19 @@ external prerequisites remain real blockers and do not replace that ordinary
134
138
  design gate. Preserve the complete relationship sets under the handbook's CLI
135
139
  replacement semantics. Do not create dependencies merely to group cards.
136
140
 
137
- Upload each task's own primary Markdown and needed resources. Keep shared
138
- requirements with the requirements task and the solution and breakdown with the
139
- solution task. Consumers reference the verified source task ID and attachment
140
- path, or an immutable repository source. Every delivery task's description must
141
- directly list the architecture task ID and every architecture document required
142
- for that task, using its full attachment path under the source task. For a
143
- repository document, retain the architecture task ID and use a verified immutable
144
- repository reference. Include applicable sections when they clarify what to read.
145
- This applies to indirect successors as well as delivery roots; a reference only
146
- in another task or the delivery task's own primary Markdown is insufficient.
141
+ Upload needed task-owned resources when their content uses attachments. Keep
142
+ shared requirements with the requirements task and the solution and breakdown with the
143
+ solution task. Consumers reference the owning task ID and the source description
144
+ with applicable sections for inline content, full paths for actual attachments,
145
+ or immutable repository sources. Use `task show --json` for source descriptions
146
+ and the attachment commands for actual attachment contents. Every delivery
147
+ task's description must directly list the architecture task ID and all required
148
+ architecture source locations: description and applicable sections for inline
149
+ design, full paths under the source task for each actual required attachment
150
+ document, and verified immutable repository references for repository documents.
151
+ Do not fabricate an attachment path or copy or relocate inline architecture to
152
+ fit this index. This applies to indirect successors as well as delivery roots;
153
+ a reference only in another task or inside an attachment is insufficient.
147
154
  These input references do not add execution dependencies or duplicate shared
148
155
  documents.
149
156
 
@@ -180,11 +187,18 @@ Read these attachments from that task before implementation:
180
187
  This task's `plan.md` owns its implementation plan and full acceptance criteria.
181
188
  ```
182
189
 
190
+ When the shared architecture is inline, the architecture inputs instead identify
191
+ the same source task ID and its description sections, such as "Upload flow" and
192
+ "Error classification". Read those sections with `task show --json`; list full
193
+ paths only for actual attachment documents that are also required.
194
+
183
195
  ## Preserve ownership and recover partial registration
184
196
 
185
197
  Stage briefs describe the work to produce the stage's outputs; they do not claim
186
- unfinished results exist. Every stage and delivery task has its own self-contained
187
- Markdown brief and detailed primary Markdown. Keep shared inputs at their actual
198
+ unfinished results exist. Every stage and delivery task provides a task-specific
199
+ Markdown brief and the complete applicable content, directly or through verified
200
+ references. Complete inline content needs no primary attachment. Identify each
201
+ task's own confirmation and evidence location. Keep shared inputs at their actual
188
202
  owner. Do not distribute a duplicate whole packet to every task. An independently
189
203
  needed snapshot records its purpose, original source, and source revision or
190
204
  content identity. Existing attachment reads support these references; do not
@@ -11,7 +11,7 @@ needed to use them correctly.
11
11
  |---|---|
12
12
  | `login` | Authorize CLI access through the browser using a device code. |
13
13
  | `logout` | Revoke and remove the current CLI credential. |
14
- | `setup` | Configure review repositories or explicit test-server/automation overrides. |
14
+ | `review add-repo` | Configure a repository for review; review run/list also guide first-use configuration in an interactive terminal. |
15
15
  | `project create` | Register a repository as a project or find its existing project. |
16
16
  | `project list` | Find projects on the configured service. |
17
17
  | `project show` | Inspect a project's details. |
@@ -48,13 +48,17 @@ start login, retry anonymously, or blindly repeat a mutation. Reconcile an
48
48
  unconfirmed write before another mutation. Project discovery and explicit project
49
49
  IDs grant no access; current service membership decides authorization.
50
50
 
51
- For noninteractive automation, read `daynight setup --help` and use the explicit
52
- `--server-token-stdin` option with a token from a secret source. Never put a token
53
- in command arguments, chat, task descriptions, checkpoints or attachments.
54
- A token is bound to the normalized origin, and changing the origin removes its
55
- old local value. Credentials require HTTPS except for literal localhost or
56
- numeric-loopback HTTP. Setup saves configuration without network or login checks;
57
- ordinary setup does not prompt for a server address or token.
51
+ For a test service or noninteractive automation, provision the existing
52
+ `serverUrl` and `serverToken` fields in `~/.daynight/config.yml` through a trusted
53
+ configuration or secret source. Omit `serverUrl` only for `https://daynight.cc`.
54
+ Never put a token in command arguments, chat, task descriptions, checkpoints or
55
+ attachments. Keep credential files private, with POSIX mode `0600`. Pair each
56
+ credential with its intended normalized origin; when changing services externally,
57
+ remove or replace the old token before another request. External file writes do
58
+ not run CLI credential cleanup or participate in its write lock. Credentials
59
+ require HTTPS except for literal localhost or numeric-loopback HTTP. File
60
+ provisioning performs no network or login checks. There is no top-level `setup`
61
+ command; `completion setup` remains the independent shell startup installer.
58
62
 
59
63
  **Project discovery.** Inside a Git worktree, task commands can omit `--project`:
60
64
  the CLI matches the origin repository URL to a project on the configured
@@ -137,9 +141,11 @@ version and timestamps, while stale versions still conflict. Status changes and
137
141
  `task list` and `task ready` accept `--allow-agents true|false`. The server
138
142
  combines that condition with other filters before pagination and the ready limit;
139
143
  an unfiltered ready page may contain tasks without automatic-execution permission.
140
- Automatic selection requires true and automated workflows must not enable it
141
- themselves. An explicitly user-selected task may still use manual execution regardless
142
- of the flag. Permission does not grant execution, publication or merge authority.
144
+ Automatic selection requires true and does not enable permission itself.
145
+ Only explicitly authorized [handoff](handoff.md) reviews the task against
146
+ [the content standard](task-content.md) before enabling it; creation, breakdown,
147
+ and execution do not do so implicitly. An explicitly user-selected task may still
148
+ use manual execution regardless of the flag. Permission does not grant execution, publication or merge authority.
143
149
  A lost permission PATCH response is an unconfirmed write: read actual task state
144
150
  before reconsidering the operation, without resubmitting automatically.
145
151
 
@@ -211,15 +217,21 @@ explicit full relationship replacement; do not infer CLI append semantics from i
211
217
  whole supplied field. Preserve every still-needed value. Omitted fields stay
212
218
  unchanged; clearing and option-pairing syntax is in command help.
213
219
 
214
- **Markdown descriptions.** Write self-contained task briefs in Markdown following
215
- [create-task](create-task.md). The Web displays CommonMark/GFM, while API and CLI
216
- reads preserve the original string, including line breaks and fenced code. There
220
+ **Markdown descriptions.** Write task-specific Markdown descriptions following
221
+ [create-task](create-task.md) and [the task content standard](task-content.md).
222
+ The description and actual references jointly supply the six requirements;
223
+ complete inline content needs no primary attachment, and task-owned confirmation
224
+ and evidence locations must be explicit. The Web displays CommonMark/GFM, while
225
+ API and CLI reads preserve the original string, including line breaks and fenced code. There
217
226
  is no format flag. Relative description links and images start at the current
218
227
  task's attachment root; Markdown attachment internals start at their containing
219
228
  file's directory. Keep real case-sensitive paths inside the task root, confirm
220
229
  uploaded contents before linking them, and preserve Markdown and valid references
221
- when replacing a description. Shared inputs retain their source task ID and path
222
- or verified immutable repository URL; they are not cross-task relative links.
230
+ when replacing a description. Shared inputs retain their owning task ID and
231
+ content location: description with applicable sections for inline content, full
232
+ path for an actual attachment, or verified immutable repository URL. Read source
233
+ descriptions with `task show --json` and attachment contents separately. They
234
+ are not cross-task relative links, and inline content needs no fabricated path.
223
235
 
224
236
  **Attachment independence.** Task reads contain no attachment inventory.
225
237
  Attachments use case-sensitive relative paths; uploads to the same path replace
@@ -236,9 +248,10 @@ create, establish identity from complete fields and operation context; a matchin
236
248
  title or an empty lookup alone is insufficient. Preserve actual errors and
237
249
  resource IDs rather than reporting success or blindly resending a write.
238
250
 
239
- Task registration, execution, and selection follow [create-task](create-task.md),
240
- [run-task](run-task.md), and [autopilot](autopilot.md), respectively. For a chain
241
- of independently tracked delivery stages, use [the Goal protocol](goal.md).
251
+ Task registration, execution, selection, and requested handoff follow
252
+ [create-task](create-task.md), [run-task](run-task.md), [autopilot](autopilot.md),
253
+ and [handoff](handoff.md), respectively. For a chain of independently tracked
254
+ delivery stages, use [the Goal protocol](goal.md).
242
255
  Every stage and delivery task follows the same todo/in_progress/done contract.
243
256
  A fixed Goal queue may use existing scoped execution authorization for its ready
244
257
  successors; registration and discussion confirmation grant no delivery execution
@@ -0,0 +1,102 @@
1
+ # Handoff a task
2
+
3
+ Use `handoff <task-id>` only when the user explicitly requests handoff of that
4
+ task or a fixed set of tasks. This is a skill mode, not a CLI subcommand. The
5
+ request authorizes content review and, after it passes, enabling `allowAgents`
6
+ for those tasks. Creating, breaking down, or automatically discovering tasks does
7
+ not authorize permission changes. Read [the handbook](handbook.md) for CLI
8
+ operations and [the task content standard](task-content.md) for sufficiency.
9
+
10
+ Handoff ends after review, any authorized permission update, and reconciliation.
11
+ It does not start this session's run-task or autopilot, change status,
12
+ dependencies or platform, or grant independent implementation, merge, mainline
13
+ push, deployment, or external-communication authority. Existing execution and
14
+ delivery authorization remains applicable to later scheduling.
15
+
16
+ ## Review the task and its sources
17
+
18
+ Read the intended project and complete task, retaining its exact version,
19
+ status, `allowAgents`, platform, dependencies, and worker record. Read the
20
+ required source contents, including referenced source-task descriptions or
21
+ actual attachments, and necessary further references under the content standard.
22
+ Check current-stage sufficiency, responsibility boundaries, relevant
23
+ producer/consumer contracts, and Goal delivery tasks' direct architecture index.
24
+
25
+ For a `todo` task with permission false, organize its description or authorized
26
+ source documents only from existing confirmed information. Missing decisions
27
+ block review. Obtain user confirmation for material scope or behavior changes,
28
+ then reread the changed description and affected actual sources. Unfinished
29
+ prerequisites need not prevent handoff when the design and agreed interfaces
30
+ already define the future work; preserve their real blockers and do not claim
31
+ pending outputs are readable.
32
+
33
+ Already-enabled tasks receive a read-only re-audit: they may be selected while
34
+ review is underway. Do not assume they are paused or edit their content under
35
+ that assumption. Follow the state rules below before any permission change.
36
+
37
+ ## State and ownership rules
38
+
39
+ | Observed state | Handoff behavior |
40
+ |---|---|
41
+ | `todo`, permission false, review passes | Enable using the reviewed exact version, then reconcile. Dependency blockers may remain. |
42
+ | `todo`, permission false, review fails | Keep permission false and report concrete gaps. Confirmed-information organization follows the review rules above. |
43
+ | `todo`, permission true | Read-only re-audit; do not rewrite the same flag as an audit marker. |
44
+ | `in_progress`, permission false | Report the permission lock; do not newly enable or reset status to evade it. |
45
+ | `in_progress`, permission true | Read-only re-audit and report actual execution state. Review does not pause, stop, release, or transfer execution. |
46
+ | `done` | Report completion and no handoff needed; do not reopen or update permission. This is mode policy, not an API prohibition on completed-task updates. |
47
+ | Active or released worker record | Preserve ownership and execution history. A released execution can be `todo` but still needs confirmed original worktree/Agent continuity; enabling permission does not authorize a fresh execution elsewhere. |
48
+
49
+ If an already-enabled task fails re-audit, report the failed review, actual flag,
50
+ and continued scheduling exposure. Keep its permission unchanged. Revocation or
51
+ stopping needs separately explicit scope and the established workflow, including
52
+ running-task locks and worker controls. A failed review is not a successful
53
+ handoff or an implicit suspension.
54
+
55
+ ## Enable permission and reconcile
56
+
57
+ Finish authorized document changes and read them back before enabling permission.
58
+ Recheck required mutable references against the contents reviewed; compare actual
59
+ contents, not merely inventory or timestamps. Resolve changes before proceeding.
60
+ Attachment writes and cross-task references are not atomically protected by the
61
+ task version, and handoff does not provide server-side certification or freezing.
62
+
63
+ For a reviewed false-permission `todo`, use the installed CLI's versioned
64
+ `task update --allow-agents true` with the exact version on which the final
65
+ review decision was based. A final description may be included in that same
66
+ update. Omit unrelated options and preserve dependencies, platform, PR references,
67
+ worker data, and other fields. Do not update status to make the task eligible.
68
+
69
+ Check the write result and read back the complete task and required sources.
70
+ On a version conflict, reread and reassess rather than merely replacing the
71
+ version and replaying. If a write response is lost or uncertain, reconcile by
72
+ reads only before considering any new mutation; do not automatically replay it.
73
+ An unreadable reconciliation leaves the outcome unconfirmed: preserve the actual
74
+ error and do not report successful handoff.
75
+
76
+ Scheduling can claim the task immediately after enabling permission, so the final
77
+ GET may show a higher version and `in_progress` with a worker. Report the actual
78
+ observation; do not require equality with the update response's version or retry
79
+ because execution was observed. Another writer may have set the same flag during
80
+ an uncertain outcome. Without a confirmed write result, report only the observed
81
+ state rather than attributing the change to this operation.
82
+
83
+ If final source verification fails or reveals material changes, report review
84
+ incomplete or failed and the actual permission/state, including continued
85
+ scheduling exposure when true. Do not claim success or automatically revoke the
86
+ flag. Further action follows the same explicit authorization and state rules.
87
+
88
+ ## Report and return
89
+
90
+ Read back the complete task before reporting, including read-only re-audits.
91
+ Reassess changed review-relevant metadata or sources; a newly observed worker
92
+ claim is reported under the state rules rather than treated as proof of failure.
93
+ Report each task's content-review result, changes or concrete gaps, observed
94
+ version, permission and status, remaining dependency blockers, and applicable
95
+ worker-continuity constraints. Distinguish a confirmed permission update from an
96
+ uncertain write and a read-only re-audit. Permission true alone proves neither
97
+ execution started nor completion; report either only from actual evidence.
98
+
99
+ For a fixed set, review and report each task separately; one pass does not cover
100
+ other tasks. Return without selecting work or starting execution. The flag is
101
+ not a durable review certificate, and this mode does not bulk-rewrite existing
102
+ permission values.
@@ -10,15 +10,19 @@ it is not automatic backlog selection.
10
10
  ## Establish the task and stage
11
11
 
12
12
  Read the complete task with `daynight task show <task-id> --json`. Its Markdown
13
- description must make the problem, current actions, scope, deliverables,
14
- constraints, and observable completion summary understandable. Read its own primary
15
- Markdown's Solution and Acceptance criteria; equivalent headings in the task's
16
- language are valid.
13
+ description must identify the concrete current work, responsibility, and content
14
+ sources. Read it and its actual required references under
15
+ [the task content standard](task-content.md), including the solution, acceptance
16
+ criteria, and explicit task-owned confirmation/evidence location. Complete inline
17
+ content needs no primary attachment; document-owned and mixed organization are
18
+ valid when the combined contents satisfy the same six requirements.
17
19
  Resolve description-relative links and images from the current task's attachment
18
20
  root; links inside a Markdown attachment use its own directory. Resolve real
19
- shared input references using the source task ID and attachment path or a verified
20
- immutable repository reference. Read required contents rather than assuming a
21
- task read loads attachment inventory or bytes.
21
+ shared input references using the owning task ID and description/sections,
22
+ complete paths for actual attachments, or a verified immutable repository
23
+ reference. Read source descriptions through `task show --json` and actual
24
+ attachment contents through the attachment commands; a task read does not load
25
+ attachment inventory or bytes.
22
26
 
23
27
  For a Goal stage or delivery task, read [the Goal protocol](goal.md) and identify
24
28
  its role from the actual task content and context. Apply that stage's input and
@@ -26,9 +30,10 @@ output requirements. Requirements and solution discussions start from their stag
26
30
  the completed requirements, applicable UI prototype, and architecture are outputs
27
31
  of the stages that produce them. Delivery tasks require the delivered design and
28
32
  applicable prototype. Before implementation, read every required architecture
29
- document listed in the delivery task's description using its architecture task ID
30
- and full attachment paths or verified immutable repository references. This also
31
- applies when the architecture task is only an indirect prerequisite. Confirm the
33
+ source listed in the delivery task's description: the owning architecture task's
34
+ inline description and applicable sections, full paths for actual attachment
35
+ documents, or verified immutable repository references. This also applies when
36
+ the architecture task is only an indirect prerequisite. Confirm the
32
37
  description's references satisfy the Goal protocol. When a prototype is a required
33
38
  input, view and exercise it with its resources. An unfinished output of the current
34
39
  stage is not a missing input.
@@ -54,12 +59,11 @@ express same-chain prerequisites, external marks distinguish verified cross-chai
54
59
  ownership. Both kinds must be done before entering in_progress or done. Classification
55
60
  never grants permission to execute a prerequisite, enable automatic
56
61
  execution, or remove a blocker.
57
- A missing or unreadable primary Markdown, missing Solution or Acceptance criteria,
58
- or missing or unreadable required architecture reference or input leaves execution
59
- unready. Resolve it within the existing authorization or return the concrete issue.
60
- Do not infer requirements from a title, silently invent acceptance criteria, or
61
- move detailed plans into the description. Do not execute prerequisites as an
62
- implicit expansion of the requested task.
62
+ Missing required content, an unreadable required source, or a missing required
63
+ architecture reference or input leaves execution unready. Resolve it within
64
+ existing authorization or return the concrete issue. Do not infer requirements
65
+ from a title or silently invent acceptance criteria. Do not execute prerequisites
66
+ as an implicit expansion of the requested task.
63
67
 
64
68
  Creation leaves a task `todo` and does not execute it. An explicit request to
65
69
  start the current Goal discussion, or the user-directed transition that starts
@@ -109,15 +113,16 @@ updates; confirm new or replaced resources before linking them. Dependency edits
109
113
  must follow the handbook's CLI replacement contract: read full D/E, retain needed
110
114
  ordinary D−E and external E declarations, submit their intended complete sets
111
115
  with the observed version, and read back both. Omit all dependency options for
112
- unrelated metadata updates. Each primary
113
- Markdown owns its detailed plan and evidence; shared inputs remain at their
114
- verified source.
116
+ unrelated metadata updates. Keep detailed content at its identified owner and
117
+ confirmations and evidence at their explicit task-owned location; shared inputs
118
+ remain at their verified source.
115
119
 
116
120
  Advance only this task. Subagents collaborate on it, and waiting for CI, review,
117
121
  approval, or merge remains part of it. Keep all required delivery PR URLs and
118
122
  titles in the complete `properties.pullRequests` list, preserving existing
119
123
  entries. Record acceptance results and necessary delivery evidence, including
120
- merge commits, with the primary Markdown's corresponding acceptance criteria.
124
+ merge commits, at this task's identified evidence location against the
125
+ corresponding acceptance criteria.
121
126
  Rewrite current evidence coherently rather than accumulating an execution log.
122
127
  Keep operational progress, blockers, waiting items, and next action in the
123
128
  conversation or existing execution checkpoint, retaining the task ID and needed