@superbee/core 0.2.0-pre.32 → 0.2.0-pre.33

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 (80) hide show
  1. package/README.md +5 -0
  2. package/dist/backend.d.ts +3 -1
  3. package/dist/backend.d.ts.map +1 -1
  4. package/dist/backend.js +76 -8
  5. package/dist/backend.js.map +1 -1
  6. package/dist/bundle-health/report.d.ts +5 -0
  7. package/dist/bundle-health/report.d.ts.map +1 -1
  8. package/dist/bundle-health/report.js +4 -0
  9. package/dist/bundle-health/report.js.map +1 -1
  10. package/dist/bundle-ops.d.ts +1 -1
  11. package/dist/bundle-ops.d.ts.map +1 -1
  12. package/dist/bundle-ops.js +2 -2
  13. package/dist/bundle-ops.js.map +1 -1
  14. package/dist/document-mutation.d.ts +3 -0
  15. package/dist/document-mutation.d.ts.map +1 -1
  16. package/dist/document-mutation.js +24 -2
  17. package/dist/document-mutation.js.map +1 -1
  18. package/dist/engine.d.ts +3 -1
  19. package/dist/engine.d.ts.map +1 -1
  20. package/dist/engine.js +16 -4
  21. package/dist/engine.js.map +1 -1
  22. package/dist/filesystem-identity.d.ts +9 -7
  23. package/dist/filesystem-identity.d.ts.map +1 -1
  24. package/dist/filesystem-identity.js +58 -5
  25. package/dist/filesystem-identity.js.map +1 -1
  26. package/dist/index.d.ts +4 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/inventory-guard.d.ts +58 -0
  31. package/dist/inventory-guard.d.ts.map +1 -0
  32. package/dist/inventory-guard.js +169 -0
  33. package/dist/inventory-guard.js.map +1 -0
  34. package/dist/kind-authoring.d.ts.map +1 -1
  35. package/dist/kind-authoring.js +1 -0
  36. package/dist/kind-authoring.js.map +1 -1
  37. package/dist/kind-deprecation.d.ts +32 -0
  38. package/dist/kind-deprecation.d.ts.map +1 -0
  39. package/dist/kind-deprecation.js +141 -0
  40. package/dist/kind-deprecation.js.map +1 -0
  41. package/dist/kinds.d.ts +31 -1
  42. package/dist/kinds.d.ts.map +1 -1
  43. package/dist/kinds.js +13 -0
  44. package/dist/kinds.js.map +1 -1
  45. package/dist/memory-backend.d.ts +3 -0
  46. package/dist/memory-backend.d.ts.map +1 -1
  47. package/dist/memory-backend.js +38 -0
  48. package/dist/memory-backend.js.map +1 -1
  49. package/dist/okf-standard-fields.d.ts +3 -0
  50. package/dist/okf-standard-fields.d.ts.map +1 -1
  51. package/dist/okf-standard-fields.js +3 -0
  52. package/dist/okf-standard-fields.js.map +1 -1
  53. package/dist/recipe-lifecycle/evolution.d.ts +13 -1
  54. package/dist/recipe-lifecycle/evolution.d.ts.map +1 -1
  55. package/dist/recipe-lifecycle/evolution.js +88 -9
  56. package/dist/recipe-lifecycle/evolution.js.map +1 -1
  57. package/dist/recipe-lifecycle/index.d.ts +4 -0
  58. package/dist/recipe-lifecycle/index.d.ts.map +1 -1
  59. package/dist/recipe-lifecycle/index.js +2 -0
  60. package/dist/recipe-lifecycle/index.js.map +1 -1
  61. package/dist/recipe-lifecycle/install.d.ts.map +1 -1
  62. package/dist/recipe-lifecycle/install.js +11 -1
  63. package/dist/recipe-lifecycle/install.js.map +1 -1
  64. package/dist/recipe-lifecycle/retirement-apply.d.ts +59 -0
  65. package/dist/recipe-lifecycle/retirement-apply.d.ts.map +1 -0
  66. package/dist/recipe-lifecycle/retirement-apply.js +165 -0
  67. package/dist/recipe-lifecycle/retirement-apply.js.map +1 -0
  68. package/dist/recipe-lifecycle/retirement.d.ts +89 -0
  69. package/dist/recipe-lifecycle/retirement.d.ts.map +1 -0
  70. package/dist/recipe-lifecycle/retirement.js +347 -0
  71. package/dist/recipe-lifecycle/retirement.js.map +1 -0
  72. package/dist/source-profiles/index.d.ts +1 -1
  73. package/dist/source-profiles/index.js +1 -1
  74. package/dist/storage.d.ts +2 -0
  75. package/dist/storage.d.ts.map +1 -1
  76. package/dist/storage.js +1 -0
  77. package/dist/storage.js.map +1 -1
  78. package/dist/types.d.ts +2 -0
  79. package/dist/types.d.ts.map +1 -1
  80. package/package.json +1 -1
