@seanmars/tospec 0.19.0-beta.6 → 0.19.0-beta.8

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 (209) hide show
  1. package/CHANGELOG.md +137 -0
  2. package/assets/dashboard/app.js +3 -3
  3. package/assets/rules/tospec/decision.md +3 -0
  4. package/dist/cli/index.d.ts.map +1 -1
  5. package/dist/cli/index.js +205 -36
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/commands/config.d.ts.map +1 -1
  8. package/dist/commands/config.js +151 -23
  9. package/dist/commands/config.js.map +1 -1
  10. package/dist/commands/dashboard.d.ts +34 -9
  11. package/dist/commands/dashboard.d.ts.map +1 -1
  12. package/dist/commands/dashboard.js +213 -21
  13. package/dist/commands/dashboard.js.map +1 -1
  14. package/dist/commands/decision.d.ts +11 -0
  15. package/dist/commands/decision.d.ts.map +1 -1
  16. package/dist/commands/decision.js +182 -20
  17. package/dist/commands/decision.js.map +1 -1
  18. package/dist/commands/shared-output.d.ts +12 -0
  19. package/dist/commands/shared-output.d.ts.map +1 -1
  20. package/dist/commands/shared-output.js +50 -1
  21. package/dist/commands/shared-output.js.map +1 -1
  22. package/dist/commands/show.d.ts +10 -0
  23. package/dist/commands/show.d.ts.map +1 -1
  24. package/dist/commands/show.js +23 -4
  25. package/dist/commands/show.js.map +1 -1
  26. package/dist/commands/validate.d.ts +41 -1
  27. package/dist/commands/validate.d.ts.map +1 -1
  28. package/dist/commands/validate.js +95 -17
  29. package/dist/commands/validate.js.map +1 -1
  30. package/dist/commands/workflow/index.d.ts +5 -5
  31. package/dist/commands/workflow/index.d.ts.map +1 -1
  32. package/dist/commands/workflow/index.js +5 -5
  33. package/dist/commands/workflow/index.js.map +1 -1
  34. package/dist/commands/workflow/instructions.d.ts +23 -0
  35. package/dist/commands/workflow/instructions.d.ts.map +1 -1
  36. package/dist/commands/workflow/instructions.js +84 -16
  37. package/dist/commands/workflow/instructions.js.map +1 -1
  38. package/dist/commands/workflow/new-change.d.ts +2 -0
  39. package/dist/commands/workflow/new-change.d.ts.map +1 -1
  40. package/dist/commands/workflow/new-change.js +32 -4
  41. package/dist/commands/workflow/new-change.js.map +1 -1
  42. package/dist/commands/workflow/schemas.d.ts +2 -0
  43. package/dist/commands/workflow/schemas.d.ts.map +1 -1
  44. package/dist/commands/workflow/schemas.js +38 -1
  45. package/dist/commands/workflow/schemas.js.map +1 -1
  46. package/dist/commands/workflow/shared.d.ts +34 -2
  47. package/dist/commands/workflow/shared.d.ts.map +1 -1
  48. package/dist/commands/workflow/shared.js +37 -3
  49. package/dist/commands/workflow/shared.js.map +1 -1
  50. package/dist/commands/workflow/status.d.ts +14 -0
  51. package/dist/commands/workflow/status.d.ts.map +1 -1
  52. package/dist/commands/workflow/status.js +65 -8
  53. package/dist/commands/workflow/status.js.map +1 -1
  54. package/dist/commands/workflow/templates.d.ts +7 -0
  55. package/dist/commands/workflow/templates.d.ts.map +1 -1
  56. package/dist/commands/workflow/templates.js +13 -0
  57. package/dist/commands/workflow/templates.js.map +1 -1
  58. package/dist/core/archive.d.ts +14 -0
  59. package/dist/core/archive.d.ts.map +1 -1
  60. package/dist/core/archive.js +169 -18
  61. package/dist/core/archive.js.map +1 -1
  62. package/dist/core/artifact-graph/graph.d.ts +13 -3
  63. package/dist/core/artifact-graph/graph.d.ts.map +1 -1
  64. package/dist/core/artifact-graph/graph.js +16 -6
  65. package/dist/core/artifact-graph/graph.js.map +1 -1
  66. package/dist/core/artifact-graph/index.d.ts +1 -1
  67. package/dist/core/artifact-graph/index.d.ts.map +1 -1
  68. package/dist/core/artifact-graph/index.js +1 -1
  69. package/dist/core/artifact-graph/index.js.map +1 -1
  70. package/dist/core/artifact-graph/instruction-loader.d.ts +74 -3
  71. package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
  72. package/dist/core/artifact-graph/instruction-loader.js +79 -31
  73. package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
  74. package/dist/core/artifact-graph/resolver.d.ts +26 -0
  75. package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
  76. package/dist/core/artifact-graph/resolver.js +44 -4
  77. package/dist/core/artifact-graph/resolver.js.map +1 -1
  78. package/dist/core/artifact-graph/stub-detection.d.ts +20 -0
  79. package/dist/core/artifact-graph/stub-detection.d.ts.map +1 -0
  80. package/dist/core/artifact-graph/stub-detection.js +42 -0
  81. package/dist/core/artifact-graph/stub-detection.js.map +1 -0
  82. package/dist/core/change-presenter.d.ts +16 -0
  83. package/dist/core/change-presenter.d.ts.map +1 -1
  84. package/dist/core/change-presenter.js +68 -9
  85. package/dist/core/change-presenter.js.map +1 -1
  86. package/dist/core/change-status-policy.d.ts +12 -1
  87. package/dist/core/change-status-policy.d.ts.map +1 -1
  88. package/dist/core/change-status-policy.js +33 -1
  89. package/dist/core/change-status-policy.js.map +1 -1
  90. package/dist/core/codex-residue.js +1 -1
  91. package/dist/core/config-schema.d.ts +1 -12
  92. package/dist/core/config-schema.d.ts.map +1 -1
  93. package/dist/core/config-schema.js +27 -1
  94. package/dist/core/config-schema.js.map +1 -1
  95. package/dist/core/config.d.ts +37 -0
  96. package/dist/core/config.d.ts.map +1 -1
  97. package/dist/core/config.js +37 -0
  98. package/dist/core/config.js.map +1 -1
  99. package/dist/core/dashboard-activity.js +2 -2
  100. package/dist/core/dashboard-activity.js.map +1 -1
  101. package/dist/core/dashboard-data.d.ts +5 -0
  102. package/dist/core/dashboard-data.d.ts.map +1 -1
  103. package/dist/core/dashboard-data.js +15 -8
  104. package/dist/core/dashboard-data.js.map +1 -1
  105. package/dist/core/init.d.ts +22 -0
  106. package/dist/core/init.d.ts.map +1 -1
  107. package/dist/core/init.js +107 -45
  108. package/dist/core/init.js.map +1 -1
  109. package/dist/core/list.d.ts +1 -1
  110. package/dist/core/list.d.ts.map +1 -1
  111. package/dist/core/list.js +68 -17
  112. package/dist/core/list.js.map +1 -1
  113. package/dist/core/markdown-render.d.ts +33 -0
  114. package/dist/core/markdown-render.d.ts.map +1 -0
  115. package/dist/core/markdown-render.js +103 -0
  116. package/dist/core/markdown-render.js.map +1 -0
  117. package/dist/core/migrate.d.ts +20 -6
  118. package/dist/core/migrate.d.ts.map +1 -1
  119. package/dist/core/migrate.js +102 -6
  120. package/dist/core/migrate.js.map +1 -1
  121. package/dist/core/parsers/change-parser.js +1 -1
  122. package/dist/core/parsers/change-parser.js.map +1 -1
  123. package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
  124. package/dist/core/parsers/markdown-parser.js +16 -0
  125. package/dist/core/parsers/markdown-parser.js.map +1 -1
  126. package/dist/core/parsers/requirement-blocks.js +32 -9
  127. package/dist/core/parsers/requirement-blocks.js.map +1 -1
  128. package/dist/core/root-selection.d.ts +11 -1
  129. package/dist/core/root-selection.d.ts.map +1 -1
  130. package/dist/core/root-selection.js +4 -2
  131. package/dist/core/root-selection.js.map +1 -1
  132. package/dist/core/rules.d.ts +6 -1
  133. package/dist/core/rules.d.ts.map +1 -1
  134. package/dist/core/rules.js +24 -2
  135. package/dist/core/rules.js.map +1 -1
  136. package/dist/core/schemas/base.schema.d.ts +3 -0
  137. package/dist/core/schemas/base.schema.d.ts.map +1 -1
  138. package/dist/core/schemas/base.schema.js +22 -0
  139. package/dist/core/schemas/base.schema.js.map +1 -1
  140. package/dist/core/schemas/change.schema.d.ts +8 -0
  141. package/dist/core/schemas/change.schema.d.ts.map +1 -1
  142. package/dist/core/schemas/spec.schema.d.ts +2 -0
  143. package/dist/core/schemas/spec.schema.d.ts.map +1 -1
  144. package/dist/core/shared/index.d.ts +1 -1
  145. package/dist/core/shared/index.d.ts.map +1 -1
  146. package/dist/core/shared/index.js +1 -1
  147. package/dist/core/shared/index.js.map +1 -1
  148. package/dist/core/shared/rules-generation.d.ts +27 -6
  149. package/dist/core/shared/rules-generation.d.ts.map +1 -1
  150. package/dist/core/shared/rules-generation.js +115 -44
  151. package/dist/core/shared/rules-generation.js.map +1 -1
  152. package/dist/core/shared/tool-detection.d.ts +19 -0
  153. package/dist/core/shared/tool-detection.d.ts.map +1 -1
  154. package/dist/core/shared/tool-detection.js +30 -2
  155. package/dist/core/shared/tool-detection.js.map +1 -1
  156. package/dist/core/spec-presenter.d.ts.map +1 -1
  157. package/dist/core/spec-presenter.js +5 -0
  158. package/dist/core/spec-presenter.js.map +1 -1
  159. package/dist/core/specs-apply.d.ts +15 -1
  160. package/dist/core/specs-apply.d.ts.map +1 -1
  161. package/dist/core/specs-apply.js +33 -11
  162. package/dist/core/specs-apply.js.map +1 -1
  163. package/dist/core/templates/workflows/apply.js +1 -1
  164. package/dist/core/templates/workflows/apply.js.map +1 -1
  165. package/dist/core/templates/workflows/archive.d.ts.map +1 -1
  166. package/dist/core/templates/workflows/archive.js +4 -2
  167. package/dist/core/templates/workflows/archive.js.map +1 -1
  168. package/dist/core/templates/workflows/decision.js +1 -1
  169. package/dist/core/templates/workflows/issue.d.ts.map +1 -1
  170. package/dist/core/templates/workflows/issue.js +3 -0
  171. package/dist/core/templates/workflows/issue.js.map +1 -1
  172. package/dist/core/update.d.ts +26 -0
  173. package/dist/core/update.d.ts.map +1 -1
  174. package/dist/core/update.js +111 -23
  175. package/dist/core/update.js.map +1 -1
  176. package/dist/core/validation/constants.d.ts +1 -1
  177. package/dist/core/validation/constants.d.ts.map +1 -1
  178. package/dist/core/validation/constants.js +6 -1
  179. package/dist/core/validation/constants.js.map +1 -1
  180. package/dist/core/validation/section-validator.d.ts.map +1 -1
  181. package/dist/core/validation/section-validator.js +21 -3
  182. package/dist/core/validation/section-validator.js.map +1 -1
  183. package/dist/core/validation/validator.d.ts +17 -4
  184. package/dist/core/validation/validator.d.ts.map +1 -1
  185. package/dist/core/validation/validator.js +120 -34
  186. package/dist/core/validation/validator.js.map +1 -1
  187. package/dist/utils/change-utils.d.ts +31 -2
  188. package/dist/utils/change-utils.d.ts.map +1 -1
  189. package/dist/utils/change-utils.js +127 -37
  190. package/dist/utils/change-utils.js.map +1 -1
  191. package/dist/utils/file-system.d.ts +1 -1
  192. package/dist/utils/file-system.js +1 -1
  193. package/dist/utils/item-discovery.d.ts +20 -5
  194. package/dist/utils/item-discovery.d.ts.map +1 -1
  195. package/dist/utils/item-discovery.js +28 -9
  196. package/dist/utils/item-discovery.js.map +1 -1
  197. package/dist/utils/spec-files.d.ts +12 -0
  198. package/dist/utils/spec-files.d.ts.map +1 -1
  199. package/dist/utils/spec-files.js +34 -0
  200. package/dist/utils/spec-files.js.map +1 -1
  201. package/dist/utils/task-progress.js +1 -1
  202. package/package.json +1 -1
  203. package/schemas/decision/templates/decision.md +3 -1
  204. package/schemas/decision/templates/index.md +2 -2
  205. package/schemas/issue/schema.yaml +4 -2
  206. package/schemas/issue/templates/spec.md +20 -2
  207. package/schemas/sdd/schema.yaml +4 -0
  208. package/schemas/sdd/templates/spec.md +20 -2
  209. /package/assets/rules/tospec/{single-sourc-of-truth.md → single-source-of-truth.md} +0 -0
