@dzhechkov/harness-cli 0.7.3 → 0.7.4
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.
- package/.dz-manifest.json +27 -7
- package/README.md +2 -2
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +11 -1
- package/dist/cli.js.map +1 -1
- package/dist/known-flags.d.ts +13 -0
- package/dist/known-flags.d.ts.map +1 -0
- package/dist/known-flags.js +284 -0
- package/dist/known-flags.js.map +1 -0
- package/package.json +1 -1
- package/sbom.json +56 -6
- package/src/cli.ts +12 -0
- package/src/known-flags.ts +283 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every `--name` this CLI knows: the union of every name its code READS and every name its help
|
|
3
|
+
* DOCUMENTS. GENERATED — `test/known-flags-drift.test.ts` re-derives it from `cli.ts` and fails if
|
|
4
|
+
* this list has gone stale, so a new flag cannot silently start warning at its own users.
|
|
5
|
+
*
|
|
6
|
+
* It is deliberately a FLAT set, not a per-command map. Both ways of building a per-command list
|
|
7
|
+
* were measured and both are unsafe: 53 of the names the CLI reads appear nowhere in help, and
|
|
8
|
+
* static extraction over the dispatch table lost `--week` from `dz recap` while picking up a
|
|
9
|
+
* neighbour's flags for `dz usage`. A refusal built on either would reject working commands.
|
|
10
|
+
* See harness-core/src/cli-flag-notice.ts for the full reasoning and the honest limit.
|
|
11
|
+
*/
|
|
12
|
+
export declare const KNOWN_CLI_FLAGS: readonly string[];
|
|
13
|
+
//# sourceMappingURL=known-flags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-flags.d.ts","sourceRoot":"","sources":["../src/known-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EA+Q5C,CAAC"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every `--name` this CLI knows: the union of every name its code READS and every name its help
|
|
3
|
+
* DOCUMENTS. GENERATED — `test/known-flags-drift.test.ts` re-derives it from `cli.ts` and fails if
|
|
4
|
+
* this list has gone stale, so a new flag cannot silently start warning at its own users.
|
|
5
|
+
*
|
|
6
|
+
* It is deliberately a FLAT set, not a per-command map. Both ways of building a per-command list
|
|
7
|
+
* were measured and both are unsafe: 53 of the names the CLI reads appear nowhere in help, and
|
|
8
|
+
* static extraction over the dispatch table lost `--week` from `dz recap` while picking up a
|
|
9
|
+
* neighbour's flags for `dz usage`. A refusal built on either would reject working commands.
|
|
10
|
+
* See harness-core/src/cli-flag-notice.ts for the full reasoning and the honest limit.
|
|
11
|
+
*/
|
|
12
|
+
export const KNOWN_CLI_FLAGS = [
|
|
13
|
+
'affected',
|
|
14
|
+
'all',
|
|
15
|
+
'allow-same-family',
|
|
16
|
+
'allow-same-family-qe',
|
|
17
|
+
'any',
|
|
18
|
+
'append',
|
|
19
|
+
'apply',
|
|
20
|
+
'arg',
|
|
21
|
+
'artifact',
|
|
22
|
+
'at',
|
|
23
|
+
'audit-dev',
|
|
24
|
+
'author',
|
|
25
|
+
'auto',
|
|
26
|
+
'base',
|
|
27
|
+
'baseline',
|
|
28
|
+
'body',
|
|
29
|
+
'book',
|
|
30
|
+
'books',
|
|
31
|
+
'bto',
|
|
32
|
+
'budget',
|
|
33
|
+
'budget-extra',
|
|
34
|
+
'bump-only',
|
|
35
|
+
'by-stage',
|
|
36
|
+
'calibrate',
|
|
37
|
+
'candidate',
|
|
38
|
+
'candidates',
|
|
39
|
+
'canonical',
|
|
40
|
+
'category',
|
|
41
|
+
'check',
|
|
42
|
+
'claim-check',
|
|
43
|
+
'claude-bin',
|
|
44
|
+
'cmd',
|
|
45
|
+
'coder-family',
|
|
46
|
+
'codex-home',
|
|
47
|
+
'command',
|
|
48
|
+
'commands',
|
|
49
|
+
'commit',
|
|
50
|
+
'compare',
|
|
51
|
+
'confirm',
|
|
52
|
+
'confirmed',
|
|
53
|
+
'context-only',
|
|
54
|
+
'corroborate',
|
|
55
|
+
'day',
|
|
56
|
+
'deep',
|
|
57
|
+
'default-family',
|
|
58
|
+
'desc',
|
|
59
|
+
'description',
|
|
60
|
+
'diff',
|
|
61
|
+
'diff-filter',
|
|
62
|
+
'dir',
|
|
63
|
+
'domain',
|
|
64
|
+
'done',
|
|
65
|
+
'dry-run',
|
|
66
|
+
'effect',
|
|
67
|
+
'effort',
|
|
68
|
+
'emit',
|
|
69
|
+
'emit-policy',
|
|
70
|
+
'enrich',
|
|
71
|
+
'epsilon',
|
|
72
|
+
'expect',
|
|
73
|
+
'expect-commands',
|
|
74
|
+
'export',
|
|
75
|
+
'fa-record',
|
|
76
|
+
'fail-on',
|
|
77
|
+
'fail-on-undergrant',
|
|
78
|
+
'family',
|
|
79
|
+
'feature-dir',
|
|
80
|
+
'files',
|
|
81
|
+
'filter',
|
|
82
|
+
'finalize',
|
|
83
|
+
'findings',
|
|
84
|
+
'flag',
|
|
85
|
+
'force',
|
|
86
|
+
'forget',
|
|
87
|
+
'format',
|
|
88
|
+
'from',
|
|
89
|
+
'from-',
|
|
90
|
+
'from-json',
|
|
91
|
+
'from-kus',
|
|
92
|
+
'from-pack',
|
|
93
|
+
'from-slice',
|
|
94
|
+
'from-spec',
|
|
95
|
+
'full',
|
|
96
|
+
'gates',
|
|
97
|
+
'gen-critic',
|
|
98
|
+
'goal',
|
|
99
|
+
'guard',
|
|
100
|
+
'guards',
|
|
101
|
+
'half-year',
|
|
102
|
+
'harmonize',
|
|
103
|
+
'help',
|
|
104
|
+
'holdout',
|
|
105
|
+
'html',
|
|
106
|
+
'id',
|
|
107
|
+
'include-domain',
|
|
108
|
+
'include-pairs',
|
|
109
|
+
'init',
|
|
110
|
+
'input-hash',
|
|
111
|
+
'install',
|
|
112
|
+
'install-driver',
|
|
113
|
+
'install-hook',
|
|
114
|
+
'into',
|
|
115
|
+
'invariants',
|
|
116
|
+
'json',
|
|
117
|
+
'judge',
|
|
118
|
+
'k',
|
|
119
|
+
'keep-scratch',
|
|
120
|
+
'key',
|
|
121
|
+
'kind',
|
|
122
|
+
'ladder',
|
|
123
|
+
'legacy',
|
|
124
|
+
'lexical',
|
|
125
|
+
'license',
|
|
126
|
+
'limit',
|
|
127
|
+
'list',
|
|
128
|
+
'live-content',
|
|
129
|
+
'loc-cap',
|
|
130
|
+
'local-path',
|
|
131
|
+
'manifest',
|
|
132
|
+
'margin',
|
|
133
|
+
'mark',
|
|
134
|
+
'max',
|
|
135
|
+
'max-wall-clock',
|
|
136
|
+
'memory',
|
|
137
|
+
'mock',
|
|
138
|
+
'mode',
|
|
139
|
+
'model',
|
|
140
|
+
'module',
|
|
141
|
+
'month',
|
|
142
|
+
'n',
|
|
143
|
+
'name',
|
|
144
|
+
'name-only',
|
|
145
|
+
'no-audit',
|
|
146
|
+
'no-decorate',
|
|
147
|
+
'no-dry-run',
|
|
148
|
+
'no-evals',
|
|
149
|
+
'no-filters',
|
|
150
|
+
'no-fund',
|
|
151
|
+
'no-guard',
|
|
152
|
+
'no-hooks',
|
|
153
|
+
'no-index',
|
|
154
|
+
'no-issue',
|
|
155
|
+
'no-memory',
|
|
156
|
+
'no-merges',
|
|
157
|
+
'no-mirror',
|
|
158
|
+
'no-provenance',
|
|
159
|
+
'no-result',
|
|
160
|
+
'no-semantic',
|
|
161
|
+
'no-session-persistence',
|
|
162
|
+
'no-teach',
|
|
163
|
+
'no-verify',
|
|
164
|
+
'o',
|
|
165
|
+
'once',
|
|
166
|
+
'oneline',
|
|
167
|
+
'only',
|
|
168
|
+
'op',
|
|
169
|
+
'original',
|
|
170
|
+
'out',
|
|
171
|
+
'output',
|
|
172
|
+
'output-format',
|
|
173
|
+
'override',
|
|
174
|
+
'pack',
|
|
175
|
+
'pack-destination',
|
|
176
|
+
'package',
|
|
177
|
+
'pair',
|
|
178
|
+
'pattern',
|
|
179
|
+
'periods',
|
|
180
|
+
'pick',
|
|
181
|
+
'plan',
|
|
182
|
+
'plugin-dir',
|
|
183
|
+
'porcelain',
|
|
184
|
+
'preset',
|
|
185
|
+
'pretty',
|
|
186
|
+
'project',
|
|
187
|
+
'promote',
|
|
188
|
+
'proposal',
|
|
189
|
+
'provenance',
|
|
190
|
+
'prune-noise',
|
|
191
|
+
'prune-quarantine',
|
|
192
|
+
'pubkey',
|
|
193
|
+
'publish',
|
|
194
|
+
'quarter',
|
|
195
|
+
'reason',
|
|
196
|
+
'rebaseline',
|
|
197
|
+
'recalled',
|
|
198
|
+
'reconcile',
|
|
199
|
+
'record-provisional',
|
|
200
|
+
'registry',
|
|
201
|
+
'reinforce',
|
|
202
|
+
'remove',
|
|
203
|
+
'report',
|
|
204
|
+
'require-plan',
|
|
205
|
+
'require-signing',
|
|
206
|
+
'rerank',
|
|
207
|
+
'result',
|
|
208
|
+
'resume',
|
|
209
|
+
'revise',
|
|
210
|
+
'reward',
|
|
211
|
+
'row',
|
|
212
|
+
'run',
|
|
213
|
+
'run-dir',
|
|
214
|
+
'run-id',
|
|
215
|
+
'runner',
|
|
216
|
+
'safe-mode',
|
|
217
|
+
'sandbox',
|
|
218
|
+
'save-dev',
|
|
219
|
+
'scenarios',
|
|
220
|
+
'scope-check',
|
|
221
|
+
'score',
|
|
222
|
+
'seed',
|
|
223
|
+
'select',
|
|
224
|
+
'semantic',
|
|
225
|
+
'session',
|
|
226
|
+
'sessions-dir',
|
|
227
|
+
'short',
|
|
228
|
+
'show-toplevel',
|
|
229
|
+
'sign-key',
|
|
230
|
+
'since',
|
|
231
|
+
'skill',
|
|
232
|
+
'skills-dir',
|
|
233
|
+
'slice',
|
|
234
|
+
'slug',
|
|
235
|
+
'source',
|
|
236
|
+
'split',
|
|
237
|
+
'stage',
|
|
238
|
+
'stage-timeout',
|
|
239
|
+
'stages-json',
|
|
240
|
+
'static',
|
|
241
|
+
'stats',
|
|
242
|
+
'status',
|
|
243
|
+
'stdin',
|
|
244
|
+
'step',
|
|
245
|
+
'stored',
|
|
246
|
+
'strict',
|
|
247
|
+
'strict-mcp-config',
|
|
248
|
+
'subsystem',
|
|
249
|
+
'success',
|
|
250
|
+
'tag',
|
|
251
|
+
'target',
|
|
252
|
+
'task',
|
|
253
|
+
'teach',
|
|
254
|
+
'test',
|
|
255
|
+
'test-cmd',
|
|
256
|
+
'text',
|
|
257
|
+
'threshold',
|
|
258
|
+
'tie-rate',
|
|
259
|
+
'tier',
|
|
260
|
+
'timeout',
|
|
261
|
+
'title',
|
|
262
|
+
'tolerance',
|
|
263
|
+
'tools',
|
|
264
|
+
'topics',
|
|
265
|
+
'type',
|
|
266
|
+
'usage',
|
|
267
|
+
'validate',
|
|
268
|
+
'verbose',
|
|
269
|
+
'verified',
|
|
270
|
+
'verify',
|
|
271
|
+
'version',
|
|
272
|
+
'wall-clock-extra',
|
|
273
|
+
'weak',
|
|
274
|
+
'week',
|
|
275
|
+
'weekly',
|
|
276
|
+
'window-days',
|
|
277
|
+
'with-pairs',
|
|
278
|
+
'with-references',
|
|
279
|
+
'work-order',
|
|
280
|
+
'write',
|
|
281
|
+
'year',
|
|
282
|
+
'yes',
|
|
283
|
+
];
|
|
284
|
+
//# sourceMappingURL=known-flags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-flags.js","sourceRoot":"","sources":["../src/known-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,UAAU;IACV,KAAK;IACL,mBAAmB;IACnB,sBAAsB;IACtB,KAAK;IACL,QAAQ;IACR,OAAO;IACP,KAAK;IACL,UAAU;IACV,IAAI;IACJ,WAAW;IACX,QAAQ;IACR,MAAM;IACN,MAAM;IACN,UAAU;IACV,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,cAAc;IACd,WAAW;IACX,UAAU;IACV,WAAW;IACX,WAAW;IACX,YAAY;IACZ,WAAW;IACX,UAAU;IACV,OAAO;IACP,aAAa;IACb,YAAY;IACZ,KAAK;IACL,cAAc;IACd,YAAY;IACZ,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;IACT,WAAW;IACX,cAAc;IACd,aAAa;IACb,KAAK;IACL,MAAM;IACN,gBAAgB;IAChB,MAAM;IACN,aAAa;IACb,MAAM;IACN,aAAa;IACb,KAAK;IACL,QAAQ;IACR,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,aAAa;IACb,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,iBAAiB;IACjB,QAAQ;IACR,WAAW;IACX,SAAS;IACT,oBAAoB;IACpB,QAAQ;IACR,aAAa;IACb,OAAO;IACP,QAAQ;IACR,UAAU;IACV,UAAU;IACV,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,OAAO;IACP,WAAW;IACX,UAAU;IACV,WAAW;IACX,YAAY;IACZ,WAAW;IACX,MAAM;IACN,OAAO;IACP,YAAY;IACZ,MAAM;IACN,OAAO;IACP,QAAQ;IACR,WAAW;IACX,WAAW;IACX,MAAM;IACN,SAAS;IACT,MAAM;IACN,IAAI;IACJ,gBAAgB;IAChB,eAAe;IACf,MAAM;IACN,YAAY;IACZ,SAAS;IACT,gBAAgB;IAChB,cAAc;IACd,MAAM;IACN,YAAY;IACZ,MAAM;IACN,OAAO;IACP,GAAG;IACH,cAAc;IACd,KAAK;IACL,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,MAAM;IACN,cAAc;IACd,SAAS;IACT,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,MAAM;IACN,KAAK;IACL,gBAAgB;IAChB,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,GAAG;IACH,MAAM;IACN,WAAW;IACX,UAAU;IACV,aAAa;IACb,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,SAAS;IACT,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,WAAW;IACX,eAAe;IACf,WAAW;IACX,aAAa;IACb,wBAAwB;IACxB,UAAU;IACV,WAAW;IACX,GAAG;IACH,MAAM;IACN,SAAS;IACT,MAAM;IACN,IAAI;IACJ,UAAU;IACV,KAAK;IACL,QAAQ;IACR,eAAe;IACf,UAAU;IACV,MAAM;IACN,kBAAkB;IAClB,SAAS;IACT,MAAM;IACN,SAAS;IACT,SAAS;IACT,MAAM;IACN,MAAM;IACN,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,UAAU;IACV,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,WAAW;IACX,oBAAoB;IACpB,UAAU;IACV,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,cAAc;IACd,iBAAiB;IACjB,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,KAAK;IACL,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;IACT,UAAU;IACV,WAAW;IACX,aAAa;IACb,OAAO;IACP,MAAM;IACN,QAAQ;IACR,UAAU;IACV,SAAS;IACT,cAAc;IACd,OAAO;IACP,eAAe;IACf,UAAU;IACV,OAAO;IACP,OAAO;IACP,YAAY;IACZ,OAAO;IACP,MAAM;IACN,QAAQ;IACR,OAAO;IACP,OAAO;IACP,eAAe;IACf,aAAa;IACb,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,mBAAmB;IACnB,WAAW;IACX,SAAS;IACT,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,UAAU;IACV,MAAM;IACN,WAAW;IACX,UAAU;IACV,MAAM;IACN,SAAS;IACT,OAAO;IACP,WAAW;IACX,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,SAAS;IACT,kBAAkB;IAClB,MAAM;IACN,MAAM;IACN,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,OAAO;IACP,MAAM;IACN,KAAK;CACN,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dzhechkov/harness-cli",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.4",
|
|
4
4
|
"description": "The dz CLI — install AI skills for Claude Code, Codex, OpenCode, Hermes, OpenClaude, GitHub Copilot. 67 commands, 14 presets, 10 platform targets.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
package/sbom.json
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"hashes": [
|
|
26
26
|
{
|
|
27
27
|
"alg": "SHA-256",
|
|
28
|
-
"content": "
|
|
28
|
+
"content": "1f117cb9a9e3ebf8e1ddd9fcd9227c64afa93c4dee354851befdfb1c6f1d1e98"
|
|
29
29
|
}
|
|
30
30
|
]
|
|
31
31
|
},
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"hashes": [
|
|
86
86
|
{
|
|
87
87
|
"alg": "SHA-256",
|
|
88
|
-
"content": "
|
|
88
|
+
"content": "2adf5f4cd1cdb6f9300c50b67acf6031eb8dfa48eed9e44cceb0e87b705a3335"
|
|
89
89
|
}
|
|
90
90
|
]
|
|
91
91
|
},
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"hashes": [
|
|
96
96
|
{
|
|
97
97
|
"alg": "SHA-256",
|
|
98
|
-
"content": "
|
|
98
|
+
"content": "86d6f102999ac1b5183775cd8d721b71050ac55b024113f23cca6be1fe494a6c"
|
|
99
99
|
}
|
|
100
100
|
]
|
|
101
101
|
},
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
"hashes": [
|
|
106
106
|
{
|
|
107
107
|
"alg": "SHA-256",
|
|
108
|
-
"content": "
|
|
108
|
+
"content": "87e420d5db13a85a12cb185d9da2874c788bfdf26fd44a6400f3799a4b835ccc"
|
|
109
109
|
}
|
|
110
110
|
]
|
|
111
111
|
},
|
|
@@ -189,6 +189,46 @@
|
|
|
189
189
|
}
|
|
190
190
|
]
|
|
191
191
|
},
|
|
192
|
+
{
|
|
193
|
+
"type": "file",
|
|
194
|
+
"name": "dist/known-flags.d.ts",
|
|
195
|
+
"hashes": [
|
|
196
|
+
{
|
|
197
|
+
"alg": "SHA-256",
|
|
198
|
+
"content": "40403ed4e24cdf95cb2757653485d7cb4650ef8496af96927ab503c2a189c598"
|
|
199
|
+
}
|
|
200
|
+
]
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"type": "file",
|
|
204
|
+
"name": "dist/known-flags.d.ts.map",
|
|
205
|
+
"hashes": [
|
|
206
|
+
{
|
|
207
|
+
"alg": "SHA-256",
|
|
208
|
+
"content": "4ac14404f0c1d3c75c215fd7eb7b49c7b0b5d2e3f9fe9a22851117fc8944975b"
|
|
209
|
+
}
|
|
210
|
+
]
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"type": "file",
|
|
214
|
+
"name": "dist/known-flags.js",
|
|
215
|
+
"hashes": [
|
|
216
|
+
{
|
|
217
|
+
"alg": "SHA-256",
|
|
218
|
+
"content": "a3a40afcc63df47a39512dfc243f989fdf5dabe205342d76ee9ca77e33646976"
|
|
219
|
+
}
|
|
220
|
+
]
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"type": "file",
|
|
224
|
+
"name": "dist/known-flags.js.map",
|
|
225
|
+
"hashes": [
|
|
226
|
+
{
|
|
227
|
+
"alg": "SHA-256",
|
|
228
|
+
"content": "8e9dadaf3a205827c7b5dec03a73b2ab15a6ea775e4d6fc58314065c2a43851b"
|
|
229
|
+
}
|
|
230
|
+
]
|
|
231
|
+
},
|
|
192
232
|
{
|
|
193
233
|
"type": "file",
|
|
194
234
|
"name": "keys/README.md",
|
|
@@ -215,7 +255,7 @@
|
|
|
215
255
|
"hashes": [
|
|
216
256
|
{
|
|
217
257
|
"alg": "SHA-256",
|
|
218
|
-
"content": "
|
|
258
|
+
"content": "95d92b6f95141dc44061f0d728d7df200d96518ee42f9ff9174cd0539263cc52"
|
|
219
259
|
}
|
|
220
260
|
]
|
|
221
261
|
},
|
|
@@ -235,7 +275,7 @@
|
|
|
235
275
|
"hashes": [
|
|
236
276
|
{
|
|
237
277
|
"alg": "SHA-256",
|
|
238
|
-
"content": "
|
|
278
|
+
"content": "9564c17c05ac595a2db3eef3ea547b39db88837c84e6efe6c1716fb9f7e16018"
|
|
239
279
|
}
|
|
240
280
|
]
|
|
241
281
|
},
|
|
@@ -258,6 +298,16 @@
|
|
|
258
298
|
"content": "d4258f3b183d03047aa07399ae96bdb2b3af83f0005127a24a39f8932982bf78"
|
|
259
299
|
}
|
|
260
300
|
]
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"type": "file",
|
|
304
|
+
"name": "src/known-flags.ts",
|
|
305
|
+
"hashes": [
|
|
306
|
+
{
|
|
307
|
+
"alg": "SHA-256",
|
|
308
|
+
"content": "59b255c1ba248365fe5e9432d7ec8933e73bfcb9cd2ce8e19cf8f85f96137163"
|
|
309
|
+
}
|
|
310
|
+
]
|
|
261
311
|
}
|
|
262
312
|
]
|
|
263
313
|
}
|
package/src/cli.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { appendFileSync, chmodSync, closeSync, cpSync, existsSync, fstatSync, lstatSync, mkdirSync, mkdtempSync, openSync, readFileSync, readSync, readdirSync, readlinkSync, realpathSync, renameSync, rmdirSync, rmSync, statSync, symlinkSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
8
8
|
import { basename, dirname, extname, isAbsolute, join, relative, resolve, sep } from 'node:path';
|
|
9
9
|
import { fileURLToPath } from 'node:url';
|
|
10
|
+
import { KNOWN_CLI_FLAGS } from './known-flags.js';
|
|
10
11
|
import { execFileSync, execSync, spawn, spawnSync, type ChildProcess } from 'node:child_process';
|
|
11
12
|
import { createHash, randomBytes } from 'node:crypto';
|
|
12
13
|
import { homedir, tmpdir } from 'node:os';
|
|
@@ -318,6 +319,7 @@ import {
|
|
|
318
319
|
buildRecap,
|
|
319
320
|
renderRecap,
|
|
320
321
|
parseSourceManifest,
|
|
322
|
+
unknownFlagNotice,
|
|
321
323
|
mirrorWriterExplanation,
|
|
322
324
|
appendRecallUsage,
|
|
323
325
|
closenessLine,
|
|
@@ -12865,6 +12867,16 @@ export async function runCli(argv: string[], io: CliIo = {}): Promise<number> {
|
|
|
12865
12867
|
};
|
|
12866
12868
|
const { command, options, optionLists, flags } = parseArgs(argv);
|
|
12867
12869
|
|
|
12870
|
+
// An unrecognised `--flag` must not pass in silence. MEASURED 2026-08-24: `dz recall "x" --breif
|
|
12871
|
+
// --limit 2` printed the full ordinary output and exited 0, so a typo read as "the mode worked".
|
|
12872
|
+
// It WARNS rather than refuses, and the reason is measured, not cautious: 53 of the names this CLI
|
|
12873
|
+
// reads appear nowhere in help, and static extraction over the dispatch table lost `--week` from
|
|
12874
|
+
// `dz recap` — a refusal built on either list would reject working commands, which is a worse
|
|
12875
|
+
// failure than the one being fixed. Goes to STDERR so a `--json` consumer's stdout stays clean.
|
|
12876
|
+
for (const notice of unknownFlagNotice([...flags, ...options.keys()].filter((k) => !k.startsWith('_positional_')), KNOWN_CLI_FLAGS)) {
|
|
12877
|
+
writeErr(notice.line);
|
|
12878
|
+
}
|
|
12879
|
+
|
|
12868
12880
|
// ── `dz --version` / `dz -v` / `dz version` — PRE-DISPATCH, before the help branch ──
|
|
12869
12881
|
//
|
|
12870
12882
|
// Until now `dz --version` printed the whole USAGE manual and exited 0 (MEASURED 2026-08-17,
|