@codetreker/daynight 0.29.0 → 0.32.1

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 (175) hide show
  1. package/README.md +173 -44
  2. package/config.example.yml +10 -3
  3. package/dist/api/index.d.ts +1 -1
  4. package/dist/api/index.js +1 -1
  5. package/dist/api/index.js.map +1 -1
  6. package/dist/api/task-properties.d.ts +1 -0
  7. package/dist/api/task-properties.js +5 -0
  8. package/dist/api/task-properties.js.map +1 -1
  9. package/dist/cli/agent-cli-aliases.d.ts +21 -0
  10. package/dist/cli/agent-cli-aliases.js +57 -0
  11. package/dist/cli/agent-cli-aliases.js.map +1 -0
  12. package/dist/cli/application.js +5 -0
  13. package/dist/cli/application.js.map +1 -1
  14. package/dist/cli/cancellation.d.ts +1 -1
  15. package/dist/cli/cancellation.js.map +1 -1
  16. package/dist/cli/codex-agent-environment.d.ts +5 -0
  17. package/dist/cli/codex-agent-environment.js +28 -0
  18. package/dist/cli/codex-agent-environment.js.map +1 -0
  19. package/dist/cli/commands.js +1 -0
  20. package/dist/cli/commands.js.map +1 -1
  21. package/dist/cli/schema.d.ts +5 -1
  22. package/dist/cli/schema.js.map +1 -1
  23. package/dist/commands/controller/archive-upload.d.ts +9 -0
  24. package/dist/commands/controller/archive-upload.js +137 -0
  25. package/dist/commands/controller/archive-upload.js.map +1 -0
  26. package/dist/commands/controller/definition.d.ts +1 -0
  27. package/dist/commands/controller/definition.js +9 -1
  28. package/dist/commands/controller/definition.js.map +1 -1
  29. package/dist/commands/controller/independent-archive.d.ts +7 -0
  30. package/dist/commands/controller/independent-archive.js +71 -0
  31. package/dist/commands/controller/independent-archive.js.map +1 -0
  32. package/dist/commands/controller/independent.js +51 -25
  33. package/dist/commands/controller/independent.js.map +1 -1
  34. package/dist/commands/controller/index.js +14 -1
  35. package/dist/commands/controller/index.js.map +1 -1
  36. package/dist/commands/controller/journal-format.d.ts +4 -0
  37. package/dist/commands/controller/journal-format.js +66 -0
  38. package/dist/commands/controller/journal-format.js.map +1 -0
  39. package/dist/commands/controller/launch-ticket.js +3 -2
  40. package/dist/commands/controller/launch-ticket.js.map +1 -1
  41. package/dist/commands/controller/lifecycle-store.d.ts +7 -5
  42. package/dist/commands/controller/lifecycle-store.js +132 -91
  43. package/dist/commands/controller/lifecycle-store.js.map +1 -1
  44. package/dist/commands/controller/local-content.d.ts +11 -6
  45. package/dist/commands/controller/local-content.js +29 -21
  46. package/dist/commands/controller/local-content.js.map +1 -1
  47. package/dist/commands/controller/paths.d.ts +2 -0
  48. package/dist/commands/controller/paths.js +34 -0
  49. package/dist/commands/controller/paths.js.map +1 -0
  50. package/dist/commands/controller/pending-content.d.ts +20 -0
  51. package/dist/commands/controller/pending-content.js +159 -0
  52. package/dist/commands/controller/pending-content.js.map +1 -0
  53. package/dist/commands/controller/providers/codex.js +5 -1
  54. package/dist/commands/controller/providers/codex.js.map +1 -1
  55. package/dist/commands/controller/providers/types.d.ts +4 -0
  56. package/dist/commands/controller/resume-lease-format.d.ts +4 -0
  57. package/dist/commands/controller/resume-lease-format.js +35 -0
  58. package/dist/commands/controller/resume-lease-format.js.map +1 -0
  59. package/dist/commands/controller/resume.js +88 -23
  60. package/dist/commands/controller/resume.js.map +1 -1
  61. package/dist/commands/controller/runtime.js +11 -1
  62. package/dist/commands/controller/runtime.js.map +1 -1
  63. package/dist/commands/controller/sqlite/journal/001-baseline.sql +17 -0
  64. package/dist/commands/controller/sqlite/journal/002-projection.sql +8 -0
  65. package/dist/commands/controller/sqlite/journal/003-operation-acknowledgements.sql +1 -0
  66. package/dist/commands/controller/sqlite/journal/004-projection-gap.sql +1 -0
  67. package/dist/commands/controller/sqlite/journal/005-resources.sql +7 -0
  68. package/dist/commands/controller/sqlite/journal/006-pending-content.sql +12 -0
  69. package/dist/commands/controller/sqlite/resume-lease/001-baseline.sql +7 -0
  70. package/dist/commands/project/definition.js +1 -1
  71. package/dist/commands/project/definition.js.map +1 -1
  72. package/dist/commands/review/definition.js +3 -3
  73. package/dist/commands/review/definition.js.map +1 -1
  74. package/dist/commands/review/listing.js +1 -1
  75. package/dist/commands/review/listing.js.map +1 -1
  76. package/dist/commands/review/runtime.js +3 -1
  77. package/dist/commands/review/runtime.js.map +1 -1
  78. package/dist/commands/review/sqlite/001-baseline.sql +65 -0
  79. package/dist/commands/review/sqlite/002-publications.sql +15 -0
  80. package/dist/commands/review/store-format.d.ts +2 -0
  81. package/dist/commands/review/store-format.js +35 -0
  82. package/dist/commands/review/store-format.js.map +1 -0
  83. package/dist/commands/review/store.d.ts +8 -1
  84. package/dist/commands/review/store.js +46 -176
  85. package/dist/commands/review/store.js.map +1 -1
  86. package/dist/commands/skill/read.d.ts +2 -0
  87. package/dist/commands/skill/read.js +36 -0
  88. package/dist/commands/skill/read.js.map +1 -0
  89. package/dist/commands/skill/skills/using-daynight/references/authorization.md +1 -0
  90. package/dist/commands/skill/skills/using-daynight/references/autopilot-managed-task.md +19 -7
  91. package/dist/commands/skill/skills/using-daynight/references/goal.md +33 -8
  92. package/dist/commands/skill/skills/using-daynight/references/run-task.md +1 -1
  93. package/dist/commands/skill/skills/using-daynight/references/task-content.md +1 -0
  94. package/dist/commands/skill/usage.md +162 -0
  95. package/dist/commands/task/definition.js +1 -1
  96. package/dist/commands/task/definition.js.map +1 -1
  97. package/dist/commands/worker/backends/sqlite/001-baseline.sql +4 -0
  98. package/dist/commands/worker/backends/web-process.js +11 -11
  99. package/dist/commands/worker/backends/web-process.js.map +1 -1
  100. package/dist/commands/worker/backends/web-record.d.ts +11 -0
  101. package/dist/commands/worker/backends/web-record.js +151 -0
  102. package/dist/commands/worker/backends/web-record.js.map +1 -0
  103. package/dist/commands/worker/backends/web-store-format.d.ts +2 -0
  104. package/dist/commands/worker/backends/web-store-format.js +33 -0
  105. package/dist/commands/worker/backends/web-store-format.js.map +1 -0
  106. package/dist/commands/worker/backends/web-store.d.ts +5 -1
  107. package/dist/commands/worker/backends/web-store.js +44 -170
  108. package/dist/commands/worker/backends/web-store.js.map +1 -1
  109. package/dist/commands/worker/backends/web.d.ts +1 -0
  110. package/dist/commands/worker/backends/web.js +13 -4
  111. package/dist/commands/worker/backends/web.js.map +1 -1
  112. package/dist/commands/worker/cleanup.d.ts +1 -1
  113. package/dist/commands/worker/cleanup.js.map +1 -1
  114. package/dist/commands/worker/coordinator.js +1 -1
  115. package/dist/commands/worker/coordinator.js.map +1 -1
  116. package/dist/commands/worker/definition.js +2 -2
  117. package/dist/commands/worker/definition.js.map +1 -1
  118. package/dist/commands/worker/diagnostics.d.ts +3 -0
  119. package/dist/commands/worker/diagnostics.js +15 -0
  120. package/dist/commands/worker/diagnostics.js.map +1 -1
  121. package/dist/commands/worker/execution.d.ts +2 -0
  122. package/dist/commands/worker/execution.js +17 -4
  123. package/dist/commands/worker/execution.js.map +1 -1
  124. package/dist/commands/worker/herdr/agents.d.ts +9 -1
  125. package/dist/commands/worker/herdr/agents.js +22 -6
  126. package/dist/commands/worker/herdr/agents.js.map +1 -1
  127. package/dist/commands/worker/herdr/arguments.d.ts +4 -0
  128. package/dist/commands/worker/herdr/arguments.js +17 -0
  129. package/dist/commands/worker/herdr/arguments.js.map +1 -1
  130. package/dist/commands/worker/herdr/codex-config.d.ts +8 -0
  131. package/dist/commands/worker/herdr/codex-config.js +75 -0
  132. package/dist/commands/worker/herdr/codex-config.js.map +1 -0
  133. package/dist/commands/worker/herdr/preflight.js +1 -18
  134. package/dist/commands/worker/herdr/preflight.js.map +1 -1
  135. package/dist/commands/worker/herdr.d.ts +6 -2
  136. package/dist/commands/worker/herdr.js +3 -2
  137. package/dist/commands/worker/herdr.js.map +1 -1
  138. package/dist/commands/worker/prompts.js +7 -2
  139. package/dist/commands/worker/prompts.js.map +1 -1
  140. package/dist/commands/worker/runtime.js +68 -7
  141. package/dist/commands/worker/runtime.js.map +1 -1
  142. package/dist/commands/worker/sqlite/005-baseline.sql +18 -0
  143. package/dist/commands/worker/store-format.d.ts +2 -0
  144. package/dist/commands/worker/store-format.js +35 -0
  145. package/dist/commands/worker/store-format.js.map +1 -0
  146. package/dist/commands/worker/store.d.ts +2 -0
  147. package/dist/commands/worker/store.js +36 -69
  148. package/dist/commands/worker/store.js.map +1 -1
  149. package/dist/config/agent-cli-aliases.d.ts +5 -0
  150. package/dist/config/agent-cli-aliases.js +37 -0
  151. package/dist/config/agent-cli-aliases.js.map +1 -0
  152. package/dist/config/paths.d.ts +1 -1
  153. package/dist/config/paths.js +6 -2
  154. package/dist/config/paths.js.map +1 -1
  155. package/dist/platform/diagnostics.js +3 -0
  156. package/dist/platform/diagnostics.js.map +1 -1
  157. package/dist/platform/instance-lock.d.ts +15 -0
  158. package/dist/platform/instance-lock.js +45 -3
  159. package/dist/platform/instance-lock.js.map +1 -1
  160. package/dist/platform/sqlite-access.d.ts +40 -0
  161. package/dist/platform/sqlite-access.js +333 -0
  162. package/dist/platform/sqlite-access.js.map +1 -0
  163. package/dist/platform/sqlite-error.d.ts +39 -0
  164. package/dist/platform/sqlite-error.js +36 -0
  165. package/dist/platform/sqlite-error.js.map +1 -0
  166. package/dist/platform/sqlite-format.d.ts +31 -0
  167. package/dist/platform/sqlite-format.js +98 -0
  168. package/dist/platform/sqlite-format.js.map +1 -0
  169. package/dist/platform/sqlite-sql.d.ts +12 -0
  170. package/dist/platform/sqlite-sql.js +61 -0
  171. package/dist/platform/sqlite-sql.js.map +1 -0
  172. package/dist/session/archive.d.ts +25 -0
  173. package/dist/session/archive.js +100 -0
  174. package/dist/session/archive.js.map +1 -0
  175. package/package.json +3 -3