@@ -0,0 +1,347 @@
1
+ /** Read-only retirement evidence. No plan returned here is an instruction or token for mutation. */
2
+ import { backendFor, readBundleOkfVersion, readDocVersioned } from "../bundle-ops.js";
3
+ import { declaredBundleId, BUNDLE_NAME_DOC_ID } from "../dependencies.js";
4
+ import { parseMarkdown } from "../frontmatter.js";
5
+ import { buildKindRegistry, isConventionId, kindDeprecationProblems, parseConventionDoc, inspectKindDeprecatedUsage } from "../kinds.js";
6
+ import { isOkfRecord, okfValuesEqual } from "../okf-authored-values.js";
7
+ import { parseRecipeFiles } from "../recipes.js";
8
+ import { preflightRecipeSet, recipePreflightDigest } from "../recipe-set-preflight.js";
9
+ import { contentVersion } from "../versioning.js";
10
+ import { materializeRecipeForEdition, prepareRecipeInstall, sameInstalledDoc } from "./install.js";
11
+ import { planRecipeEvolution } from "./evolution.js";
12
+ import { conventionStampState, definitionDigest, readRecipeStamp, recipeSourceDigest } from "./stamp.js";
13
+ const compare = (a, b) => a < b ? -1 : a > b ? 1 : 0;
14
+ const sorted = (ids) => [...ids].sort(compare);
15
+ const record = (value) => isOkfRecord(value) ? value : {};
16
+ const own = (value, key) => Object.hasOwn(value, key) ? value[key] : undefined;
17
+ function put(target, key, value) {
18
+ Object.defineProperty(target, key, { value, enumerable: true, configurable: true, writable: true });
19
+ }
20
+ /** Restore only each approved omission for the existing additive engine to inspect every OTHER
21
+ * change. This comparison recipe is never returned as an apply plan or passed to an apply API. */
22
+ function restoreOmission(target, current, coordinate, name, value) {
23
+ const child = (parent, key) => {
24
+ const next = { ...record(own(parent, key)) };
25
+ put(parent, key, next);
26
+ return next;
27
+ };
28
+ const restoreMap = (parent, key, previous, field) => {
29
+ const old = record(previous);
30
+ if (!Object.hasOwn(old, field))
31
+ return;
32
+ const next = child(parent, key);
33
+ if (!Object.hasOwn(next, field))
34
+ put(next, field, structuredClone(old[field]));
35
+ };
36
+ const append = (parent, key, entry) => {
37
+ const list = own(parent, key);
38
+ put(parent, key, [...(Array.isArray(list) ? list : []), structuredClone(entry)]);
39
+ };
40
+ const currentFields = record(current.frontmatter.fields);
41
+ const fields = child(target.frontmatter, "fields");
42
+ const deprecated = child(target.frontmatter, "deprecated");
43
+ if (coordinate === "field") {
44
+ append(fields, "optional", name);
45
+ for (const key of ["values", "types", "descriptions", "value_descriptions"])
46
+ restoreMap(fields, key, own(currentFields, key), name);
47
+ append(deprecated, "fields", name);
48
+ restoreMap(deprecated, "values", record(current.frontmatter.deprecated).values, name);
49
+ }
50
+ else if (coordinate === "value") {
51
+ const values = child(fields, "values");
52
+ const original = own(record(currentFields.values), name);
53
+ const member = Array.isArray(original) ? original.find(v => String(v) === value) : value;
54
+ append(values, name, member);
55
+ const descriptions = record(own(record(currentFields.value_descriptions), name));
56
+ if (Object.hasOwn(descriptions, value))
57
+ restoreMap(child(fields, "value_descriptions"), name, descriptions, value);
58
+ append(child(deprecated, "values"), name, value);
59
+ }
60
+ else {
61
+ restoreMap(target.frontmatter, "links", current.frontmatter.links, name);
62
+ restoreMap(target.frontmatter, "link_descriptions", current.frontmatter.link_descriptions, name);
63
+ append(deprecated, "links", name);
64
+ }
65
+ }
66
+ function candidateOwned(prepared) {
67
+ return [...prepared.docs, ...prepared.connectors.map(c => c.doc), ...prepared.references.map(r => r.doc)];
68
+ }
69
+ /** Optional supplied evidence is evaluated by the existing preflight, then bound to THIS source
70
+ * and this observed local store. A plausible but unrelated preflight cannot certify this report. */
71
+ async function consumersFor(supplied, present, source, prepared, snapshots, local) {
72
+ const out = { status: "unassessed", scope: "supplied-declared-structural-only", model: "final-selected-source-hypothesis", binding_issues: [],
73
+ unsupported_semantics: ["enum-value-compatibility", "type-compatibility", "write-intent-compatibility"] };
74
+ if (!present)
75
+ return out;
76
+ const issue = (level, code, at) => { out.binding_issues.push({ level, code, at }); };
77
+ out.result = await preflightRecipeSet(supplied);
78
+ try {
79
+ out.evidence_digest = recipePreflightDigest(supplied);
80
+ }
81
+ catch {
82
+ issue("refused", "RETIREMENT_EVIDENCE_SHAPE", "input");
83
+ }
84
+ if (out.result.issues.some(i => i.code === "INPUT_SHAPE")) {
85
+ out.status = "refused";
86
+ return out;
87
+ }
88
+ const input = supplied;
89
+ if (!prepared || local.okf_version !== "0.2")
90
+ issue("partial", "RETIREMENT_PREFLIGHT_EDITION_UNSUPPORTED", local.okf_version);
91
+ if (!local.complete)
92
+ issue("partial", "RETIREMENT_LOCAL_INVENTORY_UNKNOWN", "local");
93
+ const providers = input.selected.filter(s => s.recipeId === source.id && s.release === source.version);
94
+ if (providers.length !== 1)
95
+ issue("refused", "RETIREMENT_CANDIDATE_PROVIDER", source.id);
96
+ const provider = providers[0];
97
+ if (provider && !provider.artifact)
98
+ issue("partial", "RETIREMENT_CANDIDATE_ARTIFACT_UNAVAILABLE", provider.key);
99
+ else if (provider?.artifact) {
100
+ const parsed = parseRecipeFiles(provider.artifact.files, "retirement:supplied-candidate", { okfVersion: "0.2" });
101
+ if (!parsed.ok || recipeSourceDigest(parsed.recipe) !== recipeSourceDigest(source))
102
+ issue("refused", "RETIREMENT_CANDIDATE_SOURCE_MISMATCH", provider.key);
103
+ }
104
+ if (provider && prepared) {
105
+ const observations = input.observations.filter(o => o.provider === provider.key && o.scope === "local");
106
+ if (observations.length !== 1)
107
+ issue(observations.length ? "refused" : "partial", "RETIREMENT_CANDIDATE_OBSERVATION", provider.key);
108
+ for (const observed of observations) {
109
+ if (observed.availability !== "available" || !observed.complete) {
110
+ issue("partial", "RETIREMENT_CANDIDATE_OBSERVATION_UNKNOWN", observed.id);
111
+ continue;
112
+ }
113
+ const expected = candidateOwned(prepared);
114
+ if (!okfValuesEqual(sorted(observed.definitions.map(d => d.id)), sorted(expected.map(d => d.id))))
115
+ issue("refused", "RETIREMENT_CANDIDATE_DEFINITION_SET", observed.id);
116
+ for (const def of observed.definitions) {
117
+ const wanted = expected.find(d => d.id === def.id);
118
+ try {
119
+ const actual = { id: def.id, ...parseMarkdown(def.bytes, def.id, { okfVersion: "0.2" }) };
120
+ if (!wanted || definitionDigest(actual) !== definitionDigest(wanted))
121
+ issue("refused", "RETIREMENT_CANDIDATE_DEFINITION", `${observed.id}:${def.id}`);
122
+ }
123
+ catch {
124
+ issue("refused", "RETIREMENT_CANDIDATE_DEFINITION", `${observed.id}:${def.id}`);
125
+ }
126
+ }
127
+ }
128
+ const expected = new Map([...snapshots].map(([id, read]) => [`${id}.md`, read.doc]));
129
+ for (const doc of [...candidateOwned(prepared), ...prepared.pages.map(p => p.registry)])
130
+ expected.set(`${doc.id}.md`, doc);
131
+ const placements = (input.placementInventories ?? []).filter(p => p.scope === "local");
132
+ if (placements.length !== 1)
133
+ issue(placements.length ? "refused" : "partial", "RETIREMENT_LOCAL_PLACEMENT", "local");
134
+ for (const placement of placements) {
135
+ if (placement.availability !== "available" || !placement.complete)
136
+ issue("partial", "RETIREMENT_LOCAL_PLACEMENT_UNKNOWN", placement.id);
137
+ const docs = placement.files.filter(f => f.path.endsWith(".md"));
138
+ if (!okfValuesEqual(sorted(docs.map(f => f.path)), sorted([...expected.keys()])))
139
+ issue("refused", "RETIREMENT_LOCAL_PLACEMENT_SET", placement.id);
140
+ for (const file of docs) {
141
+ const wanted = expected.get(file.path);
142
+ try {
143
+ const actual = { id: file.path.slice(0, -3), ...parseMarkdown(file.bytes, undefined, { okfVersion: "0.2" }) };
144
+ const candidate = candidateOwned(prepared).some(d => `${d.id}.md` === file.path);
145
+ if (!wanted || (candidate ? !sameInstalledDoc(actual, wanted, "0.2") : contentVersion(actual) !== contentVersion(wanted)))
146
+ issue("refused", "RETIREMENT_LOCAL_PLACEMENT_CONTENT", file.path);
147
+ }
148
+ catch {
149
+ issue("refused", "RETIREMENT_LOCAL_PLACEMENT_CONTENT", file.path);
150
+ }
151
+ }
152
+ // Concept inventory does not establish ordinary blob bytes. Preserve that missing scope.
153
+ if (placement.files.some(f => !f.path.endsWith(".md")))
154
+ issue("partial", "RETIREMENT_BLOB_BINDING_UNSUPPORTED", placement.id);
155
+ }
156
+ }
157
+ for (const row of [...input.observations, ...(input.placementInventories ?? [])].filter(row => row.scope === "local")) {
158
+ if (!row.observedVersion)
159
+ issue("partial", "RETIREMENT_OBSERVATION_VERSION_UNKNOWN", row.id);
160
+ else if (row.observedVersion !== local.observation_digest)
161
+ issue("refused", "RETIREMENT_OBSERVATION_VERSION_MISMATCH", row.id);
162
+ if (row.bundleId && row.bundleId !== local.bundle_id)
163
+ issue("refused", "RETIREMENT_BUNDLE_IDENTITY", row.id);
164
+ }
165
+ out.binding_issues.sort((a, b) => compare(JSON.stringify(a), JSON.stringify(b)));
166
+ out.status = out.result.verdict === "refused" || out.binding_issues.some(i => i.level === "refused") ? "refused"
167
+ : out.result.verdict === "partial" || out.binding_issues.length ? "partial" : input.consumers.length ? "valid" : "unassessed";
168
+ return out;
169
+ }
170
+ export async function prepareRecipeDeclarationRetirement(bundle, recipe, options = {}) {
171
+ const source = structuredClone(recipe);
172
+ const backend = backendFor(bundle), selected = { root: bundle.root, backend };
173
+ const evidencePresent = Object.hasOwn(options, "consumerEvidence");
174
+ let evidence = options.consumerEvidence;
175
+ try {
176
+ if (evidencePresent)
177
+ evidence = structuredClone(evidence);
178
+ }
179
+ catch { /* Existing preflight returns the shape refusal. */ }
180
+ const issues = [], blockers = [];
181
+ const snapshots = new Map();
182
+ const inventory = [];
183
+ let initial = [], final = [], indexVersion = null, edition = "0.1";
184
+ const unknown = (code, id, error) => { issues.push({ code, id, message: error instanceof Error ? error.message : String(error) }); };
185
+ try {
186
+ indexVersion = (await backend.readReserved("", "index.md"))?.version ?? null;
187
+ edition = await readBundleOkfVersion(selected) ?? "0.1";
188
+ }
189
+ catch (error) {
190
+ unknown("RETIREMENT_EDITION_UNREADABLE", "index.md", error);
191
+ }
192
+ try {
193
+ initial = sorted(await backend.list());
194
+ }
195
+ catch (error) {
196
+ unknown("RETIREMENT_INVENTORY_UNAVAILABLE", "*", error);
197
+ }
198
+ if (new Set(initial).size !== initial.length)
199
+ unknown("RETIREMENT_INVENTORY_AMBIGUOUS", "*", "duplicate concept IDs");
200
+ for (const id of [...new Set(initial)]) {
201
+ try {
202
+ const read = await readDocVersioned(selected, id);
203
+ if (read.doc.id !== id || typeof read.version !== "string" || !read.version)
204
+ throw new Error("backend returned an invalid concept identity/version");
205
+ snapshots.set(id, read);
206
+ inventory.push({ id, version: read.version });
207
+ }
208
+ catch (error) {
209
+ inventory.push({ id, version: null });
210
+ unknown("RETIREMENT_CONCEPT_UNREADABLE", id, error);
211
+ }
212
+ }
213
+ const currentDocs = [...snapshots.values()].map(r => r.doc);
214
+ const registry = buildKindRegistry(currentDocs.filter(d => isConventionId(d.id) && d.frontmatter.type === "Convention"), [], { okfVersion: edition });
215
+ for (const warning of registry.warnings)
216
+ blockers.push({ code: warning.code, id: "conventions/", message: warning.message, ...(warning.field ? { field: warning.field } : {}) });
217
+ const declarations = [];
218
+ let prepared;
219
+ try {
220
+ if (edition !== "0.1" && edition !== "0.2")
221
+ throw new Error(`unsupported bundle edition '${edition}'`);
222
+ prepared = prepareRecipeInstall(source, { okfVersion: edition, now: "1970-01-01T00:00:00.000Z" });
223
+ const comparison = materializeRecipeForEdition(structuredClone(source), edition);
224
+ const proposed = buildKindRegistry(prepared.docs, [], { okfVersion: edition });
225
+ for (const warning of proposed.warnings)
226
+ blockers.push({ code: warning.code, id: source.id, message: warning.message, ...(warning.field ? { field: warning.field } : {}) });
227
+ for (const target of comparison.docs) {
228
+ const installed = snapshots.get(target.id), current = installed?.doc;
229
+ const next = parseConventionDoc(target, { okfVersion: edition });
230
+ if (!current || !installed || !next.ok) {
231
+ blockers.push({ code: "RETIREMENT_DEFINITION_UNAVAILABLE", id: target.id, message: "retirement requires a readable installed and proposed convention" });
232
+ continue;
233
+ }
234
+ const parsed = parseConventionDoc(current, { okfVersion: edition });
235
+ if (!parsed.ok || current.frontmatter.type !== "Convention" || parsed.kind.governs !== next.kind.governs) {
236
+ blockers.push({ code: "RETIREMENT_DEFINITION_IDENTITY", id: target.id, message: "installed and proposed convention identities differ" });
237
+ continue;
238
+ }
239
+ const kind = parsed.kind;
240
+ if (readRecipeStamp(current)?.id !== source.id || conventionStampState(current) !== "current") {
241
+ blockers.push({ code: "RETIREMENT_OWNERSHIP_UNPROVEN", id: target.id, message: "an unchanged readable same-recipe ownership stamp is required" });
242
+ continue;
243
+ }
244
+ if (kindDeprecationProblems(kind, registry).length)
245
+ continue;
246
+ const retiredFields = new Set();
247
+ const add = (coordinate, name, value) => {
248
+ const candidate = { definition: target.id, kind: kind.governs, coordinate, name, ...(value === undefined ? {} : { value }), installed_version: installed.version,
249
+ proposed_definition_digest: definitionDigest(prepared.docs.find(d => d.id === target.id)), usage: [] };
250
+ for (const doc of currentDocs.filter(d => d.frontmatter.type === kind.governs)) {
251
+ for (const row of inspectKindDeprecatedUsage(doc, kind)) {
252
+ if (row.field !== name || row.code !== (coordinate === "field" ? "KIND_DEPRECATED_FIELD" : coordinate === "value" ? "KIND_DEPRECATED_VALUE" : "KIND_DEPRECATED_LINK"))
253
+ continue;
254
+ if (coordinate === "value" && row.value !== value)
255
+ continue;
256
+ candidate.usage.push({ id: doc.id, count: row.count, ...(row.unknown ? { unknown: true } : {}) });
257
+ }
258
+ }
259
+ declarations.push(candidate);
260
+ restoreOmission(target, current, coordinate, name, value);
261
+ };
262
+ const desiredFields = new Set([...next.kind.fields.required, ...next.kind.fields.optional]);
263
+ for (const name of kind.fields.optional)
264
+ if (!desiredFields.has(name) && kind.deprecated?.fields.includes(name)) {
265
+ if (Object.hasOwn(kind.fields.terminal, name) && kind.fields.terminal[name].length) {
266
+ blockers.push({ code: "RETIREMENT_TERMINAL_CHANGE_UNSUPPORTED", id: target.id, field: name, message: "terminal coordinates require a separate migration" });
267
+ continue;
268
+ }
269
+ retiredFields.add(name);
270
+ add("field", name);
271
+ }
272
+ for (const [name, values] of Object.entries(kind.fields.values))
273
+ if (!retiredFields.has(name)) {
274
+ const remaining = Object.hasOwn(next.kind.fields.values, name) ? next.kind.fields.values[name] : undefined;
275
+ if (!remaining)
276
+ continue; // Whole vocabulary removal remains the additive owner's unsupported omission.
277
+ const deprecatedValues = kind.deprecated && Object.hasOwn(kind.deprecated.values, name) ? kind.deprecated.values[name] : [];
278
+ for (const value of values)
279
+ if (!remaining.includes(value) && deprecatedValues.includes(value))
280
+ add("value", name, value);
281
+ }
282
+ for (const name of Object.keys(kind.links ?? {}))
283
+ if (!Object.hasOwn(next.kind.links ?? {}, name) && kind.deprecated?.links.includes(name))
284
+ add("link", name);
285
+ const restored = parseConventionDoc(target, { okfVersion: edition });
286
+ if (restored.ok)
287
+ for (const [field, before, after] of [
288
+ ["fields.types", kind.fields.types ?? {}, restored.kind.fields.types ?? {}],
289
+ ["fields.required", sorted(kind.fields.required), sorted(restored.kind.fields.required)],
290
+ ["fields.terminal", kind.fields.terminal, restored.kind.fields.terminal], ["claim", kind.claim ?? {}, restored.kind.claim ?? {}],
291
+ ["sections", kind.sections ?? [], restored.kind.sections ?? []],
292
+ ])
293
+ if (!okfValuesEqual(before, after))
294
+ blockers.push({ code: "RETIREMENT_MIGRATION_UNSUPPORTED", id: target.id, field, message: "retirement inspection does not authorize unrelated type, required, terminal or claim migrations" });
295
+ }
296
+ for (const doc of currentDocs.filter(d => isConventionId(d.id) && readRecipeStamp(d)?.id === source.id)) {
297
+ if (!comparison.docs.some(d => d.id === doc.id))
298
+ blockers.push({ code: "RETIREMENT_DEFINITION_OMISSION_UNSUPPORTED", id: doc.id, message: "whole convention removal is not declaration retirement" });
299
+ }
300
+ // Existing evolution owns all non-retirement omissions, replacements, source warnings and instance validation.
301
+ const compatibility = await planRecipeEvolution(selected, comparison);
302
+ blockers.push(...compatibility.blockers);
303
+ }
304
+ catch (error) {
305
+ blockers.push({ code: "RETIREMENT_SOURCE_UNVERIFIABLE", id: source.id, message: error instanceof Error ? error.message : String(error) });
306
+ }
307
+ try {
308
+ final = sorted(await backend.list());
309
+ if (!okfValuesEqual(initial, final))
310
+ unknown("RETIREMENT_INVENTORY_CHANGED", "*", "concept membership changed while scanning");
311
+ for (const row of inventory)
312
+ if (row.version !== null) {
313
+ try {
314
+ if ((await readDocVersioned(selected, row.id)).version !== row.version)
315
+ unknown("RETIREMENT_CONCEPT_CHANGED", row.id, "concept version changed while scanning");
316
+ }
317
+ catch (error) {
318
+ unknown("RETIREMENT_CONCEPT_CHANGED", row.id, error);
319
+ }
320
+ }
321
+ if (((await backend.readReserved("", "index.md"))?.version ?? null) !== indexVersion)
322
+ unknown("RETIREMENT_EDITION_CHANGED", "index.md", "root index changed while scanning");
323
+ }
324
+ catch (error) {
325
+ unknown("RETIREMENT_INVENTORY_UNVERIFIABLE", "*", error);
326
+ }
327
+ issues.sort((a, b) => compare(JSON.stringify(a), JSON.stringify(b)));
328
+ blockers.sort((a, b) => compare(JSON.stringify(a), JSON.stringify(b)));
329
+ const bundleId = declaredBundleId(snapshots.get(BUNDLE_NAME_DOC_ID)?.doc);
330
+ const complete = issues.length === 0;
331
+ const localBase = { complete, consistency: "observed-stable-reads-not-an-atomic-snapshot", target_root: selected.root,
332
+ ...(bundleId ? { bundle_id: bundleId } : {}), okf_version: edition, root_index_version: indexVersion, initial_ids: initial, final_ids: final, inventory, issues };
333
+ const local = { ...localBase,
334
+ verdict: declarations.some(d => d.usage.some(u => !u.unknown)) ? "used" : !complete || blockers.length > 0 || declarations.some(d => d.usage.some(u => u.unknown)) ? "unknown" : "complete-clean",
335
+ observation_digest: recipePreflightDigest(localBase) };
336
+ const consumers = await consumersFor(evidence, evidencePresent, source, prepared, snapshots, local);
337
+ const report = { recipe: "declaration retirement inspection", id: source.id, version: source.version, source: source.source, source_digest: recipeSourceDigest(source),
338
+ scope: "observed-local-concepts-and-supplied-structural-consumers", can_apply: false, apply_blocker: "RETIREMENT_APPLY_NOT_IMPLEMENTED",
339
+ analysis: blockers.length || consumers.status === "refused" ? "refused" : !complete || local.verdict === "unknown" || consumers.status === "partial" ? "partial" : "complete",
340
+ declarations, blockers, local, consumers, external_consumers: "unknown-unenumerated-offline-and-arbitrary-code",
341
+ proposed_definitions: (prepared ? candidateOwned(prepared) : []).map(doc => ({ id: doc.id, definition_digest: definitionDigest(doc), hypothetical_content_version: contentVersion(doc) })) };
342
+ return { report, source, ...(prepared ? { installation: prepared } : {}), snapshots, bundle: selected };
343
+ }
344
+ export async function planRecipeDeclarationRetirement(bundle, source, options = {}) {
345
+ return (await prepareRecipeDeclarationRetirement(bundle, source, options)).report;
346
+ }
347
+ //# sourceMappingURL=retirement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retirement.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/retirement.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export interface RestJsonCursor {
14
14
  }
