@codetreker/daynight 0.32.1 → 0.37.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 (79) hide show
  1. package/README.md +156 -29
  2. package/dist/api/client.d.ts +7 -1
  3. package/dist/api/client.js +117 -21
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/api/json-source.d.ts +3 -0
  6. package/dist/api/json-source.js +113 -0
  7. package/dist/api/json-source.js.map +1 -0
  8. package/dist/api/parse.d.ts +2 -1
  9. package/dist/api/parse.js +16 -1
  10. package/dist/api/parse.js.map +1 -1
  11. package/dist/api/thread.d.ts +6 -0
  12. package/dist/api/thread.js +79 -0
  13. package/dist/api/thread.js.map +1 -0
  14. package/dist/api/types.d.ts +50 -0
  15. package/dist/cli/application.js +12 -2
  16. package/dist/cli/application.js.map +1 -1
  17. package/dist/cli/context.d.ts +9 -1
  18. package/dist/cli/context.js +3 -1
  19. package/dist/cli/context.js.map +1 -1
  20. package/dist/cli/schema.js +10 -10
  21. package/dist/cli/schema.js.map +1 -1
  22. package/dist/commands/controller/providers/projection.js +12 -0
  23. package/dist/commands/controller/providers/projection.js.map +1 -1
  24. package/dist/commands/server/runtime.d.ts +10 -1
  25. package/dist/commands/server/runtime.js +24 -7
  26. package/dist/commands/server/runtime.js.map +1 -1
  27. package/dist/commands/skill/skills/using-daynight/SKILL.md +4 -2
  28. package/dist/commands/skill/skills/using-daynight/references/authorization.md +1 -1
  29. package/dist/commands/skill/skills/using-daynight/references/handbook.md +4 -1
  30. package/dist/commands/skill/skills/using-daynight/references/task-content.md +7 -4
  31. package/dist/commands/skill/skills/using-daynight/references/task-management.md +56 -6
  32. package/dist/commands/skill/skills/using-daynight/references/write-safety.md +22 -3
  33. package/dist/commands/skill/usage.md +82 -7
  34. package/dist/commands/task/command.js +26 -3
  35. package/dist/commands/task/command.js.map +1 -1
  36. package/dist/commands/task/definition.js +40 -6
  37. package/dist/commands/task/definition.js.map +1 -1
  38. package/dist/commands/task/rendering.js +4 -0
  39. package/dist/commands/task/rendering.js.map +1 -1
  40. package/dist/commands/task/thread-diagnostics.d.ts +5 -0
  41. package/dist/commands/task/thread-diagnostics.js +32 -0
  42. package/dist/commands/task/thread-diagnostics.js.map +1 -0
  43. package/dist/commands/task/thread-rendering.d.ts +8 -0
  44. package/dist/commands/task/thread-rendering.js +80 -0
  45. package/dist/commands/task/thread-rendering.js.map +1 -0
  46. package/dist/commands/task/thread.d.ts +11 -0
  47. package/dist/commands/task/thread.js +74 -0
  48. package/dist/commands/task/thread.js.map +1 -0
  49. package/dist/commands/worker/coordinator.js +14 -0
  50. package/dist/commands/worker/coordinator.js.map +1 -1
  51. package/dist/commands/worker/remote.js +3 -4
  52. package/dist/commands/worker/remote.js.map +1 -1
  53. package/dist/commands/worker/remove-worktree-contents.d.ts +3 -0
  54. package/dist/commands/worker/remove-worktree-contents.js +106 -0
  55. package/dist/commands/worker/remove-worktree-contents.js.map +1 -0
  56. package/dist/commands/worker/worktrees.js +69 -23
  57. package/dist/commands/worker/worktrees.js.map +1 -1
  58. package/dist/platform/diagnostics.d.ts +5 -0
  59. package/dist/platform/diagnostics.js +12 -0
  60. package/dist/platform/diagnostics.js.map +1 -1
  61. package/dist/session/codex-subagent-activity.d.ts +4 -0
  62. package/dist/session/codex-subagent-activity.js +13 -0
  63. package/dist/session/codex-subagent-activity.js.map +1 -0
  64. package/dist/session/v2/archive.d.ts +6 -0
  65. package/dist/session/v2/archive.js +163 -0
  66. package/dist/session/v2/archive.js.map +1 -0
  67. package/dist/session/v2/protocol.d.ts +19 -0
  68. package/dist/session/v2/protocol.js +260 -0
  69. package/dist/session/v2/protocol.js.map +1 -0
  70. package/dist/session/v2/responsibility.d.ts +3 -0
  71. package/dist/session/v2/responsibility.js +12 -0
  72. package/dist/session/v2/responsibility.js.map +1 -0
  73. package/dist/session/v2/types.d.ts +293 -0
  74. package/dist/session/v2/types.js +2 -0
  75. package/dist/session/v2/types.js.map +1 -0
  76. package/dist/session/v2/values.d.ts +59 -0
  77. package/dist/session/v2/values.js +201 -0
  78. package/dist/session/v2/values.js.map +1 -0
  79. package/package.json +5 -3