@@ -7,7 +7,7 @@ import { getNestedValue, setNestedValue, deleteNestedValue, coerceValue, validat
7
7
  import { ALL_WORKFLOWS, getProfileWorkflows } from '../core/profiles.js';
8
8
  import { TOSPEC_DIR_NAME } from '../core/config.js';
9
9
  import { UpdateCommand } from '../core/update.js';
10
- import { isPromptCancellationError, asErrorMessage, CliAbortError } from './shared-output.js';
10
+ import { isPromptCancellationError, asErrorMessage, CliAbortError, emitSuccess, } from './shared-output.js';
11
11
  // Keyed by WorkflowId, not string: this map is a second hand-maintained list
12
12
  // parallel to WORKFLOW_DEFS, and with a `string` key a renamed or added workflow
13
13
  // drifted silently — the lookup below falls back instead of failing. Both apply
@@ -79,6 +79,28 @@ export function deriveProfileFromWorkflowSelection(selectedWorkflows) {
79
79
  export function formatWorkflowSummary(workflows, profile) {
80
80
  return `${workflows.length} selected (${profile})`;
81
81
  }
82
+ /**
83
+ * The finding that a stored `workflows` list will not be used, or null.
84
+ *
85
+ * Only the `custom` profile consults the list, so under any other profile it is
86
+ * stored, validated, displayed — and ignored. `config set` warned about it once,
87
+ * at the moment of setting; `config list` then showed the list again with
88
+ * nothing to say it does not apply (round 4 report 16). Worded to match
89
+ * `update`'s `update_workflows_ignored`, so the two commands say one thing.
90
+ */
91
+ function ignoredWorkflowsDiagnostic(config) {
92
+ const profile = config.profile ?? 'core';
93
+ if (profile === 'custom')
94
+ return null;
95
+ if (!config.workflows || config.workflows.length === 0)
96
+ return null;
97
+ return {
98
+ severity: 'warning',
99
+ code: 'config_workflows_ignored',
100
+ message: `Profile '${profile}' installs every workflow, so the configured workflows list is not used.`,
101
+ fix: 'Run "tospec config profile custom" to apply it, or "tospec config unset workflows" to drop it.',
102
+ };
103
+ }
82
104
  function stableWorkflowOrder(workflows) {
83
105
  const seen = new Set();
84
106
  const ordered = [];
@@ -127,6 +149,40 @@ export function diffProfileState(before, after) {
127
149
  lines,
128
150
  };
129
151
  }
152
+ /**
153
+ * The config file's raw contents, used only to tell an explicit value from a
154
+ * default — `getGlobalConfig()` has already merged the two and cannot answer it.
155
+ *
156
+ * Reads the file that was actually loaded, not the write target: the two differ
157
+ * until a legacy install migrates.
158
+ */
159
+ function rawGlobalConfig() {
160
+ try {
161
+ const configPath = getEffectiveConfigPath();
162
+ if (fs.existsSync(configPath)) {
163
+ return JSON.parse(fs.readFileSync(configPath, 'utf-8'));
164
+ }
165
+ }
166
+ catch {
167
+ // Unreadable or malformed: treat every value as a default rather than
168
+ // failing a read-only listing.
169
+ }
170
+ return {};
171
+ }
172
+ /**
173
+ * The workflows a profile resolves to — `core` expands to the full set, any
174
+ * other profile uses its explicit list.
175
+ *
176
+ * Shared by the text and JSON branches of `config list`. The JSON branch used to
177
+ * report only the stored config, leaving a caller unable to turn
178
+ * `profile: "core"` into the workflow names the text branch prints; deriving
179
+ * both from here is what keeps the two answers the same.
180
+ */
181
+ function resolveListedWorkflows(config) {
182
+ if (config.profile === 'core')
183
+ return [...ALL_WORKFLOWS];
184
+ return [...(config.workflows ?? [])];
185
+ }
130
186
  function printConfigProfileApplyGuidance() {
131
187
  console.log('Config updated. Run `tospec update` in your projects to apply.');
132
188
  }
@@ -165,35 +221,59 @@ export function registerConfigCommand(program) {
165
221
  .action((options) => {
166
222
  const config = getGlobalConfig();
167
223
  if (options.json) {
168
- console.log(JSON.stringify(config, null, 2));
224
+ // Nested, not spread. `GlobalConfigSchema` is `.passthrough()` and
225
+ // `config set --allow-unknown` writes any top-level key, so spreading
226
+ // the config into the envelope let user data shadow the envelope's own
227
+ // reserved fields — `config set version 9 --allow-unknown` replaced the
228
+ // envelope `version`, and `root`/`status` were open the same way.
229
+ // Giving the config its own key is what makes that structurally
230
+ // impossible instead of patching one field name at a time.
231
+ // See tospec/decisions/20260916_121544-config-list-json-nests-under-config-key.md
232
+ //
233
+ // `profileSettings` mirrors what the human branch prints below. The JSON
234
+ // used to stop at the stored config, so a caller could read
235
+ // `profile: "core"` and still not know which workflows that resolves to
236
+ // — the one fact the human output spells out and the one an agent needs
237
+ // to know whether a skill it wants is installed. Resolved here, beside
238
+ // the text form, so the two cannot answer differently.
239
+ const ignored = ignoredWorkflowsDiagnostic(config);
240
+ emitSuccess({
241
+ config,
242
+ profileSettings: {
243
+ profile: config.profile ?? 'core',
244
+ explicit: rawGlobalConfig().profile !== undefined,
245
+ workflows: resolveListedWorkflows(config),
246
+ },
247
+ ...(ignored ? { status: [ignored] } : {}),
248
+ });
169
249
  }
170
250
  else {
171
- // Read raw config to determine which values are explicit vs defaults.
172
- // Must be the file that was actually read, not the write target — they
173
- // differ until a legacy install migrates.
174
- const configPath = getEffectiveConfigPath();
175
- let rawConfig = {};
176
- try {
177
- if (fs.existsSync(configPath)) {
178
- rawConfig = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
179
- }
180
- }
181
- catch {
182
- // If reading fails, treat all as defaults
183
- }
251
+ const rawConfig = rawGlobalConfig();
184
252
  console.log(yaml.stringify(config).trimEnd());
253
+ // Round 4 report 16: the dump above is the stored config, so under a
254
+ // profile that ignores `workflows` this output gave two different
255
+ // answers for the same key — the stored list here and the profile's
256
+ // resolved one below — with nothing saying the first is not used.
257
+ // `config set` said so once, at the moment of setting, and never again.
258
+ const ignored = ignoredWorkflowsDiagnostic(config);
259
+ if (ignored) {
260
+ console.log(` ^ ${ignored.message}`);
261
+ }
185
262
  // Annotate profile settings
186
263
  const profileSource = rawConfig.profile !== undefined ? '(explicit)' : '(default)';
187
264
  console.log(`\nProfile settings:`);
188
265
  console.log(` profile: ${config.profile} ${profileSource}`);
189
- if (config.profile === 'core') {
190
- console.log(` workflows: ${ALL_WORKFLOWS.join(', ')} (from core profile)`);
191
- }
192
- else if (config.workflows && config.workflows.length > 0) {
193
- console.log(` workflows: ${config.workflows.join(', ')} (explicit)`);
266
+ const workflows = resolveListedWorkflows(config);
267
+ if (workflows.length === 0) {
268
+ console.log(` workflows: (none)`);
194
269
  }
195
270
  else {
196
- console.log(` workflows: (none)`);
271
+ const origin = config.profile === 'core' ? '(from core profile)' : '(explicit)';
272
+ console.log(` workflows: ${workflows.join(', ')} ${origin}`);
273
+ }
274
+ if (ignored?.fix) {
275
+ console.log();
276
+ console.log(ignored.fix);
197
277
  }
198
278
  }
199
279
  });
@@ -201,10 +281,32 @@ export function registerConfigCommand(program) {
201
281
  configCmd
202
282
  .command('get <key>')
203
283
  .description('Get a specific value (raw, scriptable)')
204
- .action((key) => {
284
+ .option('--allow-unknown', 'Allow reading unknown keys')
285
+ .action((key, options) => {
286
+ const allowUnknown = Boolean(options.allowUnknown);
287
+ const keyValidation = validateConfigKeyPath(key);
288
+ // Paired with the same flag on `set`, which without this was a one-way
289
+ // door: a key written with --allow-unknown showed up in `config list` and
290
+ // could be removed by `unset`, but `get` — the scriptable reader the flag
291
+ // exists to feed — refused to read it back.
292
+ //
293
+ // Relaxes the known-key check only, never the prototype-safety one; the
294
+ // same split `set` makes, for the same reason.
295
+ const unsafeKey = hasUnsafeKeySegment(key);
296
+ if (!keyValidation.valid && (!allowUnknown || unsafeKey)) {
297
+ const reason = keyValidation.reason ? ` ${keyValidation.reason}.` : '';
298
+ console.error(`Error: Invalid configuration key "${key}".${reason}`);
299
+ console.error('Use "tospec config list" to see available keys.');
300
+ if (!allowUnknown && !unsafeKey) {
301
+ console.error('Pass --allow-unknown to read a key set that way.');
302
+ }
303
+ process.exitCode = 1;
304
+ return;
305
+ }
205
306
  const config = getGlobalConfig();
206
307
  const value = getNestedValue(config, key);
207
308
  if (value === undefined) {
309
+ console.error(`Error: Key "${key}" is not set.`);
208
310
  process.exitCode = 1;
209
311
  return;
210
312
  }
@@ -238,7 +340,7 @@ export function registerConfigCommand(program) {
238
340
  return;
239
341
  }
240
342
  const config = getGlobalConfig();
241
- const coercedValue = coerceValue(value, options.string || false);
343
+ const coercedValue = coerceValue(value, options.string || false, key);
242
344
  // Create a copy to validate before saving
243
345
  const newConfig = JSON.parse(JSON.stringify(config));
244
346
  setNestedValue(newConfig, key, coercedValue);
@@ -249,11 +351,37 @@ export function registerConfigCommand(program) {
249
351
  process.exitCode = 1;
250
352
  return;
251
353
  }
354
+ // The schema types `workflows` as string[], so a misspelled id passes it
355
+ // and is then dropped by `update`'s filter against ALL_WORKFLOWS —
356
+ // installing fewer skills than asked for, silently. Caught here because
357
+ // this is the only point that still has the word the user typed.
358
+ if (key === 'workflows' && Array.isArray(coercedValue)) {
359
+ const unknown = coercedValue.filter((entry) => !ALL_WORKFLOWS.includes(String(entry)));
360
+ if (unknown.length > 0) {
361
+ console.error(`Error: Unknown workflow(s): ${unknown.join(', ')}`);
362
+ console.error(`Available: ${ALL_WORKFLOWS.join(', ')}`);
363
+ process.exitCode = 1;
364
+ return;
365
+ }
366
+ }
252
367
  // Apply changes and save
253
368
  setNestedValue(config, key, coercedValue);
254
369
  saveGlobalConfig(config);
255
370
  const displayValue = typeof coercedValue === 'string' ? `"${coercedValue}"` : String(coercedValue);
256
371
  console.log(`Set ${key} = ${displayValue}`);
372
+ // `workflows` is only read when the profile is `custom`; under `core`,
373
+ // getProfileWorkflows discards it and returns ALL_WORKFLOWS. Everything up
374
+ // to here — the key check, the workflow-name check, the "Set workflows =
375
+ // ..." line, and `config list` showing it — tells the user it took effect.
376
+ // Said after the confirmation rather than instead of it, because the value
377
+ // genuinely was stored; it just is not what `update` will act on.
378
+ if (key === 'workflows') {
379
+ const profile = config.profile ?? 'core';
380
+ if (profile !== 'custom') {
381
+ console.error(`Warning: profile '${profile}' installs every workflow, so this list is not used.`);
382
+ console.error('Run "tospec config profile custom" to make it take effect.');
383
+ }
384
+ }
257
385
  });
258
386
  // config unset
259
387
  configCmd
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,7 @@ export declare function pidFilePath(projectRoot: string): string;
47
47
  * places that clear it (a dashboard's own exit, and `--stop` once it has killed
48
48
  * one) would otherwise delete whichever record happened to be there.
49
49
  *
50
- * ponytail: one record per project, so of two sibling dashboards only the later
50
+ * Limitation: one record per project, so of two sibling dashboards only the later
51
51
  * writer is tracked by pid file at all. This keeps the tracked one from being
52
52
  * deleted by the other's exit; it cannot hand the earlier dashboard a record
53
53
  * back. Both stay reachable through their registry markers, which is what the
@@ -85,6 +85,17 @@ export declare class DashboardStopError extends Error {
85
85
  readonly diagnostic: CommandDiagnostic;
86
86
  constructor(message: string, fix: string);
87
87
  }
88
+ /**
89
+ * The detached child neither reported itself listening nor exited. Distinct
90
+ * from an early-exit failure: the child may well still be coming up, so the
91
+ * message says what was not observed rather than claiming a startup failure,
92
+ * and points at `--list`, which can still find it via the record the child
93
+ * writes for itself.
94
+ */
95
+ export declare class DashboardReadinessTimeoutError extends Error {
96
+ readonly diagnostic: CommandDiagnostic;
97
+ constructor(timeoutMs: number);
98
+ }
88
99
  /**
89
100
  * Every dashboard `--stop` can reach: the registry union every project's pid
90
101
  * file, keyed by pid, reaping any record whose process has died along the way.
@@ -100,19 +111,33 @@ export declare class DashboardStopError extends Error {
100
111
  */
101
112
  export declare function collectStoppableDashboards(ownRootHint: string | null): Promise<RunningDashboard[]>;
102
113
  /**
103
- * Launches the dashboard as a detached background process and returns
104
- * immediately. Re-runs this same CLI without `--detach` (the child is the
105
- * actual server); the child rewrites the PID file once it knows the real URL,
106
- * so an EADDRINUSE port fallback is still recorded correctly.
114
+ * Launches the dashboard as a detached background process. Re-runs this same
115
+ * CLI without `--detach` (the child is the actual server), then waits for the
116
+ * child's own `LISTENING` report before doing anything else, so the URL it
117
+ * prints is one the child actually bound — including after an EADDRINUSE
118
+ * fallback moved it off the port this process predicted. Order is therefore:
119
+ * spawn → wait for the child's report → write the PID record → print the URL.
107
120
  *
108
121
  * Refuses if any live dashboard already serves this project, foreground or
109
122
  * background, rather than spawning a second orphaned server. The guard asks the
110
123
  * shared candidate set rather than this project's pid file alone, because
111
124
  * either record can be the only one left: a foreground dashboard used to write
112
125
  * no pid file at all, and a background one can lose the one it wrote. Both made
113
- * the old guard see nothing and spawn a second server. The PID is written
114
- * before this returns, so a rapid second `--detach` sees it even before the
115
- * child has bound (the child writes late).
126
+ * the old guard see nothing and spawn a second server.
127
+ *
128
+ * Both this process and the child write that PID record, with identical fields
129
+ * by construction. They are not redundant — each is the only record that exists
130
+ * in one failure mode:
131
+ * - The child's (`runDashboard`) is the record *every* dashboard writes for
132
+ * itself, foreground included, and is all that remains if this process is
133
+ * killed mid-handshake or gives up on the readiness timeout.
134
+ * - This one is what makes a record exist by the time the call returns. The
135
+ * child writes its own only *after* it has signalled, so without this a
136
+ * rapid second `--detach` could find nothing to refuse against, and a child
137
+ * that wedges after binding would be an untrackable orphan.
138
+ * Both use `fs.writeFile`, so a concurrent truncate-then-write is two processes
139
+ * laying down the same bytes; a reader that catches it mid-write falls back to
140
+ * the registry marker (`readPidRecord` returns null on a parse failure).
116
141
  *
117
142
  * This is the only guarded start path: nothing stops a second foreground
118
143
  * `tospec dashboard`, so "one dashboard per project" holds for `--detach` and
@@ -158,7 +183,7 @@ export declare function shouldRefuseDetach(candidates: RunningDashboard[], proje
158
183
  * as stopped would be this ticket's own bug all over again, so we hand the
159
184
  * caller what actually happened and leave that dashboard's records alone.
160
185
  *
161
- * ponytail: SIGTERM; on Windows Node maps this to TerminateProcess (hard kill),
186
+ * Limitation: SIGTERM; on Windows Node maps this to TerminateProcess (hard kill),
162
187
  * so the target's own cleanup won't run — we clear its files here.
163
188
  */
164
189
  export declare function stopRunningDashboard(d: RunningDashboard): Promise<string | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"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"}