15
15
  export declare const restJsonProfile: SourceProfile<ConnectorSource, RestJsonCursor>;
16
16
  /** Contract-1 composition helpers for explicitly trusted standalone source plugins. */
17
- export declare const SOURCE_PLUGIN_CORE_VERSION = "0.2.0-pre.32";
17
+ export declare const SOURCE_PLUGIN_CORE_VERSION = "0.2.0-pre.33";
18
18
  export interface SourcePluginHelpers {
19
19
  readonly restJsonProfile: typeof restJsonProfile;
20
20
  readonly nextLinkTarget: typeof nextLinkTarget;
@@ -196,7 +196,7 @@ export const restJsonProfile = Object.freeze({
196
196
  },
197
197
  });
198
198
  /** Contract-1 composition helpers for explicitly trusted standalone source plugins. */
199
- export const SOURCE_PLUGIN_CORE_VERSION = "0.2.0-pre.32";
199
+ export const SOURCE_PLUGIN_CORE_VERSION = "0.2.0-pre.33";
200
200
  export { nextLinkTarget };
201
201
  export const SOURCE_PROFILES = Object.freeze([restJsonProfile].map(profile => Object.freeze({ id: profile.id, version: profile.version, kind: profile.kind })));
202
202
  /** Inert lookup. Extensions are explicit caller imports, never discovered or executed here. */
