@cleocode/contracts 2026.10.27 → 2026.11.1-canary.3
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/README.md +2 -0
- package/dist/.source-stamp.json +4 -0
- package/dist/__tests__/acceptance-gate.test.js +15 -3
- package/dist/__tests__/acceptance-gate.test.js.map +1 -1
- package/dist/__tests__/evidence-atom-schema.test.js +3 -1
- package/dist/__tests__/evidence-atom-schema.test.js.map +1 -1
- package/dist/__tests__/memory-wire-shapes.test.js.map +1 -1
- package/dist/acceptance-gate-schema.d.ts +25 -0
- package/dist/acceptance-gate-schema.d.ts.map +1 -1
- package/dist/acceptance-gate-schema.js +5 -0
- package/dist/acceptance-gate-schema.js.map +1 -1
- package/dist/acceptance-gate.d.ts +8 -0
- package/dist/acceptance-gate.d.ts.map +1 -1
- package/dist/data-accessor.d.ts +7 -0
- package/dist/data-accessor.d.ts.map +1 -1
- package/dist/data-accessor.js.map +1 -1
- package/dist/dependency.d.ts +2 -0
- package/dist/dependency.d.ts.map +1 -1
- package/dist/dispatch/operations-registry.d.ts.map +1 -1
- package/dist/dispatch/operations-registry.js +216 -0
- package/dist/dispatch/operations-registry.js.map +1 -1
- package/dist/docs/modernize.d.ts +435 -0
- package/dist/docs/modernize.d.ts.map +1 -0
- package/dist/docs/modernize.js +137 -0
- package/dist/docs/modernize.js.map +1 -0
- package/dist/docs-taxonomy.d.ts +6 -0
- package/dist/docs-taxonomy.d.ts.map +1 -1
- package/dist/docs-taxonomy.js +38 -1
- package/dist/docs-taxonomy.js.map +1 -1
- package/dist/done-plan.d.ts +27 -2
- package/dist/done-plan.d.ts.map +1 -1
- package/dist/evidence-atom-schema.d.ts +78 -4
- package/dist/evidence-atom-schema.d.ts.map +1 -1
- package/dist/evidence-atom-schema.js +136 -11
- package/dist/evidence-atom-schema.js.map +1 -1
- package/dist/exit-codes.d.ts +41 -0
- package/dist/exit-codes.d.ts.map +1 -1
- package/dist/exit-codes.js +41 -0
- package/dist/exit-codes.js.map +1 -1
- package/dist/index.d.ts +9 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/invariants/sync-write-invariants.d.ts.map +1 -1
- package/dist/invariants/sync-write-invariants.js +15 -0
- package/dist/invariants/sync-write-invariants.js.map +1 -1
- package/dist/memory/search.d.ts +13 -0
- package/dist/memory/search.d.ts.map +1 -1
- package/dist/merge-close.d.ts +167 -0
- package/dist/merge-close.d.ts.map +1 -0
- package/dist/merge-close.js +16 -0
- package/dist/merge-close.js.map +1 -0
- package/dist/operations/admin.d.ts +6 -0
- package/dist/operations/admin.d.ts.map +1 -1
- package/dist/operations/docs.d.ts +192 -3
- package/dist/operations/docs.d.ts.map +1 -1
- package/dist/operations/docs.js.map +1 -1
- package/dist/operations/worktree.d.ts +63 -0
- package/dist/operations/worktree.d.ts.map +1 -1
- package/dist/project-context.d.ts +31 -0
- package/dist/project-context.d.ts.map +1 -1
- package/dist/release/authorization.d.ts +46 -0
- package/dist/release/authorization.d.ts.map +1 -0
- package/dist/release/authorization.js +10 -0
- package/dist/release/authorization.js.map +1 -0
- package/dist/review-verdict.d.ts +125 -0
- package/dist/review-verdict.d.ts.map +1 -0
- package/dist/review-verdict.js +14 -0
- package/dist/review-verdict.js.map +1 -0
- package/dist/session-journal.d.ts.map +1 -1
- package/dist/session-journal.js +7 -1
- package/dist/session-journal.js.map +1 -1
- package/dist/task-record.d.ts +6 -1
- package/dist/task-record.d.ts.map +1 -1
- package/dist/task.d.ts +130 -3
- package/dist/task.d.ts.map +1 -1
- package/package.json +2 -2
- package/schemas/acceptance-gate.schema.json +24 -0
- package/schemas/task.schema.json +24 -0
- package/src/__tests__/__snapshots__/operations-registry.test.ts.snap +1 -1
- package/src/__tests__/acceptance-gate.test.ts +16 -3
- package/src/__tests__/evidence-atom-schema.test.ts +3 -1
- package/src/__tests__/memory-wire-shapes.test.ts +2 -0
- package/src/acceptance-gate-schema.ts +5 -0
- package/src/acceptance-gate.ts +9 -0
- package/src/data-accessor.ts +8 -0
- package/src/dependency.ts +2 -0
- package/src/dispatch/operations-registry.ts +228 -0
- package/src/docs/modernize.ts +407 -0
- package/src/docs-taxonomy.ts +44 -1
- package/src/done-plan.ts +27 -2
- package/src/evidence-atom-schema.ts +167 -14
- package/src/exit-codes.ts +41 -0
- package/src/index.ts +55 -0
- package/src/invariants/sync-write-invariants.ts +16 -0
- package/src/memory/search.ts +10 -0
- package/src/merge-close.ts +168 -0
- package/src/operations/admin.ts +6 -0
- package/src/operations/docs.ts +199 -4
- package/src/operations/worktree.ts +66 -0
- package/src/project-context.ts +33 -0
- package/src/release/authorization.ts +48 -0
- package/src/review-verdict.ts +122 -0
- package/src/session-journal.ts +7 -1
- package/src/task-record.ts +6 -1
- package/src/task.ts +124 -3
|
@@ -0,0 +1,435 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Docs modernize contract — the plan and receipt of `cleo docs modernize`.
|
|
3
|
+
*
|
|
4
|
+
* `cleo docs modernize <path>` turns a messy docs folder into clean, linked
|
|
5
|
+
* CleoDocs. A dry run produces a {@link DocsModernizePlan}: one
|
|
6
|
+
* {@link DocsModernizePlanRow} per markdown or text file, carrying the kind,
|
|
7
|
+
* the stable slug, the disposition and the reasons (including every System
|
|
8
|
+
* One judgment that was asked). `--apply` executes a plan and writes a
|
|
9
|
+
* {@link DocsModernizeReceipt}; every receipt op records the state it
|
|
10
|
+
* replaced, so `--rollback <runId>` can reverse the run.
|
|
11
|
+
*
|
|
12
|
+
* Types only — the planner and applier live in
|
|
13
|
+
* `packages/core/src/docs/modernize/`.
|
|
14
|
+
*
|
|
15
|
+
* @task T14113
|
|
16
|
+
* @epic T14106
|
|
17
|
+
*/
|
|
18
|
+
import { z } from 'zod';
|
|
19
|
+
/** What modernize does with one file. */
|
|
20
|
+
export declare const DOCS_MODERNIZE_DISPOSITIONS: readonly ["keep", "rename", "merge-into", "delete"];
|
|
21
|
+
/**
|
|
22
|
+
* One of {@link DOCS_MODERNIZE_DISPOSITIONS}.
|
|
23
|
+
*
|
|
24
|
+
* - `keep` — the file already sits at its canonical path; it is ingested as is.
|
|
25
|
+
* - `rename` — the file moves to `<kind folder>/<slug>.md` and is ingested there.
|
|
26
|
+
* - `merge-into` — the file duplicates another; its content folds into the
|
|
27
|
+
* survivor named by `target`, and the file is superseded and removed.
|
|
28
|
+
* - `delete` — the file carries nothing worth keeping (empty, or byte-identical
|
|
29
|
+
* to the survivor); it is superseded by `target` when one exists and removed.
|
|
30
|
+
*/
|
|
31
|
+
export type DocsModernizeDisposition = (typeof DOCS_MODERNIZE_DISPOSITIONS)[number];
|
|
32
|
+
/** Where an acted-on answer came from. */
|
|
33
|
+
export type DocsModernizeJudgmentSource = 'provider' | 'cache' | 'fallback';
|
|
34
|
+
/** The two System One questions modernize asks. */
|
|
35
|
+
export type DocsModernizeJudgmentQuestion = 'classify' | 'merge';
|
|
36
|
+
/**
|
|
37
|
+
* One judgment taken for a plan row: the rule answer, the System One answer
|
|
38
|
+
* when one was asked, and which of the two acted.
|
|
39
|
+
*/
|
|
40
|
+
export interface DocsModernizeJudgment {
|
|
41
|
+
/** Which question was judged. */
|
|
42
|
+
readonly question: DocsModernizeJudgmentQuestion;
|
|
43
|
+
/** Decision-site id the question was asked through (`docs.modernize.*`). */
|
|
44
|
+
readonly site: string;
|
|
45
|
+
/** Effective site mode (`off`, `shadow` or `on`). */
|
|
46
|
+
readonly mode: 'off' | 'shadow' | 'on';
|
|
47
|
+
/** The rule fallback's answer. */
|
|
48
|
+
readonly ruleAnswer: string;
|
|
49
|
+
/** The System One answer, or null when none came back (off, unreachable, invalid). */
|
|
50
|
+
readonly decidedAnswer: string | null;
|
|
51
|
+
/** Confidence of the System One answer, or null when none came back. */
|
|
52
|
+
readonly decidedConfidence: number | null;
|
|
53
|
+
/** Where the decided answer came from; `fallback` when the rule answered. */
|
|
54
|
+
readonly source: DocsModernizeJudgmentSource;
|
|
55
|
+
/** The answer the plan acts on. */
|
|
56
|
+
readonly acted: string;
|
|
57
|
+
}
|
|
58
|
+
/** One file's proposal. */
|
|
59
|
+
export interface DocsModernizePlanRow {
|
|
60
|
+
/** Path relative to the modernize root, POSIX separators. */
|
|
61
|
+
readonly path: string;
|
|
62
|
+
/** SHA-256 of the file bytes, hex. */
|
|
63
|
+
readonly sha256: string;
|
|
64
|
+
/** Taxonomy kind (a `DocKindRegistry` kind). */
|
|
65
|
+
readonly kind: string;
|
|
66
|
+
/** Stable slug: no task, session or date tokens. */
|
|
67
|
+
readonly slug: string;
|
|
68
|
+
/** Human title (first H1, else derived from the slug). */
|
|
69
|
+
readonly title: string;
|
|
70
|
+
/** What happens to the file. */
|
|
71
|
+
readonly disposition: DocsModernizeDisposition;
|
|
72
|
+
/**
|
|
73
|
+
* For `keep` / `rename`: the canonical path relative to the root.
|
|
74
|
+
* For `merge-into` / `delete`: the survivor's slug, or null when there is none.
|
|
75
|
+
*/
|
|
76
|
+
readonly target: string | null;
|
|
77
|
+
/** Why, one line each. */
|
|
78
|
+
readonly reasons: readonly string[];
|
|
79
|
+
/** Every System One question asked for this row. */
|
|
80
|
+
readonly judgments: readonly DocsModernizeJudgment[];
|
|
81
|
+
/** Task (`T####`) and decision (`D####`) ids the old path named; kept as links, not in the slug. */
|
|
82
|
+
readonly ownerTasks: readonly string[];
|
|
83
|
+
/** The kind's folder the file belongs in (`''` for the root). */
|
|
84
|
+
readonly category: string;
|
|
85
|
+
/** Tracked files outside the root that cite the old path (listed, never rewritten). */
|
|
86
|
+
readonly refs: readonly string[];
|
|
87
|
+
/** True when the row came from an override file rather than the rules. */
|
|
88
|
+
readonly overridden: boolean;
|
|
89
|
+
/** Code paths this doc documents (from the override; written to front matter by the caller). */
|
|
90
|
+
readonly covers: readonly string[];
|
|
91
|
+
/** True when the old name broke the slug rule (task, session or date tokens) and the new one does not. */
|
|
92
|
+
readonly baselineRemove: boolean;
|
|
93
|
+
}
|
|
94
|
+
/** One reviewer decision for a path; it wins over the rules and System One. */
|
|
95
|
+
export interface DocsModernizeOverride {
|
|
96
|
+
/** What happens to the file. */
|
|
97
|
+
readonly disposition: DocsModernizeDisposition;
|
|
98
|
+
/** Canonical path (`keep`/`rename`) or survivor slug (`merge-into`/`delete`). */
|
|
99
|
+
readonly target?: string;
|
|
100
|
+
/** Why; recorded on the plan row. */
|
|
101
|
+
readonly reason: string;
|
|
102
|
+
/** Kind to use instead of the classified one. */
|
|
103
|
+
readonly kind?: string;
|
|
104
|
+
/** Slug to use instead of the derived one. */
|
|
105
|
+
readonly slug?: string;
|
|
106
|
+
/** Code paths this doc documents, copied onto the plan row. */
|
|
107
|
+
readonly covers?: readonly string[];
|
|
108
|
+
}
|
|
109
|
+
/** `--overrides <file>`: decisions keyed by path relative to the modernize root. */
|
|
110
|
+
export type DocsModernizeOverrides = Readonly<Record<string, DocsModernizeOverride>>;
|
|
111
|
+
/** A dry-run proposal for a whole tree. */
|
|
112
|
+
export interface DocsModernizePlan {
|
|
113
|
+
/** Absolute modernize root. */
|
|
114
|
+
readonly root: string;
|
|
115
|
+
/** ISO 8601 time the plan was made. */
|
|
116
|
+
readonly generatedAt: string;
|
|
117
|
+
/** One row per scanned file, sorted by path. */
|
|
118
|
+
readonly rows: readonly DocsModernizePlanRow[];
|
|
119
|
+
/** Files counted per disposition. */
|
|
120
|
+
readonly counts: Readonly<Record<DocsModernizeDisposition, number>>;
|
|
121
|
+
/**
|
|
122
|
+
* `tree` reorganises the folder; `store-only` ingests every file into the
|
|
123
|
+
* store (task-owned, slugless) and leaves the folder untouched; `store`
|
|
124
|
+
* re-kinds and re-slugs the rows already in the store (`storeRows`, T14118).
|
|
125
|
+
*/
|
|
126
|
+
readonly mode: 'tree' | 'store-only' | 'store';
|
|
127
|
+
/** Store-mode rows (`mode: 'store'`); absent or empty otherwise. */
|
|
128
|
+
readonly storeRows?: readonly DocsModernizeStoreRow[];
|
|
129
|
+
/**
|
|
130
|
+
* The only edits `--apply` makes to `keep` files (`tree` mode, T14185): one
|
|
131
|
+
* row per relative link whose target moves. Absent or empty means kept
|
|
132
|
+
* files are not touched.
|
|
133
|
+
*/
|
|
134
|
+
readonly linkFixes?: readonly DocsModernizeLinkFix[];
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* One href re-pointed inside a `keep` file because its target moves
|
|
138
|
+
* (T14185). Only the href changes; the rest of the file stays byte-identical.
|
|
139
|
+
*/
|
|
140
|
+
export interface DocsModernizeLinkFix {
|
|
141
|
+
/** Always `link-fix`. */
|
|
142
|
+
readonly kind: 'link-fix';
|
|
143
|
+
/** The kept file, relative to the root. */
|
|
144
|
+
readonly path: string;
|
|
145
|
+
/** The href as written now. */
|
|
146
|
+
readonly href: string;
|
|
147
|
+
/** The href after the move. */
|
|
148
|
+
readonly newHref: string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* One existing store doc in a `--store` plan (T14118): its kind and slug now,
|
|
152
|
+
* and what modernize proposes. An unchanged field repeats the current value.
|
|
153
|
+
*/
|
|
154
|
+
export interface DocsModernizeStoreRow {
|
|
155
|
+
/** Attachment row id. */
|
|
156
|
+
readonly attachmentId: string;
|
|
157
|
+
/** Content hash. */
|
|
158
|
+
readonly sha256: string;
|
|
159
|
+
/** Current slug (null for a slugless row). */
|
|
160
|
+
readonly slug: string | null;
|
|
161
|
+
/** Proposed slug; the current one stays resolvable as an alias. */
|
|
162
|
+
readonly newSlug: string | null;
|
|
163
|
+
/** Current kind (null when untyped). */
|
|
164
|
+
readonly kind: string | null;
|
|
165
|
+
/** Proposed kind. */
|
|
166
|
+
readonly newKind: string;
|
|
167
|
+
/** Task ids the old slug named; linked to the doc as task refs. */
|
|
168
|
+
readonly ownerTasks: readonly string[];
|
|
169
|
+
/** Why, one line each. */
|
|
170
|
+
readonly reasons: readonly string[];
|
|
171
|
+
/** Every System One question asked for this row. */
|
|
172
|
+
readonly judgments: readonly DocsModernizeJudgment[];
|
|
173
|
+
}
|
|
174
|
+
/** The reversible steps an apply run takes. */
|
|
175
|
+
export declare const DOCS_MODERNIZE_OPS: readonly ["ingest", "merge", "fold", "supersede", "write-file", "remove-file", "link", "rekind", "reslug", "link-task"];
|
|
176
|
+
/** One of {@link DOCS_MODERNIZE_OPS}. */
|
|
177
|
+
export type DocsModernizeOpKind = (typeof DOCS_MODERNIZE_OPS)[number];
|
|
178
|
+
/**
|
|
179
|
+
* Write-ahead state of a receipt op: written `pending` before the step acts,
|
|
180
|
+
* `done` after it, `reversed` once a rollback has undone it.
|
|
181
|
+
*/
|
|
182
|
+
export type DocsModernizeOpState = 'pending' | 'done' | 'reversed';
|
|
183
|
+
/** Store values a step replaced, so a rollback restores them exactly. */
|
|
184
|
+
export interface DocsModernizeOpPrior {
|
|
185
|
+
/** `supersede`: the older row's lifecycle status before the step. */
|
|
186
|
+
readonly lifecycleStatus?: string | null;
|
|
187
|
+
/** `supersede`: the older row's `superseded_by` before the step. */
|
|
188
|
+
readonly supersededBy?: string | null;
|
|
189
|
+
/** `supersede`: the newer row's `supersedes` before the step. */
|
|
190
|
+
readonly supersedes?: string | null;
|
|
191
|
+
/** `merge`: the row that held the slug before the update. */
|
|
192
|
+
readonly previousAttachmentId?: string | null;
|
|
193
|
+
/** `merge`: the row the update moved the slug to. */
|
|
194
|
+
readonly newAttachmentId?: string | null;
|
|
195
|
+
/** `link`: the slug's `links-to` targets before the step. */
|
|
196
|
+
readonly linkTargets?: readonly string[];
|
|
197
|
+
/** `rekind`: the row's kind before the step. */
|
|
198
|
+
readonly kind?: string | null;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* One step with the state it replaced.
|
|
202
|
+
*
|
|
203
|
+
* - `ingest` — a doc stored under `slug` (or slugless) for `ownerId`; `attachmentId` is the row.
|
|
204
|
+
* - `merge` — the stored doc `slug` was updated with merged content; `prior` names both rows.
|
|
205
|
+
* - `fold` — the file `path` was folded into the survivor `target` (content went there).
|
|
206
|
+
* - `supersede` — `slug` was superseded by `target`; `prior` holds the replaced pointers.
|
|
207
|
+
* - `write-file` — `path` was written; `beforeSha256` is the old bytes, or null when it was new.
|
|
208
|
+
* - `remove-file` — `path` was removed; `beforeSha256` names the bytes kept for rollback.
|
|
209
|
+
* - `link` — the `links-to` edges leaving `slug` were set; `prior.linkTargets` holds the old set.
|
|
210
|
+
* - `rekind` — the row `attachmentId` changed kind; `prior.kind` holds the old one (T14118).
|
|
211
|
+
* - `reslug` — `slug` was renamed to `target`; `slug` stays an alias (T14118).
|
|
212
|
+
* - `link-task` — the row `attachmentId` gained a ref to task `ownerId` (T14118).
|
|
213
|
+
*/
|
|
214
|
+
export interface DocsModernizeReceiptOp {
|
|
215
|
+
/** Step kind. */
|
|
216
|
+
readonly op: DocsModernizeOpKind;
|
|
217
|
+
/** Write-ahead state. */
|
|
218
|
+
readonly state: DocsModernizeOpState;
|
|
219
|
+
/** Doc slug the step touched, when any. */
|
|
220
|
+
readonly slug: string | null;
|
|
221
|
+
/** File path relative to the root, when any. */
|
|
222
|
+
readonly path: string | null;
|
|
223
|
+
/** The other end: survivor slug for `supersede` and `fold`. */
|
|
224
|
+
readonly target: string | null;
|
|
225
|
+
/** Attachment row created or touched by the step, when any. */
|
|
226
|
+
readonly attachmentId: string | null;
|
|
227
|
+
/** Owner the `ingest` ref was made for (`T####` or the project sentinel); rollback drops that ref. */
|
|
228
|
+
readonly ownerId: string | null;
|
|
229
|
+
/** Content the step replaced or removed, when any. */
|
|
230
|
+
readonly beforeSha256: string | null;
|
|
231
|
+
/** Content the step wrote, when any. */
|
|
232
|
+
readonly afterSha256: string | null;
|
|
233
|
+
/** Store values the step replaced. */
|
|
234
|
+
readonly prior?: DocsModernizeOpPrior;
|
|
235
|
+
}
|
|
236
|
+
/** The record of one apply run; the input to rollback. */
|
|
237
|
+
export interface DocsModernizeReceipt {
|
|
238
|
+
/** Run id (`dm-<timestamp>`); names the receipt file. */
|
|
239
|
+
readonly runId: string;
|
|
240
|
+
/** Absolute modernize root. */
|
|
241
|
+
readonly root: string;
|
|
242
|
+
/** ISO 8601 time the run started. */
|
|
243
|
+
readonly appliedAt: string;
|
|
244
|
+
/** SHA-256 of the canonical JSON of the plan that was applied. */
|
|
245
|
+
readonly planSha256: string;
|
|
246
|
+
/** Steps in the order they ran. */
|
|
247
|
+
readonly ops: readonly DocsModernizeReceiptOp[];
|
|
248
|
+
/** Wikilink edges in the graph after the run. */
|
|
249
|
+
readonly edgeCount: number;
|
|
250
|
+
/** Every scanned file whose bytes were hash-verified in the blob store, before any removal. */
|
|
251
|
+
readonly blobs: readonly {
|
|
252
|
+
readonly path: string;
|
|
253
|
+
readonly sha256: string;
|
|
254
|
+
}[];
|
|
255
|
+
/** Files moved, relative to the root (stage exactly these). */
|
|
256
|
+
readonly moves: readonly {
|
|
257
|
+
readonly from: string;
|
|
258
|
+
readonly to: string;
|
|
259
|
+
}[];
|
|
260
|
+
/** Files removed, relative to the root. */
|
|
261
|
+
readonly deleted: readonly string[];
|
|
262
|
+
/** ISO 8601 time the run was rolled back, or null. */
|
|
263
|
+
readonly rolledBackAt: string | null;
|
|
264
|
+
/** Wall time of the apply, in ms (store mode). */
|
|
265
|
+
readonly durationMs?: number;
|
|
266
|
+
}
|
|
267
|
+
/** Shape check for a {@link DocsModernizePlan} read from a `--plan` file. */
|
|
268
|
+
export declare const docsModernizePlanSchema: z.ZodObject<{
|
|
269
|
+
root: z.ZodString;
|
|
270
|
+
generatedAt: z.ZodString;
|
|
271
|
+
mode: z.ZodEnum<{
|
|
272
|
+
tree: "tree";
|
|
273
|
+
"store-only": "store-only";
|
|
274
|
+
}>;
|
|
275
|
+
counts: z.ZodRecord<z.ZodEnum<{
|
|
276
|
+
keep: "keep";
|
|
277
|
+
delete: "delete";
|
|
278
|
+
rename: "rename";
|
|
279
|
+
"merge-into": "merge-into";
|
|
280
|
+
}>, z.ZodNumber>;
|
|
281
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
282
|
+
path: z.ZodString;
|
|
283
|
+
sha256: z.ZodString;
|
|
284
|
+
kind: z.ZodString;
|
|
285
|
+
slug: z.ZodString;
|
|
286
|
+
title: z.ZodString;
|
|
287
|
+
disposition: z.ZodEnum<{
|
|
288
|
+
keep: "keep";
|
|
289
|
+
delete: "delete";
|
|
290
|
+
rename: "rename";
|
|
291
|
+
"merge-into": "merge-into";
|
|
292
|
+
}>;
|
|
293
|
+
target: z.ZodNullable<z.ZodString>;
|
|
294
|
+
reasons: z.ZodArray<z.ZodString>;
|
|
295
|
+
judgments: z.ZodArray<z.ZodObject<{
|
|
296
|
+
question: z.ZodEnum<{
|
|
297
|
+
merge: "merge";
|
|
298
|
+
classify: "classify";
|
|
299
|
+
}>;
|
|
300
|
+
site: z.ZodString;
|
|
301
|
+
mode: z.ZodEnum<{
|
|
302
|
+
off: "off";
|
|
303
|
+
shadow: "shadow";
|
|
304
|
+
on: "on";
|
|
305
|
+
}>;
|
|
306
|
+
ruleAnswer: z.ZodString;
|
|
307
|
+
decidedAnswer: z.ZodNullable<z.ZodString>;
|
|
308
|
+
decidedConfidence: z.ZodNullable<z.ZodNumber>;
|
|
309
|
+
source: z.ZodEnum<{
|
|
310
|
+
cache: "cache";
|
|
311
|
+
fallback: "fallback";
|
|
312
|
+
provider: "provider";
|
|
313
|
+
}>;
|
|
314
|
+
acted: z.ZodString;
|
|
315
|
+
}, z.core.$strip>>;
|
|
316
|
+
ownerTasks: z.ZodArray<z.ZodString>;
|
|
317
|
+
category: z.ZodString;
|
|
318
|
+
refs: z.ZodArray<z.ZodString>;
|
|
319
|
+
overridden: z.ZodBoolean;
|
|
320
|
+
covers: z.ZodArray<z.ZodString>;
|
|
321
|
+
baselineRemove: z.ZodBoolean;
|
|
322
|
+
}, z.core.$strip>>;
|
|
323
|
+
linkFixes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
324
|
+
kind: z.ZodLiteral<"link-fix">;
|
|
325
|
+
path: z.ZodString;
|
|
326
|
+
href: z.ZodString;
|
|
327
|
+
newHref: z.ZodString;
|
|
328
|
+
}, z.core.$strip>>>;
|
|
329
|
+
}, z.core.$strip>;
|
|
330
|
+
/** Shape check for an `--overrides` file ({@link DocsModernizeOverrides}). */
|
|
331
|
+
export declare const docsModernizeOverridesSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
332
|
+
disposition: z.ZodEnum<{
|
|
333
|
+
keep: "keep";
|
|
334
|
+
delete: "delete";
|
|
335
|
+
rename: "rename";
|
|
336
|
+
"merge-into": "merge-into";
|
|
337
|
+
}>;
|
|
338
|
+
target: z.ZodOptional<z.ZodString>;
|
|
339
|
+
reason: z.ZodString;
|
|
340
|
+
kind: z.ZodOptional<z.ZodString>;
|
|
341
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
342
|
+
covers: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
343
|
+
}, z.core.$strip>>;
|
|
344
|
+
/** Shape check for one line of a run's write-ahead journal (`<runId>.ops.jsonl`). */
|
|
345
|
+
export declare const docsModernizeJournalLineSchema: z.ZodObject<{
|
|
346
|
+
op: z.ZodEnum<{
|
|
347
|
+
link: "link";
|
|
348
|
+
merge: "merge";
|
|
349
|
+
ingest: "ingest";
|
|
350
|
+
fold: "fold";
|
|
351
|
+
supersede: "supersede";
|
|
352
|
+
"write-file": "write-file";
|
|
353
|
+
"remove-file": "remove-file";
|
|
354
|
+
rekind: "rekind";
|
|
355
|
+
reslug: "reslug";
|
|
356
|
+
"link-task": "link-task";
|
|
357
|
+
}>;
|
|
358
|
+
state: z.ZodEnum<{
|
|
359
|
+
pending: "pending";
|
|
360
|
+
done: "done";
|
|
361
|
+
reversed: "reversed";
|
|
362
|
+
}>;
|
|
363
|
+
slug: z.ZodNullable<z.ZodString>;
|
|
364
|
+
path: z.ZodNullable<z.ZodString>;
|
|
365
|
+
target: z.ZodNullable<z.ZodString>;
|
|
366
|
+
attachmentId: z.ZodNullable<z.ZodString>;
|
|
367
|
+
ownerId: z.ZodNullable<z.ZodString>;
|
|
368
|
+
beforeSha256: z.ZodNullable<z.ZodString>;
|
|
369
|
+
afterSha256: z.ZodNullable<z.ZodString>;
|
|
370
|
+
prior: z.ZodOptional<z.ZodObject<{
|
|
371
|
+
lifecycleStatus: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
372
|
+
supersededBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
373
|
+
supersedes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
374
|
+
previousAttachmentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
375
|
+
newAttachmentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
376
|
+
linkTargets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
377
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
378
|
+
}, z.core.$strip>>;
|
|
379
|
+
i: z.ZodNumber;
|
|
380
|
+
}, z.core.$strip>;
|
|
381
|
+
/** Shape check for a {@link DocsModernizeReceipt} read back for rollback. */
|
|
382
|
+
export declare const docsModernizeReceiptSchema: z.ZodObject<{
|
|
383
|
+
runId: z.ZodString;
|
|
384
|
+
root: z.ZodString;
|
|
385
|
+
appliedAt: z.ZodString;
|
|
386
|
+
planSha256: z.ZodString;
|
|
387
|
+
edgeCount: z.ZodNumber;
|
|
388
|
+
rolledBackAt: z.ZodNullable<z.ZodString>;
|
|
389
|
+
blobs: z.ZodArray<z.ZodObject<{
|
|
390
|
+
path: z.ZodString;
|
|
391
|
+
sha256: z.ZodString;
|
|
392
|
+
}, z.core.$strip>>;
|
|
393
|
+
moves: z.ZodArray<z.ZodObject<{
|
|
394
|
+
from: z.ZodString;
|
|
395
|
+
to: z.ZodString;
|
|
396
|
+
}, z.core.$strip>>;
|
|
397
|
+
deleted: z.ZodArray<z.ZodString>;
|
|
398
|
+
ops: z.ZodArray<z.ZodObject<{
|
|
399
|
+
op: z.ZodEnum<{
|
|
400
|
+
link: "link";
|
|
401
|
+
merge: "merge";
|
|
402
|
+
ingest: "ingest";
|
|
403
|
+
fold: "fold";
|
|
404
|
+
supersede: "supersede";
|
|
405
|
+
"write-file": "write-file";
|
|
406
|
+
"remove-file": "remove-file";
|
|
407
|
+
rekind: "rekind";
|
|
408
|
+
reslug: "reslug";
|
|
409
|
+
"link-task": "link-task";
|
|
410
|
+
}>;
|
|
411
|
+
state: z.ZodEnum<{
|
|
412
|
+
pending: "pending";
|
|
413
|
+
done: "done";
|
|
414
|
+
reversed: "reversed";
|
|
415
|
+
}>;
|
|
416
|
+
slug: z.ZodNullable<z.ZodString>;
|
|
417
|
+
path: z.ZodNullable<z.ZodString>;
|
|
418
|
+
target: z.ZodNullable<z.ZodString>;
|
|
419
|
+
attachmentId: z.ZodNullable<z.ZodString>;
|
|
420
|
+
ownerId: z.ZodNullable<z.ZodString>;
|
|
421
|
+
beforeSha256: z.ZodNullable<z.ZodString>;
|
|
422
|
+
afterSha256: z.ZodNullable<z.ZodString>;
|
|
423
|
+
prior: z.ZodOptional<z.ZodObject<{
|
|
424
|
+
lifecycleStatus: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
425
|
+
supersededBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
426
|
+
supersedes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
427
|
+
previousAttachmentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
428
|
+
newAttachmentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
429
|
+
linkTargets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
430
|
+
kind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
431
|
+
}, z.core.$strip>>;
|
|
432
|
+
}, z.core.$strip>>;
|
|
433
|
+
durationMs: z.ZodOptional<z.ZodNumber>;
|
|
434
|
+
}, z.core.$strip>;
|
|
435
|
+
//# sourceMappingURL=modernize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modernize.d.ts","sourceRoot":"","sources":["../../src/docs/modernize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Docs modernize contract — the plan and receipt of `cleo docs modernize`.
|
|
3
|
+
*
|
|
4
|
+
* `cleo docs modernize <path>` turns a messy docs folder into clean, linked
|
|
5
|
+
* CleoDocs. A dry run produces a {@link DocsModernizePlan}: one
|
|
6
|
+
* {@link DocsModernizePlanRow} per markdown or text file, carrying the kind,
|
|
7
|
+
* the stable slug, the disposition and the reasons (including every System
|
|
8
|
+
* One judgment that was asked). `--apply` executes a plan and writes a
|
|
9
|
+
* {@link DocsModernizeReceipt}; every receipt op records the state it
|
|
10
|
+
* replaced, so `--rollback <runId>` can reverse the run.
|
|
11
|
+
*
|
|
12
|
+
* Types only — the planner and applier live in
|
|
13
|
+
* `packages/core/src/docs/modernize/`.
|
|
14
|
+
*
|
|
15
|
+
* @task T14113
|
|
16
|
+
* @epic T14106
|
|
17
|
+
*/
|
|
18
|
+
import { z } from 'zod';
|
|
19
|
+
/** What modernize does with one file. */
|
|
20
|
+
export const DOCS_MODERNIZE_DISPOSITIONS = ['keep', 'rename', 'merge-into', 'delete'];
|
|
21
|
+
/** The reversible steps an apply run takes. */
|
|
22
|
+
export const DOCS_MODERNIZE_OPS = [
|
|
23
|
+
'ingest',
|
|
24
|
+
'merge',
|
|
25
|
+
'fold',
|
|
26
|
+
'supersede',
|
|
27
|
+
'write-file',
|
|
28
|
+
'remove-file',
|
|
29
|
+
'link',
|
|
30
|
+
'rekind',
|
|
31
|
+
'reslug',
|
|
32
|
+
'link-task',
|
|
33
|
+
];
|
|
34
|
+
// ─── Schemas (a plan or receipt read from disk is untrusted input) ───────────
|
|
35
|
+
const judgmentSchema = z.object({
|
|
36
|
+
question: z.enum(['classify', 'merge']),
|
|
37
|
+
site: z.string(),
|
|
38
|
+
mode: z.enum(['off', 'shadow', 'on']),
|
|
39
|
+
ruleAnswer: z.string(),
|
|
40
|
+
decidedAnswer: z.string().nullable(),
|
|
41
|
+
decidedConfidence: z.number().nullable(),
|
|
42
|
+
source: z.enum(['provider', 'cache', 'fallback']),
|
|
43
|
+
acted: z.string(),
|
|
44
|
+
});
|
|
45
|
+
const relPath = z.string().min(1).max(1024);
|
|
46
|
+
/** Shape check for a {@link DocsModernizePlan} read from a `--plan` file. */
|
|
47
|
+
export const docsModernizePlanSchema = z.object({
|
|
48
|
+
root: z.string().min(1),
|
|
49
|
+
generatedAt: z.string(),
|
|
50
|
+
mode: z.enum(['tree', 'store-only']),
|
|
51
|
+
counts: z.record(z.enum(DOCS_MODERNIZE_DISPOSITIONS), z.number()),
|
|
52
|
+
rows: z.array(z.object({
|
|
53
|
+
path: relPath,
|
|
54
|
+
sha256: z.string().regex(/^[0-9a-f]{64}$/),
|
|
55
|
+
kind: z.string().min(1),
|
|
56
|
+
slug: z.string().regex(/^[a-z0-9][a-z0-9-]*$/),
|
|
57
|
+
title: z.string(),
|
|
58
|
+
disposition: z.enum(DOCS_MODERNIZE_DISPOSITIONS),
|
|
59
|
+
target: z.string().min(1).max(1024).nullable(),
|
|
60
|
+
reasons: z.array(z.string()),
|
|
61
|
+
judgments: z.array(judgmentSchema),
|
|
62
|
+
ownerTasks: z.array(z.string().regex(/^[TD]\d+$/)),
|
|
63
|
+
category: z.string(),
|
|
64
|
+
refs: z.array(z.string()),
|
|
65
|
+
overridden: z.boolean(),
|
|
66
|
+
covers: z.array(z.string()),
|
|
67
|
+
baselineRemove: z.boolean(),
|
|
68
|
+
})),
|
|
69
|
+
linkFixes: z
|
|
70
|
+
.array(z.object({
|
|
71
|
+
kind: z.literal('link-fix'),
|
|
72
|
+
path: relPath,
|
|
73
|
+
href: z.string().min(1).max(2048),
|
|
74
|
+
newHref: z.string().min(1).max(2048),
|
|
75
|
+
}))
|
|
76
|
+
.optional(),
|
|
77
|
+
});
|
|
78
|
+
/** Shape check for an `--overrides` file ({@link DocsModernizeOverrides}). */
|
|
79
|
+
export const docsModernizeOverridesSchema = z.record(relPath, z.object({
|
|
80
|
+
disposition: z.enum(DOCS_MODERNIZE_DISPOSITIONS),
|
|
81
|
+
target: z.string().min(1).max(1024).optional(),
|
|
82
|
+
reason: z.string().min(1),
|
|
83
|
+
kind: z.string().min(1).optional(),
|
|
84
|
+
slug: z
|
|
85
|
+
.string()
|
|
86
|
+
.regex(/^[a-z0-9][a-z0-9-]*$/)
|
|
87
|
+
.optional(),
|
|
88
|
+
covers: z.array(z.string()).optional(),
|
|
89
|
+
}));
|
|
90
|
+
/** Shape check for one receipt op. */
|
|
91
|
+
const receiptOpSchema = z.object({
|
|
92
|
+
op: z.enum(DOCS_MODERNIZE_OPS),
|
|
93
|
+
state: z.enum(['pending', 'done', 'reversed']),
|
|
94
|
+
slug: z.string().nullable(),
|
|
95
|
+
path: relPath.nullable(),
|
|
96
|
+
target: z.string().nullable(),
|
|
97
|
+
attachmentId: z.string().nullable(),
|
|
98
|
+
ownerId: z.string().nullable(),
|
|
99
|
+
beforeSha256: z
|
|
100
|
+
.string()
|
|
101
|
+
.regex(/^[0-9a-f]{64}$/)
|
|
102
|
+
.nullable(),
|
|
103
|
+
afterSha256: z
|
|
104
|
+
.string()
|
|
105
|
+
.regex(/^[0-9a-f]{64}$/)
|
|
106
|
+
.nullable(),
|
|
107
|
+
prior: z
|
|
108
|
+
.object({
|
|
109
|
+
lifecycleStatus: z.string().nullable().optional(),
|
|
110
|
+
supersededBy: z.string().nullable().optional(),
|
|
111
|
+
supersedes: z.string().nullable().optional(),
|
|
112
|
+
previousAttachmentId: z.string().nullable().optional(),
|
|
113
|
+
newAttachmentId: z.string().nullable().optional(),
|
|
114
|
+
linkTargets: z.array(z.string()).optional(),
|
|
115
|
+
kind: z.string().nullable().optional(),
|
|
116
|
+
})
|
|
117
|
+
.optional(),
|
|
118
|
+
});
|
|
119
|
+
/** Shape check for one line of a run's write-ahead journal (`<runId>.ops.jsonl`). */
|
|
120
|
+
export const docsModernizeJournalLineSchema = receiptOpSchema.extend({
|
|
121
|
+
i: z.number().int().min(0),
|
|
122
|
+
});
|
|
123
|
+
/** Shape check for a {@link DocsModernizeReceipt} read back for rollback. */
|
|
124
|
+
export const docsModernizeReceiptSchema = z.object({
|
|
125
|
+
runId: z.string().regex(/^dm-[\w-]+$/),
|
|
126
|
+
root: z.string().min(1),
|
|
127
|
+
appliedAt: z.string(),
|
|
128
|
+
planSha256: z.string(),
|
|
129
|
+
edgeCount: z.number(),
|
|
130
|
+
rolledBackAt: z.string().nullable(),
|
|
131
|
+
blobs: z.array(z.object({ path: relPath, sha256: z.string() })),
|
|
132
|
+
moves: z.array(z.object({ from: relPath, to: relPath })),
|
|
133
|
+
deleted: z.array(relPath),
|
|
134
|
+
ops: z.array(receiptOpSchema),
|
|
135
|
+
durationMs: z.number().optional(),
|
|
136
|
+
});
|
|
137
|
+
//# sourceMappingURL=modernize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modernize.js","sourceRoot":"","sources":["../../src/docs/modernize.ts"],"names":[],"mappings":"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"}
|
package/dist/docs-taxonomy.d.ts
CHANGED
|
@@ -104,6 +104,12 @@ export interface DocKindMetadata {
|
|
|
104
104
|
* @epic T10157
|
|
105
105
|
*/
|
|
106
106
|
readonly requiredSections?: ReadonlyArray<string>;
|
|
107
|
+
/**
|
|
108
|
+
* When `true`, docs of this kind live only in the CLEO doc store and are
|
|
109
|
+
* never published to a repository mirror (T14107, D11210: session
|
|
110
|
+
* handoffs are exactly the rot published docs must not carry).
|
|
111
|
+
*/
|
|
112
|
+
readonly storeOnly?: boolean;
|
|
107
113
|
}
|
|
108
114
|
/**
|
|
109
115
|
* Canonical list of built-in document kinds.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docs-taxonomy.d.ts","sourceRoot":"","sources":["../src/docs-taxonomy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AASH;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAC;IAC1E;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"docs-taxonomy.d.ts","sourceRoot":"","sources":["../src/docs-taxonomy.ts"],"names":[],"mappings":"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"}
|