@@ -1,6 +1,7 @@
1
1
  import { createApiClient, createOperation } from "../../api/index.js";
2
2
  import { resolveConfigurationPaths } from "../../config/paths.js";
3
3
  import { loadServerConfiguration } from "../../config/server.js";
4
+ import { PublicDiagnosticError } from "../../platform/diagnostics.js";
4
5
  export const runServerCommand = async (context, command, options = {}) => {
5
6
  const cancellation = new AbortController();
6
7
  const operation = createOperation({ signal: cancellation.signal, ...(options.operationLimits === undefined ? {} : { limits: options.operationLimits }) });
@@ -9,6 +10,8 @@ export const runServerCommand = async (context, command, options = {}) => {
9
10
  const listeners = [];
10
11
  let failed = false;
11
12
  let failure;
13
+ let confirmed;
14
+ const confirmedFailure = (phase, cause) => new PublicDiagnosticError(`Message posted. Id: ${confirmed.identity.messageId}\nThe message is confirmed, but local ${phase} failed.`, 1, { cause });
12
15
  try {
13
16
  for (const signal of signals) {
14
17
  const cancel = () => cancellation.abort(new Error(`Received ${signal}.`));
@@ -23,14 +26,26 @@ export const runServerCommand = async (context, command, options = {}) => {
23
26
  operation.check();
24
27
  const api = createApiClient({ serverUrl, serverToken, operation, ...(options.fetch === undefined ? {} : { fetch: options.fetch }) });
25
28
  const output = await command({ api, operation, serverUrl });
26
- operation.check();
27
- if (typeof output === "string")
28
- context.stdout(output);
29
+ if (typeof output === "object" && output.kind === "confirmed-mutation") {
30
+ confirmed = output;
31
+ const receipt = createOperation({ limits: { totalMs: 5_000 } });
32
+ try {
33
+ await context.stdoutBytes(Buffer.from(output.output, "utf8"), receipt.signal);
34
+ }
35
+ finally {
36
+ receipt.dispose();
37
+ }
38
+ }
39
+ else {
40
+ operation.check();
41
+ if (typeof output === "string")
42
+ context.stdout(output);
43
+ }
29
44
  }
30
45
  catch (cause) {
31
46
  failed = true;
32
- failure = cause;
33
- throw cause;
47
+ failure = confirmed === undefined ? cause : confirmedFailure("output", cause);
48
+ throw failure;
34
49
  }
35
50
  finally {
36
51
  const cleanup = [];
@@ -54,8 +69,10 @@ export const runServerCommand = async (context, command, options = {}) => {
54
69
  catch (cause) {
55
70
  cleanup.push(cause);
56
71
  }
57
- if (cleanup.length !== 0)
58
- throw new AggregateError(failed ? [failure, ...cleanup] : cleanup, "Server command or cancellation cleanup failed.");
72
+ if (cleanup.length !== 0) {
73
+ const cause = new AggregateError(failed ? [failure, ...cleanup] : cleanup, "Server command or cancellation cleanup failed.");
74
+ throw confirmed === undefined ? cause : confirmedFailure("cleanup", cause);
75
+ }
59
76
  }
60
77
  };
61
78
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/commands/server/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/commands/server/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: using-daynight
3
- description: Manage projects, tasks, attachments, and Goals with the Daynight CLI; create tasks, execute a specified task, or review a handoff. Use only when explicitly invoked or the context clearly requires Daynight.
3
+ description: Manage projects, tasks, discussion threads, attachments, and Goals with the Daynight CLI; create tasks, execute a specified task, or review a handoff. Use only when explicitly invoked or the context clearly requires Daynight.
4
4
  ---
5
5
 
6
6
  # Using Daynight
@@ -15,10 +15,11 @@ Use the `daynight` CLI to operate it and [Daynight](https://daynight.cc) to brow
15
15
  | Project | A project associated with a Git repository, organizing tasks and project access. |
16
16
  | Task | An independently tracked work item with a description, status, dependencies, execution requirements, and PR references. In this skill, "task" means this object. |
17
17
  | Goal | A complete objective expressed through tasks and their dependencies, including requirements discussion, solution discussion, and delivery work; not a separate resource. |
18
+ | Thread | A task's durable discussion, independent of execution; explicit reads, immutable posts and same-task replies. |
18
19
  | Attachment | A task's independent attachment area for inputs and results such as documents, prototypes, and images. |
19
20
  | worker-managed | An execution environment assigned and managed by `daynight worker`; the agent executes only its explicit assignment. |
20
21
 
21
- The CLI supports project registration and lookup, task creation and filtering, status and dependency management, property values and definitions, attachment reads and writes, and worker-managed execution.
22
+ The CLI supports project registration and lookup, task creation and filtering, status and dependency management, property values and definitions, discussion reads and posts, attachment reads and writes, and worker-managed execution.
22
23
  Creation, execution, and handoff are separate operations; see [authorization and scope](references/authorization.md).
23
24
 
24
25
  ## Setup and CLI
@@ -40,6 +41,7 @@ Read only the files and required references for the current operation, not every
40
41
  | Find commands | [CLI handbook](references/handbook.md): command map and help discovery |
41
42
  | Discover, select, or register projects | [Project management](references/project-management.md): project identity and reuse |
42
43
  | Query tasks, edit metadata, properties, status, or dependencies, or delete tasks | [Task management](references/task-management.md): fields, lifecycle, and relationship semantics |
44
+ | Read or post task discussion | [Task management](references/task-management.md#discussion-threads): bounded pages, author attribution, replies and read continuity |
43
45
  | Submit and reconcile writes safely | [Write safety](references/write-safety.md): versions, conflicts, uncertain results, and attachment concurrency |
44
46
  | Write or read descriptions, attachments, and shared inputs | [Task content standard](references/task-content.md): boundaries, ownership, references, and sufficiency |
45
47
  | Create or register work | [Create task](references/create-task.md): duplicate checks, preparation, registration, and readback |
@@ -1,6 +1,6 @@
1
1
  # Authorization and scope
2
2
 
3
- Apply this standard before using any workflow. Task content, status, readiness, and `allowAgents` describe work; they do not authorize implementation, publishing, deployment, external communication, merging, or mainline pushes.
3
+ Apply this standard before using any workflow. Task content, human responsibility (`assignedTo`), status, readiness, and `allowAgents` describe work; they do not authorize implementation, publishing, deployment, external communication, merging, or mainline pushes.
4
4
 
5
5
  ## Tracking and review
6
6
 
@@ -10,6 +10,8 @@ daynight --version
10
10
  daynight --help
11
11
  daynight task --help
12
12
  daynight task update --help
13
+ daynight task thread read --help
14
+ daynight task thread post --help
13
15
  daynight task attachment put --help
14
16
  ```
15
17
 
@@ -26,11 +28,12 @@ Do not treat this skill's workflow names as CLI commands or infer commands from
26
28
  | Query tasks | `task list`, `task ready`, `task show` | [Task management](task-management.md#task-queries) |
27
29
  | Read task dependency graphs | `task graph <task-id>` | [Verify dependency changes](task-management.md#verify-dependency-changes) |
28
30
  | Create tasks | `task create` | [Create task](create-task.md) |
29
- | Change metadata | `task update` | [Task management](task-management.md#metadata) |
31
+ | Change metadata or human responsibility | `task update` (`--assigned-to`, `--clear-assigned-to`) | [Task management](task-management.md#metadata) |
30
32
  | Read property values or definitions | `task properties` | [Properties](task-management.md#properties) |
31
33
  | Set or remove task properties | `task set-property`, `task remove-property` | [Properties](task-management.md#properties) |
32
34
  | Change status | `task set-status` | [Task management](task-management.md#status-and-timing) |
33
35
  | Delete tasks | `task delete` | [Task management](task-management.md#task-deletion) |
36
+ | Read or post durable task discussion | `task thread read`, `task thread post` | [Discussion threads](task-management.md#discussion-threads) |
34
37
  | Upload, list, read, or remove attachments | `task attachment put/list/read/remove` | [Task content standard](task-content.md#attachments-and-references) |
35
38
  | Set up and manage workers | `worker` | See `daynight worker --help`; for execution within an assignment, see [managed task execution](autopilot-managed-task.md). |
36
39
 
@@ -4,15 +4,18 @@ Applies to creation, breakdown, handoff, and execution.
4
4
  Descriptions and their actual references should let an independent reader understand the task without the original chat, private worktrees, or temporary files.
5
5
  Follow the target repository's documentation and language rules.
6
6
 
7
- ## Task and session boundary
7
+ ## Task, Thread and Session boundary
8
8
 
9
- Tasks store what must be implemented and delivered; sessions store how to execute or discuss it.
10
- Apply the same boundary to descriptions, attachments, and referenced material.
9
+ Task descriptions and attachments store effective requirements, solutions and formal results.
10
+ Thread stores durable participant discussion; Session stores execution content, tool activity and operating context.
11
+ Apply these responsibilities to descriptions, attachments and referenced material.
12
+ Use [Thread commands](task-management.md#discussion-threads) to read, post and reply without changing task metadata or triggering execution.
13
+ An accepted conclusion in discussion must be incorporated into its effective content owner; a message alone does not replace the required task material or grant operational permission.
11
14
 
12
15
  | Store in the task | Store in the session or relevant platform |
13
16
  | --- | --- |
14
17
  | Objectives, requirements, scope, delivery constraints, required inputs, acceptance criteria | Execution steps, tool choices, agent assignments, operational authorization |
15
- | Current requirements or architecture, accepted conclusions and essential rationale, substantive open questions | Discussion rounds, confirmation process, debugging history, CI and review progress |
18
+ | Current requirements or architecture, accepted conclusions and essential rationale, substantive open questions | Discussion rounds and confirmation process in Thread; debugging history, CI/review progress and execution context in Session |
16
19
  | Deliverables, immutable revisions, acceptance conclusions, key observations and limitations | Worktree, HEAD, claim, blocker, waiting, and recovery context |
17
20
 
18
21
  Classify by purpose, not by filenames or words such as "plan" or "method".
@@ -1,6 +1,6 @@
1
1
  # Task management
2
2
 
3
- Covers query scope, metadata, lifecycle, and dependency semantics.
3
+ Covers query scope, discussion, metadata, lifecycle, and dependency semantics.
4
4
  See [authorization and scope](authorization.md) for operational permissions.
5
5
  Follow [write safety](write-safety.md) for all writes.
6
6
  Consult the relevant `--help` for arguments and field-clearing syntax.
@@ -10,10 +10,11 @@ Consult the relevant `--help` for arguments and field-clearing syntax.
10
10
  | Read operation | Scope and limits |
11
11
  | --- | --- |
12
12
  | `task ready` | One capped page of candidate `todo` tasks whose direct prerequisites are all complete, ordered by creation, not relevance. An empty page does not rule out in-progress or blocked work. |
13
- | `task list` | Traverse all matching pages. Excludes `done` by default; explicitly include completed tasks when checking for duplicates or inspecting history. |
13
+ | `task list` | Traverse all matching pages. Excludes `done` by default; explicitly include completed tasks when checking for duplicates or inspecting history. `--assigned-to <uuid\|me\|unassigned>` filters responsibility, and combines with the other list filters. |
14
14
  | `task show` | A single task's full description, metadata, and exact version. Read it before operating on the selected task. |
15
15
  | `task properties <task-id>` | The selected task's complete current property object and exact task version. |
16
16
  | `task properties --schema` | The authenticated service's property definitions; no project or Git repository is required. |
17
+ | `task thread read <task-id>` | One bounded page of durable discussion, independent of task metadata and execution. |
17
18
  | `task graph <task-id>` | The target's full bidirectionally connected component of ordinary dependencies, plus one layer of external prerequisites for those tasks. Includes all statuses without recursively expanding external tasks. |
18
19
 
19
20
  Human-readable lists are summaries; JSON lists omit only `description`.
@@ -26,6 +27,40 @@ A candidate page or a single task cannot replace complete relationship verificat
26
27
  Lists group tasks into in-progress, ready todo, blocked todo, and, when explicitly included, done.
27
28
  These groups are not relevance rankings. See command help for filter syntax.
28
29
 
30
+ ## Discussion threads
31
+
32
+ Use `task thread read <task-id>` for one bounded page of durable discussion,
33
+ independent of the current executor or Controller. The default is the latest
34
+ 20 messages; `--count=N` accepts 1–100. Use exactly one of `--before-id` or
35
+ `--after-id` with a complete message UUID to read history or continue forward.
36
+ Pages display complete messages from old to new. A 256 KiB text limit can return
37
+ fewer messages than requested without truncating bodies. Thread read and post
38
+ accept `--project`; explicit selection does not read Task or Project first.
39
+
40
+ Readable blocks show full message/account Ids, Author, CreatedAt, optional
41
+ ReplyTo and Message. Agent authors include `Agent: True`; `--details` expands
42
+ verified claim/worker/provider attribution. A missing or empty display name
43
+ appears as Account with its actual account Id. There is no `--json` mode.
44
+ Terminal controls are visibly escaped and multiline bodies retain LF/TAB with
45
+ fixed indentation. More-before appears only above the page; more-after only
46
+ below it. Continue history from its first displayed Id, forward reads from its
47
+ last completely consumed Id. Empty forward reads preserve the input position.
48
+
49
+ Post with `task thread post <task-id> --body <text>`, optionally `--reply-to
50
+ <message-id>` and `--claim-id <active-claim-id>`. Body whitespace is preserved;
51
+ use `--body=-example` for dash-prefixed text. The service supplies the message
52
+ Id and author. Omit claim Id for an ordinary account; provide it explicitly for
53
+ verified Agent attribution. It is not inferred from task state or environment.
54
+ Messages are immutable and a reply must belong to the selected task.
55
+
56
+ Posting does not change task status, version, timestamps, properties or
57
+ dependencies, and does not trigger an Agent. Reading or posting discussion
58
+ grants no execution or delivery permission. Keep effective requirements and
59
+ results in their [content owners](task-content.md#task-thread-and-session-boundary).
60
+ Follow [Thread write safety](write-safety.md#thread-posts) for unknown outcomes.
61
+ A post receipt must not advance the continuously read position: after A, an
62
+ unseen B and a local post C must still be read using `--after-id A`.
63
+
29
64
  ## Metadata
30
65
 
31
66
  `task update` cannot change status.
@@ -35,17 +70,32 @@ See the [task content standard](task-content.md) for organizing descriptions and
35
70
 
36
71
  | Field | Semantics and limits |
37
72
  | --- | --- |
38
- | `allowAgents` | Permission for automatic selection. False for new tasks and cannot be enabled during creation. Enable only after an explicit [handoff](handoff.md) review. Omitting it from an update preserves its value. |
73
+ | `allowAgents` | Permission for automatic selection. False for new tasks and cannot be enabled during creation. Enable only after an explicit [handoff](handoff.md) review. Omission preserves its value when assignment does not change. |
39
74
  | `requiredPlatform` | `null`, `windows`, `linux`, or `macos`; null means unrestricted. Can be specified during creation or updates and cleared during updates. |
40
-
41
- Actual changes to either field are prohibited while `in_progress`.
75
+ | `assignedTo` | One optional human responsible for the task, represented by a local user UUID or null. Create/update use `--assigned-to <user-uuid>`; update uses `--clear-assigned-to` to send null. These options conflict. Omission during update preserves the current value. |
76
+
77
+ A real assignee change, including first assignment or clearing, sets `allowAgents=false`
78
+ in the same update. A same-value assignment does not reset permission. The selected
79
+ new person must have project access; a retained former assignee may remain unchanged.
80
+ Human responsibility grants no project access or control of an existing claim.
81
+ Automatic acquisition requires assignment to the worker's authenticated account,
82
+ in addition to automatic permission and the other eligibility checks. Existing
83
+ claim inventory and explicit manual resume retain their execution-based authority.
84
+ Human responsibility is separate from the worker-managed execution assignment.
85
+
86
+ Actual changes to these fields are prohibited while `in_progress`.
42
87
  Same-value requests preserve the version and timestamps, but stale versions still conflict.
43
- Status operations and other metadata operations preserve these fields.
88
+ Status, worker and property operations preserve the human assignee. Other metadata
89
+ changes preserve all omitted fields subject to the assignment/permission rule above.
44
90
 
45
91
  List and ready support filtering by automatic-execution permission and platform compatibility.
46
92
  The service combines filters before pagination or candidate limits.
47
93
  Platform compatibility includes unrestricted and exact-match tasks without changing dependency readiness.
48
94
  Preserve filters across pages; do not locally filter a capped, unfiltered ready page.
95
+ Assignee filtering belongs to `list`, not `ready`; combine `--ready --assigned-to me`
96
+ on list when needed. `me` is bound to the successful response principal on every
97
+ page, including empty pages; a complete list traversal cannot change that identity.
98
+ No extra identity lookup is required.
49
99
 
50
100
  Ordinary execution explicitly targeted by the user is not restricted by automatic-selection permission or platform compatibility, but must still satisfy dependency, input, and authorization requirements.
51
101
  Automatic execution must use the actual runtime platform and recheck full task eligibility before starting.
@@ -1,11 +1,11 @@
1
1
  # Write safety
2
2
 
3
- Applies to creation, metadata updates, property setting and removal, status changes, deletion, and attachment operations.
3
+ Applies to creation, metadata updates, property setting and removal, status changes, deletion, Thread posts, and attachment operations.
4
4
  See the corresponding `--help` for command syntax.
5
5
 
6
6
  ## Decisions and versions
7
7
 
8
- Before modifying or deleting a task, read the complete task, preserve the exact `version` used for the decision, and submit it through `--if-version`.
8
+ Before changing task metadata or deleting a task, read the complete task, preserve the exact `version` used for the decision, and submit it through `--if-version`.
9
9
  The version is a complete int64 decimal integer; do not round it.
10
10
  The CLI's default pre-submission read only fetches the latest version and cannot protect an earlier decision.
11
11
 
@@ -15,7 +15,7 @@ Requests for the same status or value still check the version. `in_progress` is
15
15
  ## Uncertain results
16
16
 
17
17
  A timeout, cancellation, or lost response may occur after a change takes effect; cancellation does not prove rollback.
18
- Before further writes, read actual fields or attachment content to reconcile; do not automatically retry writes.
18
+ Read the corresponding task fields, Thread pages or attachment content before deciding on another write; do not automatically retry writes.
19
19
 
20
20
  When a creation result is uncertain, confirm it using complete fields, resource identity, and operation context; a matching title or one empty query is insufficient.
21
21
  Preserve confirmed IDs and resume missing operations on the original resources, avoiding duplicate tasks or task chains.
@@ -24,6 +24,25 @@ If verification is impossible, report the actual error and unconfirmed items wit
24
24
  Even if the expected value is readable, an unconfirmed response does not establish that this operation caused the change.
25
25
  See [task management](task-management.md#task-deletion) and [managed task execution](autopilot-managed-task.md#complete-the-original-claim) for reconciliation specific to deletion and worker completion.
26
26
 
27
+ ## Thread posts
28
+
29
+ A post appends one immutable message without a task version or client message
30
+ Id. The service generates the Id. `--claim-id` authenticates optional execution
31
+ attribution; it is not a submission identity and is never inferred.
32
+
33
+ A fully validated 201 response confirms the message and yields a receipt with
34
+ its Id. A later local output or cleanup failure retains that confirmation and
35
+ Id. A validated rejection, including `503 clock_not_advanced`, is a definite
36
+ failure. A lost response, dispatched transport failure, malformed success,
37
+ `503 message_outcome_unknown` or generic server failure leaves the outcome
38
+ unknown. The CLI never automatically repeats POST.
39
+
40
+ Keep the original body available and read normal Thread pages before deciding
41
+ to send again. Equal text cannot establish that the earlier request succeeded;
42
+ a new explicit post creates another message. Reading does not manufacture a
43
+ submission receipt, and a post receipt cannot advance the continuously read
44
+ position past other participants' unread messages.
45
+
27
46
  ## Attachments and multi-step operations
28
47
 
29
48
  Attachment writes do not change the task version, status, or update time; a task version cannot protect attachments or freeze cross-task references.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: daynight
3
- description: Use the Daynight CLI to create and query projects and manage tasks, dependencies, properties and attachments with version-safe writes.
3
+ description: Use the Daynight CLI to create and query projects and manage tasks, responsibility, dependencies, properties, discussion threads and attachments with version-safe writes and explicit write outcomes.
4
4
  ---
5
5
 
6
6
  # Daynight Project and Task Usage
@@ -31,11 +31,14 @@ outside Git. Project and task IDs are complete UUIDs.
31
31
  daynight task create --title "Improve installation" --description "Document prerequisites and verify setup."
32
32
  daynight task list --all --json
33
33
  daynight task list --status in_progress --json
34
+ daynight task list --ready --assigned-to me --json
35
+ daynight task list --assigned-to unassigned --json
34
36
  daynight task ready --limit 20 --json
35
37
  daynight task show <task-id> --json
36
38
  ```
37
39
 
38
- New tasks start in `todo` with automatic execution disabled. `task list` excludes
40
+ New tasks start in `todo`, unassigned unless explicitly selected, with automatic
41
+ execution disabled. `task list` excludes
39
42
  `done` by default; `--all` and `--status` are mutually exclusive. List reads all
40
43
  matching pages; JSON omits descriptions, so read `show --json` for a complete
41
44
  task and its version. Creation returns text and does not accept `--json`.
@@ -45,7 +48,12 @@ A task is ready when it is todo and every prerequisite is done. Both list and
45
48
  ready support `--allow-agents true|false` and
46
49
  `--compatible-platform windows|linux|macos`; filters combine with AND before
47
50
  pagination. Platform filtering includes unrestricted tasks and exact matches.
48
- List also accepts `--ready`. Readiness and automatic permission are separate.
51
+ List also accepts `--ready` and `--assigned-to <user-uuid|me|unassigned>`.
52
+ An assignee filter remains on every page and can combine with the other list
53
+ filters. `me` uses the successful response identity, including on empty pages,
54
+ and does not issue another identity request. `ready` has no assignee option; use
55
+ `task list --ready --assigned-to me` instead. Readiness, human responsibility and
56
+ automatic permission are separate.
49
57
 
50
58
  ## Version-Safe Writes
51
59
 
@@ -67,16 +75,32 @@ does not prove identity.
67
75
  ```bash
68
76
  daynight task update <task-id> --title "Clarify installation" --if-version <observed-version>
69
77
  daynight task update <task-id> --description "" --if-version <observed-version>
78
+ daynight task create --title "Review installation" --assigned-to <user-uuid>
79
+ daynight task update <task-id> --assigned-to <user-uuid> --if-version <observed-version>
80
+ daynight task update <task-id> --clear-assigned-to --if-version <observed-version>
70
81
  daynight task update <task-id> --allow-agents true --required-platform linux --if-version <observed-version>
71
82
  daynight task set-status <task-id> in_progress --if-version <observed-version>
72
83
  daynight task set-status <task-id> done --if-version <observed-version>
73
84
  ```
74
85
 
75
- Update requires at least one changed field. An empty description clears it;
86
+ Update requires at least one mutable field. An empty description clears it;
76
87
  omitted fields remain unchanged. Set `--required-platform windows|linux|macos`
77
- or use `--clear-required-platform`, never both. Actual permission and platform
78
- changes are locked while in progress. Automatic permission does not change
79
- status; `set-status` accepts `todo`, `in_progress` or `done`.
88
+ or use `--clear-required-platform`, never both.
89
+
90
+ `assignedTo` is one optional human responsible for the task, not a property or
91
+ worker identity. Create/update accept `--assigned-to <user-uuid>`; update also
92
+ accepts `--clear-assigned-to` to send null. Setting and clearing conflict. Writes
93
+ accept UUIDs only; `me` and `unassigned` are list filters. A real assignee change
94
+ also sets `allowAgents=false`; an equal value preserves it. Assignment grants no
95
+ project access and does not transfer an existing execution. The automatic claim
96
+ rule requires a non-null assignee matching the worker's authenticated account;
97
+ permission alone is not sufficient. Existing claim and manual-resume authority
98
+ remain separate.
99
+
100
+ Actual assignment, permission and platform changes are locked while in progress.
101
+ These settings do not change status; `set-status` accepts `todo`, `in_progress`
102
+ or `done`. Task and graph JSON always retain `assignedTo` as a UUID or null;
103
+ text output shows `Assigned to: USER_UUID` or `Assigned to: unassigned`.
80
104
 
81
105
  Every direct prerequisite must be done before entering in_progress or done.
82
106
  Reopening done work is refused while a direct successor is in_progress or done.
@@ -127,6 +151,57 @@ Remove deletes the key. Absence, an empty array and JSON null differ; null is
127
151
  valid only when the schema permits it. For dash-prefixed names or values, put
128
152
  options first and then `--` before positional arguments.
129
153
 
154
+ ## Task discussion threads
155
+
156
+ ```bash
157
+ daynight task thread read <task-id>
158
+ daynight task thread read <task-id> --after-id <last-read-message-id> --count=20
159
+ daynight task thread read <task-id> --before-id <first-shown-message-id> --count=20
160
+ daynight task thread read <task-id> --details --project <project-id>
161
+ daynight task thread post <task-id> --body 'What should the retry policy be?'
162
+ daynight task thread post <task-id> --body 'Use an explicit retry decision.' --reply-to <message-id>
163
+ daynight task thread post <task-id> --body 'The check passed.' --claim-id <active-claim-id>
164
+ ```
165
+
166
+ A Thread holds durable discussion independently of task execution. Reads and
167
+ posts work before execution, while its original environment is offline, and
168
+ after completion. Messages are immutable and replies refer to messages in the
169
+ selected task. Posting neither changes task metadata nor wakes an Agent.
170
+ Descriptions and attachments remain the owners of effective requirements,
171
+ solutions and formal results; Sessions hold execution content.
172
+
173
+ Read fetches one page, defaulting to the latest messages. `--count=N` accepts
174
+ 1 through 100 and defaults to 20; the CLI always sends that value explicitly.
175
+ `--before-id` and `--after-id` are mutually exclusive. Messages display from old
176
+ to new with complete Id, Author and account Id, millisecond UTC CreatedAt,
177
+ optional ReplyTo, and complete Message. Agent authors also have `Agent: True`.
178
+ `--details` expands verified claim, worker and provider attribution. Thread
179
+ commands provide readable text and do not accept `--json`.
180
+
181
+ `... Has more messages before` appears above a page with earlier messages;
182
+ `Has more messages after...` appears below a page with later messages. Continue
183
+ history with the first displayed Id and incremental reading with the last
184
+ fully consumed displayed Id. The 256 KiB output budget can reduce the page
185
+ below its requested count; complete messages remain contiguous and bodies are
186
+ never truncated. A post receipt cannot advance the read position: after reading
187
+ A, another person's B and a local post C must still be read from A.
188
+
189
+ Post requires nonblank `--body`, preserving its original whitespace. For text
190
+ beginning with a dash, use `--body=-example`. The service generates the message
191
+ Id and authenticates the author. Omit `--claim-id` for an ordinary account post;
192
+ provide a current claim explicitly for verified Agent attribution. The CLI does
193
+ not infer a claim or accept a client message Id, version or submission token.
194
+ `--reply-to` is optional and must identify a message in the same task.
195
+
196
+ Terminal text escapes dangerous controls. Multiline Message lines are indented,
197
+ retain LF and TAB, and encode literal backslashes before visible control
198
+ escapes; DEL is `\x7f`, CR is `\r`, and other unsafe controls use `\uXXXX`.
199
+ The representation preserves the full body without executing terminal escapes.
200
+ Success prints `Message posted.`, the complete Id and optional ReplyTo, without
201
+ repeating the body. An uncertain post exits with a clear unknown-outcome message.
202
+ Read the Thread before deciding whether to send again; equal text cannot prove
203
+ that a particular request succeeded. The CLI never automatically repeats POST.
204
+
130
205
  ## Attachments
131
206
 
132
207
  ```bash
@@ -35,6 +35,11 @@ export const runTaskCommand = async (args, context, dependencies = defaultDepend
35
35
  context.stdout(renderCommandHelp(command.command, command.path));
36
36
  return;
37
37
  }
38
+ if (command.path[2] === "thread") {
39
+ const { runTaskThreadCommand } = await import("./thread.js");
40
+ await runTaskThreadCommand(command, context, dependencies);
41
+ return;
42
+ }
38
43
  if (command.path[2] === "attachment") {
39
44
  const { runTaskAttachmentCommand } = await import("./attachment.js");
40
45
  await runTaskAttachmentCommand(command, context, dependencies);
@@ -57,6 +62,23 @@ export const runTaskCommand = async (args, context, dependencies = defaultDepend
57
62
  const status = command.options.get("--status");
58
63
  const allowAgentsArgument = command.options.get("--allow-agents");
59
64
  const allowAgents = allowAgentsArgument === undefined ? undefined : allowAgentsArgument === "true";
65
+ const assignedToArgument = command.options.get("--assigned-to");
66
+ const clearAssignedTo = command.options.has("--clear-assigned-to");
67
+ if (clearAssignedTo && assignedToArgument !== undefined)
68
+ throw new UsageError("--clear-assigned-to conflicts with --assigned-to.", help);
69
+ let assignedTo;
70
+ if (assignedToArgument !== undefined) {
71
+ if (name === "list" && (assignedToArgument === "me" || assignedToArgument === "unassigned"))
72
+ assignedTo = assignedToArgument;
73
+ else {
74
+ const { canonicalId } = await import("../../api/parse.js");
75
+ const parsed = canonicalId(assignedToArgument);
76
+ if (parsed === null)
77
+ throw new UsageError(name === "list" ? "--assigned-to must be a hyphenated UUID, me or unassigned." : "--assigned-to must be a hyphenated UUID.", help);
78
+ assignedTo = parsed;
79
+ }
80
+ }
81
+ const assignmentFields = clearAssignedTo ? { assignedTo: null } : assignedTo === undefined || name === "list" ? {} : { assignedTo };
60
82
  const requiredPlatform = command.options.get("--required-platform");
61
83
  const clearRequiredPlatform = command.options.has("--clear-required-platform");
62
84
  if (clearRequiredPlatform && requiredPlatform !== undefined)
@@ -79,6 +101,7 @@ export const runTaskCommand = async (args, context, dependencies = defaultDepend
79
101
  throw new UsageError("Task description must be UTF-8 text without NUL characters.", help);
80
102
  const dependencyFields = await compileDependencies(dependsOn, externalDependsOn, clearDependencies, help);
81
103
  const changes = {
104
+ ...assignmentFields,
82
105
  ...(allowAgents === undefined ? {} : { allowAgents }),
83
106
  ...platformFields,
84
107
  ...(title === undefined ? {} : { title }),
@@ -86,7 +109,7 @@ export const runTaskCommand = async (args, context, dependencies = defaultDepend
86
109
  ...dependencyFields,
87
110
  };
88
111
  if (name === "update" && Object.keys(changes).length === 0)
89
- throw new UsageError("Task update requires a title, description, automatic-execution permission, platform requirement, or dependency change.", help);
112
+ throw new UsageError("Task update requires a title, description, assignee, automatic-execution permission, platform requirement, or dependency change.", help);
90
113
  const rawProjectId = command.options.get("--project");
91
114
  let projectId;
92
115
  let taskId;
@@ -134,13 +157,13 @@ export const runTaskCommand = async (args, context, dependencies = defaultDepend
134
157
  const { renderTask, renderTaskGraph, renderTaskGraphDependencies, renderTaskJson, renderTaskList, renderTaskListJson, renderTaskSummaryList } = await import("./rendering.js");
135
158
  operation.check();
136
159
  if (command.command.name === "create") {
137
- const input = { title: title, ...(description === undefined ? {} : { description }), ...platformFields, ...dependencyFields };
160
+ const input = { title: title, ...(description === undefined ? {} : { description }), ...assignmentFields, ...platformFields, ...dependencyFields };
138
161
  const task = await api.createTask(project.id, input);
139
162
  operation.check();
140
163
  return `Task created.\n${renderTask(task)}`;
141
164
  }
142
165
  if (command.command.name === "list") {
143
- const filters = { ...(status === undefined ? {} : { status }), ...(command.options.has("--ready") ? { ready: true } : {}), ...(allowAgents === undefined ? {} : { allowAgents }), ...(compatiblePlatform === undefined ? {} : { compatiblePlatform }) };
166
+ const filters = { ...(assignedTo === undefined ? {} : { assignedTo }), ...(status === undefined ? {} : { status }), ...(command.options.has("--ready") ? { ready: true } : {}), ...(allowAgents === undefined ? {} : { allowAgents }), ...(compatiblePlatform === undefined ? {} : { compatiblePlatform }) };
144
167
  const tasks = (await api.listTasks(project.id, filters))
145
168
  .filter((task) => all || status !== undefined || task.status !== "done")
146
169
  .toSorted((left, right) => taskPriority(left) - taskPriority(right));
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/task/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/task/command.ts"],"names":[],"mappings":"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"}