package/dist/storage.d.ts CHANGED
@@ -14,4 +14,6 @@ export type { DocumentHead } from "./heads-digest.js";
14
14
  export * from "./blob-journal.js";
15
15
  export { captureBlobHead, isBlobContentType } from "./blob-contract.js";
16
16
  export type { BlobHead } from "./blob-contract.js";
17
+ export { INVENTORY_GUARD_DOMAIN, InventoryGuardConflict, InventoryGuardUnsupported, inventoryGuardFor } from "./inventory-guard.js";
18
+ export type { InventoryEntry, InventoryGuard, InventoryGuardTarget, InventoryGuardRequest, InventoryGuardResult } from "./inventory-guard.js";
17
19
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,YAAY,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG7F,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACjF,YAAY,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F,YAAY,EACV,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG7F,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACjF,YAAY,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpI,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/storage.js CHANGED
@@ -15,4 +15,5 @@ export { headsDigest, isHeadsDigest, sortHeads } from "./heads-digest.js";
15
15
  // Optional file-only frozen ordinary-file journal; no broader backend requirement.
16
16
  export * from "./blob-journal.js";
17
17
  export { captureBlobHead, isBlobContentType } from "./blob-contract.js";
18
+ export { INVENTORY_GUARD_DOMAIN, InventoryGuardConflict, InventoryGuardUnsupported, inventoryGuardFor } from "./inventory-guard.js";
18
19
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAqB1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,+FAA+F;AAC/F,4EAA4E;AAC5E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAcjF,kGAAkG;AAClG,yFAAyF;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,4FAA4F;AAC5F,6EAA6E;AAC7E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG1E,mFAAmF;AACnF,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAqB1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,+FAA+F;AAC/F,4EAA4E;AAC5E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAcjF,kGAAkG;AAClG,yFAAyF;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,4FAA4F;AAC5F,6EAA6E;AAC7E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG1E,mFAAmF;AACnF,cAAc,mBAAmB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -253,6 +253,8 @@ export interface StorageCapabilities {
253
253
  * identity of the returned document even when the input document carries a different `id`.
254
254
  */
255
255
  export interface StorageBackend {
256
+ /** Optional exact-store cooperating-writer inventory comparison plus one concept write. */
257
+ readonly inventoryGuard?: import("./inventory-guard.js").InventoryGuard;
256
258
  /** Read + parse the concept document at `id`, with its version token. Rejects (ENOENT-shaped) if absent. */
257
259
  read(id: ConceptId): Promise<ReadResult>;
258
260
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superbee/core",
3
- "version": "0.2.0-pre.32",
3
+ "version": "0.2.0-pre.33",
4
4
  "type": "module",
5
5
  "description": "OKF store engine \u2014 bundle I/O, cross-links, derived backlinks, freshness, and versioned writes.",
6
6
  "license": "Apache-2.0",