@codetreker/daynight 0.26.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +128 -17
  2. package/dist/api/client.d.ts +7 -2
  3. package/dist/api/client.js +46 -18
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/api/index.d.ts +1 -0
  6. package/dist/api/index.js +1 -0
  7. package/dist/api/index.js.map +1 -1
  8. package/dist/api/json.js +27 -6
  9. package/dist/api/json.js.map +1 -1
  10. package/dist/api/parse.d.ts +4 -6
  11. package/dist/api/parse.js +51 -93
  12. package/dist/api/parse.js.map +1 -1
  13. package/dist/api/resource-path.d.ts +1 -0
  14. package/dist/api/resource-path.js +8 -0
  15. package/dist/api/resource-path.js.map +1 -0
  16. package/dist/api/task-properties.d.ts +7 -0
  17. package/dist/api/task-properties.js +81 -0
  18. package/dist/api/task-properties.js.map +1 -0
  19. package/dist/api/types.d.ts +95 -6
  20. package/dist/api/validation.d.ts +15 -0
  21. package/dist/api/validation.js +43 -0
  22. package/dist/api/validation.js.map +1 -0
  23. package/dist/cli/schema.d.ts +3 -0
  24. package/dist/cli/schema.js +14 -4
  25. package/dist/cli/schema.js.map +1 -1
  26. package/dist/commands/completion/bash.d.ts +1 -1
  27. package/dist/commands/completion/bash.js +6 -3
  28. package/dist/commands/completion/bash.js.map +1 -1
  29. package/dist/commands/completion/zsh.d.ts +1 -1
  30. package/dist/commands/completion/zsh.js +7 -7
  31. package/dist/commands/completion/zsh.js.map +1 -1
  32. package/dist/commands/skill/skills/using-daynight/SKILL.md +52 -162
  33. package/dist/commands/skill/skills/using-daynight/references/authorization.md +36 -0
  34. package/dist/commands/skill/skills/using-daynight/references/autopilot-managed-task.md +77 -193
  35. package/dist/commands/skill/skills/using-daynight/references/create-task.md +31 -186
  36. package/dist/commands/skill/skills/using-daynight/references/final-acceptance.md +25 -0
  37. package/dist/commands/skill/skills/using-daynight/references/goal.md +46 -243
  38. package/dist/commands/skill/skills/using-daynight/references/handbook.md +38 -294
  39. package/dist/commands/skill/skills/using-daynight/references/handoff.md +33 -91
  40. package/dist/commands/skill/skills/using-daynight/references/project-management.md +24 -0
  41. package/dist/commands/skill/skills/using-daynight/references/run-task.md +18 -59
  42. package/dist/commands/skill/skills/using-daynight/references/setup.md +16 -0
  43. package/dist/commands/skill/skills/using-daynight/references/task-content.md +80 -177
  44. package/dist/commands/skill/skills/using-daynight/references/task-execution.md +34 -126
  45. package/dist/commands/skill/skills/using-daynight/references/task-management.md +162 -0
  46. package/dist/commands/skill/skills/using-daynight/references/write-safety.md +34 -0
  47. package/dist/commands/task/command.js +12 -14
  48. package/dist/commands/task/command.js.map +1 -1
  49. package/dist/commands/task/definition.js +32 -13
  50. package/dist/commands/task/definition.js.map +1 -1
  51. package/dist/commands/task/property.d.ts +6 -0
  52. package/dist/commands/task/property.js +51 -0
  53. package/dist/commands/task/property.js.map +1 -0
  54. package/dist/commands/task/rendering.d.ts +4 -1
  55. package/dist/commands/task/rendering.js +35 -9
  56. package/dist/commands/task/rendering.js.map +1 -1
  57. package/dist/commands/worker/control.js +10 -6
  58. package/dist/commands/worker/control.js.map +1 -1
  59. package/dist/commands/worker/coordinator.d.ts +3 -1
  60. package/dist/commands/worker/coordinator.js +28 -17
  61. package/dist/commands/worker/coordinator.js.map +1 -1
  62. package/dist/commands/worker/herdr/command.d.ts +11 -2
  63. package/dist/commands/worker/herdr/command.js +23 -8
  64. package/dist/commands/worker/herdr/command.js.map +1 -1
  65. package/dist/commands/worker/herdr/instance.d.ts +5 -1
  66. package/dist/commands/worker/herdr/instance.js +30 -0
  67. package/dist/commands/worker/herdr/instance.js.map +1 -1
  68. package/dist/commands/worker/herdr/preflight.js +4 -6
  69. package/dist/commands/worker/herdr/preflight.js.map +1 -1
  70. package/dist/commands/worker/herdr/version-probe.d.ts +13 -0
  71. package/dist/commands/worker/herdr/version-probe.js +21 -0
  72. package/dist/commands/worker/herdr/version-probe.js.map +1 -0
  73. package/dist/commands/worker/herdr.js +2 -6
  74. package/dist/commands/worker/herdr.js.map +1 -1
  75. package/dist/commands/worker/index.d.ts +2 -0
  76. package/dist/commands/worker/index.js +1 -1
  77. package/dist/commands/worker/index.js.map +1 -1
  78. package/dist/commands/worker/remote.d.ts +3 -1
  79. package/dist/commands/worker/remote.js +11 -6
  80. package/dist/commands/worker/remote.js.map +1 -1
  81. package/dist/commands/worker/reporter.d.ts +14 -0
  82. package/dist/commands/worker/reporter.js +174 -0
  83. package/dist/commands/worker/reporter.js.map +1 -0
  84. package/dist/commands/worker/runtime.d.ts +2 -0
  85. package/dist/commands/worker/runtime.js +14 -1
  86. package/dist/commands/worker/runtime.js.map +1 -1
  87. package/dist/commands/worker/telemetry.d.ts +22 -0
  88. package/dist/commands/worker/telemetry.js +265 -0
  89. package/dist/commands/worker/telemetry.js.map +1 -0
  90. package/package.json +2 -2
@@ -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.