@@ -1,6 +1,8 @@
1
1
  import path from "node:path";
2
- import { lstatSync, statSync } from "node:fs";
3
- import Database from "better-sqlite3";
2
+ import { acquireMaintenanceLock } from "../../platform/instance-lock.js";
3
+ import { closeSqliteDatabase, openSqliteDatabase, readSqliteDatabase } from "../../platform/sqlite-access.js";
4
+ import { assertCurrentSqlite } from "../../platform/sqlite-format.js";
5
+ import { reviewFormat } from "./store-format.js";
4
6
  const repositoryColumns = `host, github_id AS githubId, remote, local_path AS localPath,
5
7
  start_pr_no AS startPrNumber, initialized_at AS initializedAt,
6
8
  last_poll_at AS lastPollAt, last_poll_error AS lastPollError`;
@@ -50,148 +52,25 @@ const requireExcluded = (proof) => {
50
52
  throw new Error("The caller must exclude any previous agent processes first.");
51
53
  };
52
54
  const publicationColumns = `phase, publisher_id AS publisherId, identity_format AS identityFormat, outcome, remote_review_id AS remoteReviewId, remote_thread_ids AS threadIds, followup_consumed AS followupConsumed`;
53
- const publicationSchema = `
54
- CREATE TABLE review_publications (
55
- review_id TEXT PRIMARY KEY,
56
- phase TEXT NOT NULL CHECK(phase IN ('prepared', 'pending', 'verified', 'legacy')),
57
- identity_format TEXT NOT NULL DEFAULT 'line' CHECK(identity_format IN ('line', 'legacy')),
58
- publisher_id TEXT CHECK(phase = 'legacy' OR identity_format = 'legacy' OR publisher_id IS NOT NULL),
59
- outcome TEXT CHECK(outcome IN ('approved', 'commented')),
60
- remote_review_id TEXT,
61
- remote_thread_ids TEXT NOT NULL DEFAULT '[]',
62
- followup_consumed INTEGER NOT NULL DEFAULT 0 CHECK(followup_consumed IN (0, 1)),
63
- CHECK((phase = 'verified') = (outcome IS NOT NULL AND remote_review_id IS NOT NULL))
64
- ) STRICT;
65
- `;
66
- const schema = `
67
- CREATE TABLE repositories (
68
- host TEXT NOT NULL,
69
- github_id TEXT NOT NULL,
70
- remote TEXT NOT NULL,
71
- local_path TEXT NOT NULL,
72
- start_pr_no INTEGER CHECK(start_pr_no >= 0),
73
- initialized_at INTEGER,
74
- last_poll_at INTEGER,
75
- last_poll_error TEXT,
76
- PRIMARY KEY(host, github_id),
77
- CHECK((start_pr_no IS NULL) = (initialized_at IS NULL))
78
- ) STRICT;
79
- CREATE TABLE pull_requests (
80
- host TEXT NOT NULL,
81
- github_id TEXT NOT NULL,
82
- number INTEGER NOT NULL CHECK(number > 0),
83
- state TEXT NOT NULL CHECK(state IN ('open', 'closed', 'merged')),
84
- draft INTEGER NOT NULL CHECK(draft IN (0, 1)),
85
- head_sha TEXT NOT NULL,
86
- base_ref TEXT NOT NULL,
87
- base_sha TEXT NOT NULL,
88
- desired_revision INTEGER NOT NULL CHECK(desired_revision > 0),
89
- completed_revision INTEGER NOT NULL DEFAULT 0 CHECK(completed_revision >= 0 AND completed_revision <= desired_revision),
90
- session_id TEXT,
91
- session_established INTEGER NOT NULL DEFAULT 0 CHECK(session_established IN (0, 1)),
92
- worktree_path TEXT,
93
- cleanup_pending INTEGER NOT NULL DEFAULT 0 CHECK(cleanup_pending IN (0, 1)),
94
- cleanup_error TEXT,
95
- observed_at INTEGER NOT NULL,
96
- PRIMARY KEY(host, github_id, number),
97
- CHECK(session_established = 0 OR session_id IS NOT NULL),
98
- CHECK(cleanup_pending = 0 OR worktree_path IS NOT NULL)
99
- ) STRICT;
100
- CREATE TABLE reviews (
101
- id TEXT PRIMARY KEY,
102
- host TEXT NOT NULL,
103
- github_id TEXT NOT NULL,
104
- number INTEGER NOT NULL,
105
- revision INTEGER NOT NULL CHECK(revision > 0),
106
- head_sha TEXT NOT NULL,
107
- base_ref TEXT NOT NULL,
108
- base_sha TEXT,
109
- status TEXT NOT NULL CHECK(status IN ('preparing', 'running', 'retry_wait', 'completed', 'failed', 'interrupted', 'superseded')),
110
- attempt_count INTEGER NOT NULL DEFAULT 0 CHECK(attempt_count >= 0),
111
- max_attempts INTEGER NOT NULL CHECK(max_attempts > 0 AND attempt_count <= max_attempts),
112
- retry_at INTEGER,
113
- process_owner TEXT,
114
- process_id INTEGER,
115
- process_identity TEXT,
116
- stdout_log_path TEXT,
117
- stderr_log_path TEXT,
118
- last_error TEXT,
119
- created_at INTEGER NOT NULL,
120
- updated_at INTEGER NOT NULL,
121
- CHECK((status = 'retry_wait') = (retry_at IS NOT NULL)),
122
- CHECK(status <> 'running' OR (base_sha IS NOT NULL AND attempt_count > 0 AND process_owner IS NOT NULL AND stdout_log_path IS NOT NULL AND stderr_log_path IS NOT NULL)),
123
- CHECK((process_id IS NULL) = (process_identity IS NULL))
124
- ) STRICT;
125
- CREATE UNIQUE INDEX reviews_one_active_per_pr ON reviews(host, github_id, number)
126
- WHERE status IN (${activeStatuses});
127
- CREATE INDEX reviews_revision ON reviews(host, github_id, number, revision);
128
- ${publicationSchema}
129
- PRAGMA user_version = 2;
130
- `;
131
- const reviewDatabaseIsMissing = (databaseFile) => {
132
- // Windows may report ENOENT for a file ancestor; ordinary absence requires an existing directory.
133
- // https://github.com/nodejs/node/blob/955266bfdd854cd280dffd47548673914484e4c0/deps/uv/src/win/error.c#L134-L142
134
- let candidate = databaseFile;
135
- while (true) {
136
- let status;
137
- try {
138
- status = lstatSync(candidate);
139
- }
140
- catch (error) {
141
- if (!(error instanceof Error && "code" in error && error.code === "ENOENT"))
142
- throw error;
143
- const parent = path.dirname(candidate);
144
- if (parent === candidate)
145
- throw error;
146
- candidate = parent;
147
- continue;
148
- }
149
- if (candidate === databaseFile)
150
- return false;
151
- const ancestor = status.isSymbolicLink() ? statSync(candidate) : status;
152
- if (!ancestor.isDirectory())
153
- throw new Error(`The SQLite database path ancestor ${candidate} is not a directory.`);
154
- return true;
155
- }
156
- };
157
- export const readReviewListingSnapshot = (databaseFile) => {
158
- if (!path.isAbsolute(databaseFile))
159
- throw new Error("The SQLite database path must be absolute.");
160
- if (reviewDatabaseIsMissing(databaseFile))
161
- return null;
162
- const db = new Database(databaseFile, { readonly: true, fileMustExist: true, timeout: 5000 });
163
- let operationFailed = false;
164
- let operationError;
165
- try {
166
- return db.transaction(() => {
167
- const version = db.pragma("user_version", { simple: true });
168
- if (version !== 1 && version !== 2)
169
- throw new Error(`Review listing requires SQLite schema version 1 or 2; found version ${version}.`);
170
- const repositories = db.prepare(`SELECT ${repositoryColumns} FROM repositories ORDER BY host, github_id`).all();
171
- const pullRequests = db.prepare(`SELECT ${pullRequestColumns} FROM pull_requests WHERE state = 'open' ORDER BY host, github_id, number`)
172
- .all().map(asPullRequest);
173
- const reviews = db.prepare(`SELECT ${reviewColumns} FROM reviews r
174
- WHERE EXISTS(SELECT 1 FROM pull_requests p WHERE p.host = r.host AND p.github_id = r.github_id AND p.number = r.number AND p.state = 'open'
175
- AND ((r.revision = p.desired_revision AND r.head_sha = p.head_sha AND r.base_ref = p.base_ref) OR r.status IN (${activeStatuses})))
176
- ORDER BY host, github_id, number, created_at, id`).all();
177
- return { repositories, pullRequests, reviews };
178
- }).deferred();
179
- }
180
- catch (error) {
181
- operationFailed = true;
182
- operationError = error;
183
- throw error;
184
- }
185
- finally {
186
- try {
187
- db.close();
188
- }
189
- catch (closeError) {
190
- if (operationFailed)
191
- throw new AggregateError([operationError, closeError], "SQLite review listing and connection cleanup failed.");
192
- throw closeError;
193
- }
194
- }
55
+ export const readReviewListingSnapshot = (paths, options = {}) => {
56
+ if (!path.isAbsolute(paths.databaseFile) || !path.isAbsolute(paths.lockFile))
57
+ throw new Error("The SQLite database and instance-lock paths must be absolute.");
58
+ return readSqliteDatabase({
59
+ file: paths.databaseFile, format: reviewFormat, onMissing: () => null,
60
+ ...(options.onMigration === undefined ? {} : { onMigration: options.onMigration }),
61
+ acquireMaintenance: () => acquireMaintenanceLock({
62
+ lockFile: paths.lockFile, ownershipGateFile: `${paths.lockFile}.sqlite`, gateFileMustExist: false,
63
+ }),
64
+ }, (db) => {
65
+ const repositories = db.prepare(`SELECT ${repositoryColumns} FROM repositories ORDER BY host, github_id`).all();
66
+ const pullRequests = db.prepare(`SELECT ${pullRequestColumns} FROM pull_requests WHERE state = 'open' ORDER BY host, github_id, number`)
67
+ .all().map(asPullRequest);
68
+ const reviews = db.prepare(`SELECT ${reviewColumns} FROM reviews r
69
+ WHERE EXISTS(SELECT 1 FROM pull_requests p WHERE p.host = r.host AND p.github_id = r.github_id AND p.number = r.number AND p.state = 'open'
70
+ AND ((r.revision = p.desired_revision AND r.head_sha = p.head_sha AND r.base_ref = p.base_ref) OR r.status IN (${activeStatuses})))
71
+ ORDER BY host, github_id, number, created_at, id`).all();
72
+ return { repositories, pullRequests, reviews };
73
+ });
195
74
  };
196
75
  export const openStore = (databaseFile, options = {}) => {
197
76
  if (!path.isAbsolute(databaseFile))
@@ -200,40 +79,31 @@ export const openStore = (databaseFile, options = {}) => {
200
79
  requireInteger(busyTimeoutMs, "SQLite busy timeout", 1);
201
80
  if (busyTimeoutMs > 60000)
202
81
  throw new Error("SQLite busy timeout must not exceed 60000 milliseconds.");
203
- const db = new Database(databaseFile, { timeout: busyTimeoutMs });
204
- try {
205
- const version = db.pragma("user_version", { simple: true });
206
- if (version > 2)
207
- throw new Error(`SQLite schema version ${version} is newer than supported version 2.`);
208
- if (version < 0)
209
- throw new Error(`Unsupported SQLite schema version ${version}.`);
210
- const journalMode = db.pragma("journal_mode = WAL", { simple: true });
211
- if (journalMode !== "wal")
212
- throw new Error(`SQLite refused WAL mode: ${String(journalMode)}.`);
213
- db.pragma("synchronous = FULL");
214
- if (db.pragma("synchronous", { simple: true }) !== 2)
215
- throw new Error("SQLite refused synchronous=FULL.");
216
- if (version === 0)
217
- db.transaction(() => db.exec(schema)).immediate();
218
- if (version === 1)
219
- db.transaction(() => {
220
- db.exec(publicationSchema);
221
- db.exec(`INSERT INTO review_publications(review_id, phase, identity_format)
222
- SELECT id, CASE WHEN status = 'completed' THEN 'legacy' ELSE 'prepared' END, 'legacy'
223
- FROM reviews WHERE status = 'completed' OR status IN (${activeStatuses})`);
224
- db.pragma("user_version = 2");
225
- }).immediate();
226
- }
227
- catch (error) {
82
+ const db = openSqliteDatabase({
83
+ file: databaseFile, format: reviewFormat, allowCreate: true, timeoutMs: busyTimeoutMs,
84
+ ...(options.onMigration === undefined ? {} : { onMigration: options.onMigration }),
85
+ });
86
+ const atomic = (operation) => {
87
+ let formatFailure;
88
+ const transaction = db.transaction(() => {
89
+ try {
90
+ assertCurrentSqlite(db, reviewFormat);
91
+ }
92
+ catch (error) {
93
+ formatFailure = error;
94
+ throw error;
95
+ }
96
+ return operation();
97
+ });
228
98
  try {
229
- db.close();
99
+ return transaction.immediate();
230
100
  }
231
- catch (closeError) {
232
- throw new AggregateError([error, closeError], "SQLite startup and connection cleanup failed.");
101
+ catch (error) {
102
+ if (formatFailure !== undefined && error !== formatFailure)
103
+ throw new AggregateError([formatFailure, error], "Review format assertion and transaction rollback failed.");
104
+ throw error;
233
105
  }
234
- throw error;
235
- }
236
- const atomic = (operation) => db.transaction(operation).immediate();
106
+ };
237
107
  const getRepository = (identity) => {
238
108
  const key = repositoryKey(identity);
239
109
  return db.prepare(`SELECT ${repositoryColumns} FROM repositories WHERE host = @host AND github_id = @githubId`).get(key) ?? null;
@@ -386,7 +256,7 @@ export const openStore = (databaseFile, options = {}) => {
386
256
  db.prepare("UPDATE pull_requests SET desired_revision = desired_revision + 1, observed_at = @now WHERE host = @host AND github_id = @githubId AND number = @number").run({ ...pullRequestKey(pr), now });
387
257
  return needPullRequest(pr);
388
258
  }),
389
- close: () => { db.close(); },
259
+ close: () => { closeSqliteDatabase(db, { file: databaseFile, format: reviewFormat }); },
390
260
  getRepository,
391
261
  getPullRequest,
392
262
  getReview,
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/commands/review/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/commands/review/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { CliContext } from "../../cli/context.js";
2
+ export declare const runSkillRead: (context: CliContext) => Promise<void>;
@@ -0,0 +1,36 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { withCliCancellation } from "../../cli/cancellation.js";
4
+ export const runSkillRead = async (context) => {
5
+ const filename = path.join(context.packageDirectory, "dist/commands/skill/usage.md");
6
+ await withCliCancellation({}, async (signal) => {
7
+ let contents;
8
+ try {
9
+ contents = await readFile(filename);
10
+ new TextDecoder("utf-8", { fatal: true }).decode(contents);
11
+ }
12
+ catch (cause) {
13
+ throw new Error(`Cannot read the installed Daynight CLI usage manual ${filename}. Reinstall the npm package and try again.`, { cause });
14
+ }
15
+ signal.throwIfAborted();
16
+ let failure;
17
+ try {
18
+ await context.stdoutBytes(contents, signal);
19
+ }
20
+ catch (cause) {
21
+ failure = cause;
22
+ throw cause;
23
+ }
24
+ finally {
25
+ try {
26
+ await context.closeStdoutBytes?.();
27
+ }
28
+ catch (cause) {
29
+ if (failure !== undefined)
30
+ throw new AggregateError([failure, cause], "CLI usage output and stdout cleanup failed.", { cause: failure });
31
+ throw cause;
32
+ }
33
+ }
34
+ });
35
+ };
36
+ //# sourceMappingURL=read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/commands/skill/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,OAAmB,EAAiB,EAAE;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,8BAA8B,CAAC,CAAC;IACrF,MAAM,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC7C,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,uDAAuD,QAAQ,4CAA4C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,CAAC;QAC5J,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YAAC,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QACpD,OAAO,KAAK,EAAE,CAAC;YAAC,OAAO,GAAG,KAAK,CAAC;YAAC,MAAM,KAAK,CAAC;QAAC,CAAC;gBACvC,CAAC;YACP,IAAI,CAAC;gBAAC,MAAM,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAAC,CAAC;YAC3C,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,OAAO,KAAK,SAAS;oBAAE,MAAM,IAAI,cAAc,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,6CAA6C,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzI,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -31,6 +31,7 @@ Advance one specified task at a time; CI, review, and merge waits belong to that
31
31
  Analysis, questions, proposals, and execution are all bound by the current task's confirmed objective, scope, deliverables, and acceptance criteria.
32
32
  Read the parent Goal, shared architecture, and related tasks as needed to understand inputs and interfaces; reading does not authorize executing those tasks, removing blockers, or expanding scope.
33
33
  Cross-task blockers and follow-up proposals do not authorize creating or executing new tasks. Material scope changes require user confirmation.
34
+ Registering and verifying required successors already defined within the confirmed scope is part of current-task completion when existing creation authorization covers them; apply the [shared completion conditions](task-execution.md#completion-conditions) and Goal confirmation points. Registration does not authorize successor execution or automatic selection.
34
35
 
35
36
  Delivery operations follow the target repository's rules and existing authorization.
36
37
  Missing authorization cannot be reconstructed from task descriptions, attachments, status, or acceptance results; completion conditions do not grant operational permission either.
@@ -66,15 +66,27 @@ Inspect new results and handle failures, feedback, and conflicts; ordinary waits
66
66
  ## Request user interaction
67
67
 
68
68
  Request user intervention when a goal, architecture, execution plan, or acceptance criteria necessary to complete the task are missing, when a problem is not covered by the design, or when another blocker arises.
69
- Do not invent missing decisions or treat the problem as completion.
69
+ Do not invent missing decisions or treat the problem as completion. Ordinary CI and review waits remain [ongoing execution](#ongoing-waits); a polling timeout does not require human intervention.
70
70
 
71
- 1. Record the specific issue on the current task: `daynight task set-property <task-id> worker.signaling "<reason>"`.
72
- 2. Also print the issue to the terminal, preserve the [waiting context](task-execution.md#waiting-context), exit the execution loop, and wait for the user to address it; keep the task `in_progress` and do not select other work.
73
- 3. After receiving feedback, verify the original assignment and confirm that the problem is solved, then clear the signal with `daynight task remove-property <task-id> worker.signaling`.
74
- 4. Confirm the removal before resuming automatic execution of the current task. If the problem remains unresolved, retain the signal and keep waiting.
71
+ Before waiting for human intervention, read the complete task and verify the original active claim, worker and worktree. Use the exact version from that decision to pause your own assigned task:
75
72
 
76
- Signal writes and removal also follow [write safety](write-safety.md).
77
- Recording a signal does not complete the task; do not resume blocked operations until the problem is solved.
73
+ ```bash
74
+ daynight task set-property <task-id> paused true --project <project-id> --if-version <observed-version>
75
+ ```
76
+
77
+ Read back the task to confirm `properties.paused=true` and the same original assignment. Print the specific issue to the terminal, preserve the [waiting context](task-execution.md#waiting-context), exit the execution loop, and wait for the user to address it.
78
+ Keep the task `in_progress` and do not select other work. The user chooses how to intervene, including attaching to the existing session; do not require a particular response channel.
79
+
80
+ After receiving feedback, reread the task and verify the original assignment, that the problem is solved, and that existing authorization permits resuming. Honor any independent user pause, restriction or revocation. If the problem remains unresolved, keep `paused=true` and keep waiting.
81
+ When resuming is permitted, clear a true pause using the newly observed version:
82
+
83
+ ```bash
84
+ daynight task set-property <task-id> paused false --project <project-id> --if-version <observed-version>
85
+ ```
86
+
87
+ Read back the same assignment and confirm that `paused` is false or absent before continuing the original task. If the user has already cleared the pause, verify that actual state rather than writing it again.
88
+
89
+ Pause writes and readback follow [write safety](write-safety.md). On a failed or unconfirmed write, report the actual failure, preserve waiting context and reconcile before another mutation; do not claim a confirmed pause or resume blocked work. A changed claim stops task-related writes.
78
90
 
79
91
  ## Complete the original claim
80
92
 
@@ -8,8 +8,8 @@ This file covers only stage progression and Goal-specific requirements.
8
8
 
9
9
  | Stage | Starting content | Results and completion gate |
10
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. |
11
+ | Requirements discussion | Known problem, expected outcome, scope, constraints, open questions, and completion conditions | A complete uploaded and read-back `spec.md` and applicable interactive prototypes; the user explicitly confirms the current spec and directs progression to solution discussion; the required solution task has been registered and verified. |
12
+ | Solution discussion | The confirmed requirements task’s `spec.md` 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
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
14
  | Final acceptance | Complete confirmed requirements, actual combined results, and acceptance criteria | A conclusion for the whole Goal under [final acceptance](final-acceptance.md). |
15
15
 
@@ -20,16 +20,41 @@ Discussion acceptance does not automatically add repository PR merge requirement
20
20
  ## From requirements to solution
21
21
 
22
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.
23
+ At initial registration, create only the requirements stage; do not pre-create architecture placeholders or delivery items.
24
24
  Return for registration-only requests; when explicitly asked to start the discussion, start or resume through [ordinary execution](run-task.md).
25
25
 
26
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.
27
+ Its complete spec is a result of this stage, not a prerequisite for registering or starting the Goal.
29
28
 
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.
29
+ ### Complete requirements spec
30
+
31
+ The requirements task must own a complete, independently readable Markdown attachment at `spec.md`, in addition to its description.
32
+ Keep the description self-contained about the objective, responsibility, scope, deliverables, completion conditions, and actual spec location; do not duplicate the full spec there.
33
+ A complete description or a repository link does not replace this required attachment.
34
+
35
+ The spec covers the background and problem, goals and non-goals, applicable actors and scenarios, required behavior and boundaries, constraints, success and failure behavior, and observable whole-Goal acceptance criteria.
36
+ Address permissions, data lifecycle, platforms, and nonfunctional requirements when applicable to the objective, without empty templates or invented requirements.
37
+ Resolve open questions that affect required scope, behavior, or acceptance before confirmation; leave architecture choices to solution discussion.
38
+ For UI Goals, produce the applicable final-style interactive prototypes under the [prototype requirements for task creation](create-task.md#prepare-content), and reference their uploaded resources from the spec.
39
+
40
+ Before requesting user confirmation, upload the complete current spec and necessary resources, read back their actual contents, verify the references, and provide the requirements task ID and attachment paths.
41
+ Confirmation applies to that current readable spec and applicable prototypes.
42
+ Missing, incomplete, failed, or unreadable uploads cannot pass the requirements gate.
43
+ Coherently update the spec and affected description, prototypes, and references after substantive requirement changes, and obtain renewed confirmation before progression.
44
+ Attachments do not change the task version; follow [write safety](write-safety.md#attachments-and-multi-step-operations) rather than treating an unchanged version as proof that confirmation remains valid.
45
+
46
+ ### Register the next discussion before completion
47
+
48
+ After the user confirms the current spec and directs progression to solution discussion, create or reuse the solution-discussion task while the requirements task remains `in_progress`.
49
+ Use the requirements task as an ordinary prerequisite; the solution task stays `todo` and blocked until that prerequisite is done.
50
+ Its description must directly identify the requirements task ID, the full `spec.md` attachment path, and applicable prototype resources; read those actual sources and prepare the stage brief.
51
+ Keep the shared spec in its owning requirements task.
52
+
53
+ Read back the solution task, its required sources, and the actual dependency graph before completing the requirements task under the [shared completion conditions](task-execution.md#completion-conditions).
54
+ If registration or verification fails or its result is uncertain, keep the requirements task `in_progress`, reconcile actual resources, and resume with the confirmed IDs under [write safety](write-safety.md).
55
+ Once the successor is verified and all requirements-stage conditions are met, complete the requirements task and verify it is done.
56
+ Ordinary execution may then start the solution discussion at the user's explicit direction; managed execution completes only the original assignment and returns to the controller without starting the successor.
57
+ If completion is uncertain, reconcile it before starting the solution task.
33
58
 
34
59
  Solution discussion explains responsibilities, data flow, control flow, interfaces, error behavior, key decisions, verification, and the proposed breakdown.
35
60
  Keep the current solution and breakdown in this stage's own material; do not register delivery items before confirmation.
@@ -16,7 +16,7 @@ This workflow does not select candidate tasks or advance a queue automatically.
16
16
 
17
17
  ## Complete or wait
18
18
 
19
- Follow the shared execution rules.
19
+ Follow the shared execution rules, including verifying required successor registration before completion.
20
20
  Once all completion conditions are met, reread the in-progress task, set it to done using its observed version, and confirm the service result.
21
21
  Handle all changes and uncertain responses under [write safety](write-safety.md); ordinary completion does not include a worker claim.
22
22
 
@@ -35,6 +35,7 @@ The description and readable references together provide the following informati
35
35
  The description must identify this task's specific work and where to find its sources.
36
36
  When attachment delivery is not specified, complete inline content needs no primary attachment; references or a mix of inline content and references are also valid.
37
37
  Do not duplicate complete documents.
38
+ The [Goal protocol](goal.md#complete-requirements-spec) requires a complete `spec.md` attachment for the requirements stage even when its description is complete.
38
39
  The [complete delivery standard](autopilot-managed-task.md#complete-delivery-standard) governs managed tasks' attachment and separate review-file requirements; the general inline-content rule cannot waive them.
39
40
  Generic questions, unexplained links, unreadable sources, or "see the previous discussion" are insufficient.
40
41