@productbrain/cli 0.1.0-beta.7931 → 0.1.0-beta.7932
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.
|
@@ -52,10 +52,8 @@ export declare const TRUST_ARCHIVED_WORDS: readonly ["archived", "deprecated", "
|
|
|
52
52
|
* is what `entries.status` resolves to for that label.
|
|
53
53
|
*
|
|
54
54
|
* T4b (TASK-389, DEC-1813): `archiveDefault` marks the ONE Past-category label an archive (which
|
|
55
|
-
* never knows the specific outcome an entry ended at)
|
|
56
|
-
*
|
|
57
|
-
* the field (TASK-389 harness/door split, 2026-09-27). Optional on the type so a category with no
|
|
58
|
-
* Past label at all stays representable;
|
|
55
|
+
* never knows the specific outcome an entry ended at) writes — see `archiveWordFor` below.
|
|
56
|
+
* Optional on the type so a category with no Past label at all stays representable;
|
|
59
57
|
* `validateStatusList` makes it mandatory in practice by refusing a Past label set with anything
|
|
60
58
|
* other than exactly one `archiveDefault`. */
|
|
61
59
|
export interface StatusListEntry {
|
|
@@ -93,9 +91,9 @@ export declare const CATEGORY_TRUST_LEVEL: Record<StatusCategory, CategoryTrustL
|
|
|
93
91
|
* `resolveStatusCategory` + trust-level lookup pair. Pure: no `ctx.db`, no guard, no write —
|
|
94
92
|
* callers run their OWN guards (creation has its own; writeEntryStatus.ts's guard block is
|
|
95
93
|
* unchanged) against the `trustWord` this returns, exactly as they would a caller-supplied
|
|
96
|
-
* trust word. `undefined` covers
|
|
97
|
-
*
|
|
98
|
-
*
|
|
94
|
+
* trust word. `undefined` covers two cases identically (no derivation to report): an undeclared
|
|
95
|
+
* statusList, and a declared statusList whose label isn't listed. TASK-389/DEC-1789 governs when
|
|
96
|
+
* the second case becomes a hard failure at the write door. */
|
|
99
97
|
export declare function deriveStatusPair(collection: {
|
|
100
98
|
statusList?: readonly StatusListEntry[];
|
|
101
99
|
} | null | undefined, workflowStatus: string | undefined): {
|
|
@@ -109,7 +107,7 @@ export declare function deriveStatusPair(collection: {
|
|
|
109
107
|
* a trust word (or `null` for an unrecognized word, or `undefined` when no status was
|
|
110
108
|
* supplied at all) — the caller resolves that BEFORE calling, since canonicalWriteTarget lives
|
|
111
109
|
* in statusStateMachine.ts, not here (no import cycle: this file is re-exported THROUGH that
|
|
112
|
-
* one). `derivedPair` is undefined for both
|
|
110
|
+
* one). `derivedPair` is undefined for both cases `deriveStatusPair` already covers. */
|
|
113
111
|
export declare function reconcileStatusDerivation(explicitTrustWord: CategoryTrustLevel | null | undefined, workflowStatus: string | undefined, collection: {
|
|
114
112
|
statusList?: readonly StatusListEntry[];
|
|
115
113
|
} | null | undefined): {
|
|
@@ -119,6 +117,30 @@ export declare function reconcileStatusDerivation(explicitTrustWord: CategoryTru
|
|
|
119
117
|
} | undefined;
|
|
120
118
|
disagreementError: string | undefined;
|
|
121
119
|
};
|
|
120
|
+
/** The reason's own natural category — `resolveArchiveWorkflowStatus` below maps a non-draft
|
|
121
|
+
* archive's reason to a category through this before resolving the word. */
|
|
122
|
+
export declare function archiveReasonCategory(reason: string): Extract<StatusCategory, 'past' | 'discarded'> | undefined;
|
|
123
|
+
/** DEC-1813: the ONE label a CATEGORY of archive writes — never a `reason`, so a caller with no
|
|
124
|
+
* reason concept of its own (a door that archives without asking why) resolves the SAME word a
|
|
125
|
+
* reason-carrying caller would, instead of inventing a stand-in reason to reach it.
|
|
126
|
+
* 'discarded' always writes the literal 'discarded' (every statusList declares it,
|
|
127
|
+
* `validateStatusList`'s own rule); 'past' writes the collection's one `archiveDefault` Past
|
|
128
|
+
* label, or `undefined` when none is marked (`validateStatusList` refuses a list without exactly
|
|
129
|
+
* one, but an older, pre-validation row can still lack it). */
|
|
130
|
+
export declare function archiveLabelFor(statusList: readonly StatusListEntry[] | undefined, category: Extract<StatusCategory, 'past' | 'discarded'>): string | undefined;
|
|
131
|
+
export declare function archiveWordFor(reason: string, statusList: readonly StatusListEntry[] | undefined): string | undefined;
|
|
132
|
+
/** WP-779 (its own `architecture` field): the only draft-archive transition is "Draft or Current
|
|
133
|
+
* -> Discarded" — a draft entry's category is ALWAYS discarded when archived, regardless of
|
|
134
|
+
* which of the five `archivedReason` words the caller supplies; the reason itself is still
|
|
135
|
+
* stored as given (this function only resolves the WORD, never validates or rejects a reason).
|
|
136
|
+
* A non-draft entry's category follows `archiveReasonCategory`'s reason -> category mapping
|
|
137
|
+
* instead. A DECLARED statusList with no resolvable word (no archiveDefault Past label) is
|
|
138
|
+
* refused — the archive door's fail-closed rule. A collection with no statusList at all stays
|
|
139
|
+
* soft (`word: undefined`, no refusal) — out of T4b's scope. */
|
|
140
|
+
export declare function resolveArchiveWorkflowStatus(archivedReason: string, statusList: readonly StatusListEntry[] | undefined, collectionSlug: string, isDraft: boolean): {
|
|
141
|
+
word: string | undefined;
|
|
142
|
+
refusalReason?: string;
|
|
143
|
+
};
|
|
122
144
|
export declare const ENTRY_STATUS_READ_WORDS: readonly ["draft", "accepted", "active", "current", "archived", "deprecated", "past", "discarded"];
|
|
123
145
|
export declare const ENTRY_STATUS_WRITE_WORDS: readonly ["draft", "archived"];
|
|
124
146
|
/** Display-word fold for a stored `entries.status`/lifecycle value: legacy `active` displays as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusCategories.d.ts","sourceRoot":"","sources":["../../src/lib/statusCategories.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,iBAAiB,oDAAqD,CAAC;AAEpF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAIhE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEvE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAA8B;AACrF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAgC;AACzF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAA6B;AACnF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAkC;AAU7F;;;;;;;;GAQG;AASH,eAAO,MAAM,oBAAoB,4CAA6C,CAAC;AAE/E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;;;;;;;GAUG;AASH,eAAO,MAAM,oBAAoB,0DAA2D,CAAC;AAE7F
|
|
1
|
+
{"version":3,"file":"statusCategories.d.ts","sourceRoot":"","sources":["../../src/lib/statusCategories.ts"],"names":[],"mappings":"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"}
|
|
@@ -136,13 +136,23 @@ export function validateStatusList(statusList) {
|
|
|
136
136
|
errors.push(`the 'discarded' category label must itself be named "discarded", found "${discarded[0].label}".`);
|
|
137
137
|
}
|
|
138
138
|
// DEC-1813: among the Past-category labels (if this collection declares any), exactly one must
|
|
139
|
-
// be the archive default — the word
|
|
139
|
+
// be the archive default — the word `archiveWordFor` writes for an archive, which never knows
|
|
140
140
|
// the specific outcome (done/achieved/answered/etc. are written only by the verb that knows it).
|
|
141
141
|
const pastLabels = entries.filter((e) => e.category === 'past');
|
|
142
142
|
const pastArchiveDefaults = pastLabels.filter((e) => e.archiveDefault === true);
|
|
143
143
|
if (pastLabels.length > 0 && pastArchiveDefaults.length !== 1) {
|
|
144
144
|
errors.push(`statusList must mark exactly one Past-category label archiveDefault: true, found ${pastArchiveDefaults.length} among ${pastLabels.length} Past label(s).`);
|
|
145
145
|
}
|
|
146
|
+
// archiveDefault only ever means anything on a Past-category label (archiveWordFor never reads
|
|
147
|
+
// it on any other category) — a non-Past label marked true would advertise (and
|
|
148
|
+
// describeCollection would render) two "archive defaults" while archiveWordFor only ever
|
|
149
|
+
// honors the Past one. Reject the non-Past marker outright rather than let the stored contract
|
|
150
|
+
// and the advertised vocabulary disagree.
|
|
151
|
+
for (const entry of entries) {
|
|
152
|
+
if (entry.category !== 'past' && entry.archiveDefault === true) {
|
|
153
|
+
errors.push(`label "${entry.label}" (category "${entry.category}") declares archiveDefault: true — archiveDefault is only meaningful on a Past-category label.`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
146
156
|
const seen = new Set();
|
|
147
157
|
for (const entry of entries) {
|
|
148
158
|
const key = entry.label.toLowerCase();
|
|
@@ -170,9 +180,9 @@ export const CATEGORY_TRUST_LEVEL = {
|
|
|
170
180
|
* `resolveStatusCategory` + trust-level lookup pair. Pure: no `ctx.db`, no guard, no write —
|
|
171
181
|
* callers run their OWN guards (creation has its own; writeEntryStatus.ts's guard block is
|
|
172
182
|
* unchanged) against the `trustWord` this returns, exactly as they would a caller-supplied
|
|
173
|
-
* trust word. `undefined` covers
|
|
174
|
-
*
|
|
175
|
-
*
|
|
183
|
+
* trust word. `undefined` covers two cases identically (no derivation to report): an undeclared
|
|
184
|
+
* statusList, and a declared statusList whose label isn't listed. TASK-389/DEC-1789 governs when
|
|
185
|
+
* the second case becomes a hard failure at the write door. */
|
|
176
186
|
export function deriveStatusPair(collection, workflowStatus) {
|
|
177
187
|
if (typeof workflowStatus !== 'string' || collection?.statusList === undefined)
|
|
178
188
|
return undefined;
|
|
@@ -188,7 +198,7 @@ export function deriveStatusPair(collection, workflowStatus) {
|
|
|
188
198
|
* a trust word (or `null` for an unrecognized word, or `undefined` when no status was
|
|
189
199
|
* supplied at all) — the caller resolves that BEFORE calling, since canonicalWriteTarget lives
|
|
190
200
|
* in statusStateMachine.ts, not here (no import cycle: this file is re-exported THROUGH that
|
|
191
|
-
* one). `derivedPair` is undefined for both
|
|
201
|
+
* one). `derivedPair` is undefined for both cases `deriveStatusPair` already covers. */
|
|
192
202
|
export function reconcileStatusDerivation(explicitTrustWord, workflowStatus, collection) {
|
|
193
203
|
const derivedPair = deriveStatusPair(collection, workflowStatus);
|
|
194
204
|
if (derivedPair === undefined)
|
|
@@ -198,6 +208,81 @@ export function reconcileStatusDerivation(explicitTrustWord, workflowStatus, col
|
|
|
198
208
|
}
|
|
199
209
|
return { derivedPair, disagreementError: undefined };
|
|
200
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* DEC-1813 (T4b, TASK-389): `archiveReasonCategory`, `archiveLabelFor` and `archiveWordFor` below
|
|
213
|
+
* turn an archive into the status WORD to write. Two real callers: `archiveEntry.ts` (the Rail
|
|
214
|
+
* delete door, no `archivedReason` concept of its own) calls `archiveLabelFor` directly with a
|
|
215
|
+
* CATEGORY; `convex/agentKnowledge/entries.ts`'s update handler calls it through
|
|
216
|
+
* `resolveArchiveWorkflowStatusOrThrow` (`convex/lib/archivedReasonGuard.ts`), which maps a
|
|
217
|
+
* `reason` to a category via `archiveReasonCategory` first. Either way an entry archived by one
|
|
218
|
+
* door lands on the identical word an entry archived by the other would. The word carries only
|
|
219
|
+
* the CATEGORY; the reason itself stays in `archivedReason`, never encoded into the word.
|
|
220
|
+
*
|
|
221
|
+
* Two-step, never a fifth branch: (1) reason -> category — `never_adopted`/`duplicate` are
|
|
222
|
+
* Discarded, `resolved`/`superseded`/`no_longer_true` are Past; (2) category -> word — Discarded
|
|
223
|
+
* always writes the literal 'discarded' (every statusList declares it, `validateStatusList`'s own
|
|
224
|
+
* rule); Past writes the collection's one `archiveDefault` Past label (`validateStatusList` refuses
|
|
225
|
+
* a list without exactly one). `archiveWordFor` (the reason-taking wrapper) returns `undefined`
|
|
226
|
+
* when the reason is outside the known set, or when the collection has no statusList, or (should
|
|
227
|
+
* `validateStatusList` ever have been skipped) no Past label is marked `archiveDefault` — the
|
|
228
|
+
* caller decides whether that is a hard failure; this module stays neutral, same posture as
|
|
229
|
+
* `resolveStatusCategory`.
|
|
230
|
+
*
|
|
231
|
+
* `reason` is typed `string`, not `kernel/entries/statusStateMachine.ts`'s `ArchivedReason` — that
|
|
232
|
+
* type lives in the file that IMPORTS this one (`export * from './statusCategories'`), so importing
|
|
233
|
+
* it back here would cycle. Every caller already validates the raw value against that same enum
|
|
234
|
+
* (`assertValidArchivedReasonValue`) before an archive-reason can reach this function.
|
|
235
|
+
*/
|
|
236
|
+
const ARCHIVE_REASON_CATEGORY = {
|
|
237
|
+
never_adopted: 'discarded',
|
|
238
|
+
duplicate: 'discarded',
|
|
239
|
+
resolved: 'past',
|
|
240
|
+
superseded: 'past',
|
|
241
|
+
no_longer_true: 'past',
|
|
242
|
+
};
|
|
243
|
+
/** The reason's own natural category — `resolveArchiveWorkflowStatus` below maps a non-draft
|
|
244
|
+
* archive's reason to a category through this before resolving the word. */
|
|
245
|
+
export function archiveReasonCategory(reason) {
|
|
246
|
+
return ARCHIVE_REASON_CATEGORY[reason];
|
|
247
|
+
}
|
|
248
|
+
/** DEC-1813: the ONE label a CATEGORY of archive writes — never a `reason`, so a caller with no
|
|
249
|
+
* reason concept of its own (a door that archives without asking why) resolves the SAME word a
|
|
250
|
+
* reason-carrying caller would, instead of inventing a stand-in reason to reach it.
|
|
251
|
+
* 'discarded' always writes the literal 'discarded' (every statusList declares it,
|
|
252
|
+
* `validateStatusList`'s own rule); 'past' writes the collection's one `archiveDefault` Past
|
|
253
|
+
* label, or `undefined` when none is marked (`validateStatusList` refuses a list without exactly
|
|
254
|
+
* one, but an older, pre-validation row can still lack it). */
|
|
255
|
+
export function archiveLabelFor(statusList, category) {
|
|
256
|
+
if (category === 'discarded')
|
|
257
|
+
return 'discarded';
|
|
258
|
+
return statusList?.find((e) => e.category === 'past' && e.archiveDefault === true)?.label;
|
|
259
|
+
}
|
|
260
|
+
export function archiveWordFor(reason, statusList) {
|
|
261
|
+
const category = ARCHIVE_REASON_CATEGORY[reason];
|
|
262
|
+
if (category === undefined)
|
|
263
|
+
return undefined;
|
|
264
|
+
return archiveLabelFor(statusList, category);
|
|
265
|
+
}
|
|
266
|
+
/** WP-779 (its own `architecture` field): the only draft-archive transition is "Draft or Current
|
|
267
|
+
* -> Discarded" — a draft entry's category is ALWAYS discarded when archived, regardless of
|
|
268
|
+
* which of the five `archivedReason` words the caller supplies; the reason itself is still
|
|
269
|
+
* stored as given (this function only resolves the WORD, never validates or rejects a reason).
|
|
270
|
+
* A non-draft entry's category follows `archiveReasonCategory`'s reason -> category mapping
|
|
271
|
+
* instead. A DECLARED statusList with no resolvable word (no archiveDefault Past label) is
|
|
272
|
+
* refused — the archive door's fail-closed rule. A collection with no statusList at all stays
|
|
273
|
+
* soft (`word: undefined`, no refusal) — out of T4b's scope. */
|
|
274
|
+
export function resolveArchiveWorkflowStatus(archivedReason, statusList, collectionSlug, isDraft) {
|
|
275
|
+
if (statusList === undefined)
|
|
276
|
+
return { word: undefined }; // no declared vocabulary — out of T4b's scope entirely
|
|
277
|
+
const category = isDraft ? 'discarded' : archiveReasonCategory(archivedReason);
|
|
278
|
+
if (category === undefined)
|
|
279
|
+
return { word: undefined }; // a non-draft reason outside the known 5-word set — the caller's own enum validation catches this before it ever reaches here
|
|
280
|
+
const word = archiveLabelFor(statusList, category);
|
|
281
|
+
if (word === undefined) {
|
|
282
|
+
return { word: undefined, refusalReason: `"${collectionSlug}" declares a statusList with no archiveDefault Past label` };
|
|
283
|
+
}
|
|
284
|
+
return { word };
|
|
285
|
+
}
|
|
201
286
|
// ─── Connector-facing entries.status vocabulary (T8, TASK-393, WP-779) ────────────────────────
|
|
202
287
|
//
|
|
203
288
|
// The isolated CLI/MCP connector builds cannot import `kernel/` live (same Railway/standalone-
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusCategories.js","sourceRoot":"","sources":["../../src/lib/statusCategories.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,gEAAgE;AAChE,uDAAuD;AAEvD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAU,CAAC;AAIpF,MAAM,mBAAmB,GAAgC,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAEpF,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC7C,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAuB,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa,IAAa,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;AACrF,MAAM,UAAU,iBAAiB,CAAC,KAAa,IAAa,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;AACzF,MAAM,UAAU,cAAc,CAAC,KAAa,IAAa,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;AACnF,MAAM,UAAU,mBAAmB,CAAC,KAAa,IAAa,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC;AAE7F,kGAAkG;AAClG,yFAAyF;AACzF,oFAAoF;AACpF,2FAA2F;AAC3F,6FAA6F;AAC7F,0FAA0F;AAC1F,0FAA0F;AAE1F;;;;;;;;GAQG;AACH,+FAA+F;AAC/F,gGAAgG;AAChG,8FAA8F;AAC9F,4FAA4F;AAC5F,4FAA4F;AAC5F,iGAAiG;AACjG,iGAAiG;AACjG,kGAAkG;AAClG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;AAE/E,MAAM,UAAU,eAAe,CAAC,MAAc;IAC7C,OAAQ,oBAA0C,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;GAUG;AACH,+FAA+F;AAC/F,2FAA2F;AAC3F,mDAAmD;AACnD,iGAAiG;AACjG,iGAAiG;AACjG,kGAAkG;AAClG,iGAAiG;AACjG,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"statusCategories.js","sourceRoot":"","sources":["../../src/lib/statusCategories.ts"],"names":[],"mappings":"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"}
|