@davidorex/pi-context 0.30.0 → 0.32.0

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 (90) hide show
  1. package/CHANGELOG.md +127 -0
  2. package/README.md +27 -11
  3. package/dist/block-api.d.ts +13 -0
  4. package/dist/block-api.d.ts.map +1 -1
  5. package/dist/block-api.js +28 -3
  6. package/dist/block-api.js.map +1 -1
  7. package/dist/content-hash.d.ts +13 -0
  8. package/dist/content-hash.d.ts.map +1 -1
  9. package/dist/content-hash.js +16 -0
  10. package/dist/content-hash.js.map +1 -1
  11. package/dist/context-dir.d.ts +12 -0
  12. package/dist/context-dir.d.ts.map +1 -1
  13. package/dist/context-dir.js +14 -0
  14. package/dist/context-dir.js.map +1 -1
  15. package/dist/context-sdk.d.ts +71 -33
  16. package/dist/context-sdk.d.ts.map +1 -1
  17. package/dist/context-sdk.js +547 -149
  18. package/dist/context-sdk.js.map +1 -1
  19. package/dist/context.d.ts +213 -2
  20. package/dist/context.d.ts.map +1 -1
  21. package/dist/context.js +119 -5
  22. package/dist/context.js.map +1 -1
  23. package/dist/index.d.ts +595 -9
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2225 -55
  26. package/dist/index.js.map +1 -1
  27. package/dist/lens-view.d.ts +0 -5
  28. package/dist/lens-view.d.ts.map +1 -1
  29. package/dist/lens-view.js +43 -1
  30. package/dist/lens-view.js.map +1 -1
  31. package/dist/migration-registry-loader.d.ts +36 -12
  32. package/dist/migration-registry-loader.d.ts.map +1 -1
  33. package/dist/migration-registry-loader.js +79 -17
  34. package/dist/migration-registry-loader.js.map +1 -1
  35. package/dist/migrations-store.d.ts +45 -18
  36. package/dist/migrations-store.d.ts.map +1 -1
  37. package/dist/migrations-store.js +56 -22
  38. package/dist/migrations-store.js.map +1 -1
  39. package/dist/ops-registry.d.ts +16 -0
  40. package/dist/ops-registry.d.ts.map +1 -1
  41. package/dist/ops-registry.js +352 -117
  42. package/dist/ops-registry.js.map +1 -1
  43. package/dist/pending-blocked-store.d.ts +83 -0
  44. package/dist/pending-blocked-store.d.ts.map +1 -0
  45. package/dist/pending-blocked-store.js +93 -0
  46. package/dist/pending-blocked-store.js.map +1 -0
  47. package/dist/promote-item.d.ts.map +1 -1
  48. package/dist/promote-item.js +41 -12
  49. package/dist/promote-item.js.map +1 -1
  50. package/dist/roadmap-plan.d.ts +121 -99
  51. package/dist/roadmap-plan.d.ts.map +1 -1
  52. package/dist/roadmap-plan.js +281 -345
  53. package/dist/roadmap-plan.js.map +1 -1
  54. package/dist/schema-merge.d.ts +26 -0
  55. package/dist/schema-merge.d.ts.map +1 -0
  56. package/dist/schema-merge.js +176 -0
  57. package/dist/schema-merge.js.map +1 -0
  58. package/dist/status-vocab.d.ts +12 -2
  59. package/dist/status-vocab.d.ts.map +1 -1
  60. package/dist/status-vocab.js +14 -1
  61. package/dist/status-vocab.js.map +1 -1
  62. package/package.json +2 -1
  63. package/samples/blocks/milestone.json +3 -0
  64. package/samples/blocks/session-notes.json +1 -0
  65. package/samples/conception.json +358 -15
  66. package/samples/migrations.json +8 -0
  67. package/samples/schemas/context-contracts.schema.json +4 -0
  68. package/samples/schemas/conventions.schema.json +4 -0
  69. package/samples/schemas/decisions.schema.json +4 -0
  70. package/samples/schemas/features.schema.json +4 -0
  71. package/samples/schemas/framework-gaps.schema.json +5 -1
  72. package/samples/schemas/issues.schema.json +30 -2
  73. package/samples/schemas/layer-plans.schema.json +6 -2
  74. package/samples/schemas/milestone.schema.json +79 -0
  75. package/samples/schemas/phase.schema.json +4 -0
  76. package/samples/schemas/rationale.schema.json +4 -0
  77. package/samples/schemas/requirements.schema.json +4 -0
  78. package/samples/schemas/research.schema.json +5 -1
  79. package/samples/schemas/session-notes.schema.json +89 -0
  80. package/samples/schemas/spec-reviews.schema.json +4 -0
  81. package/samples/schemas/story.schema.json +8 -0
  82. package/samples/schemas/tasks.schema.json +4 -0
  83. package/samples/schemas/verification.schema.json +4 -0
  84. package/samples/schemas/work-orders.schema.json +6 -2
  85. package/schemas/config.schema.json +101 -3
  86. package/schemas/migrations.schema.json +25 -0
  87. package/schemas/pending-blocked.schema.json +190 -0
  88. package/skill-narrative.md +14 -10
  89. package/skills/pi-context/SKILL.md +127 -49
  90. package/skills/pi-context/references/bundled-resources.md +7 -2
@@ -32,7 +32,13 @@
32
32
  * primitive constructors String(v) / Number(v) / Boolean(v); for
33
33
  * 'array' coercion uses [].concat(v) so a non-array value becomes a
34
34
  * single-element array (and an existing array passes through
35
- * unchanged); for 'object' coercion uses Object(v).
35
+ * unchanged); for 'object' coercion uses Object(v). 'map_each'
36
+ * addresses an ARRAY at the path (absent path / non-array value
37
+ * no-op) and maps its elements: table mode replaces each string
38
+ * element via a lookup (unmatched strings become
39
+ * { relation_type: <element>, item_endpoint: fallback ?? 'parent' };
40
+ * non-string elements pass through); set-on-each mode assigns
41
+ * field=value on every object element (non-objects skipped).
36
42
  *
37
43
  * Identity migrations are the pass-through case the operator declares when
38
44
  * the bumped schema is shape-compatible with the prior version; the closure
@@ -48,14 +54,15 @@ import { createRegistry } from "./schema-migrations.js";
48
54
  * RESOLVED SUBSTRATE DIR (`path.resolve(substrateDir)`) — not by cwd. The cwd
49
55
  * and dir forms converge on this single key: the cwd forms first resolve
50
56
  * `cwd → substrateDir` via the bootstrap pointer, then read/invalidate the
51
- * dir-keyed entry. Invalidated by `invalidateMigrationRegistry(cwd)` /
52
- * `invalidateMigrationRegistryForDir(substrateDir)` after a successful
53
- * migrations.json mutation so the next consumer sees the new declarations
54
- * without restarting the process.
57
+ * dir-keyed entry. Invalidation fires inside the migrations-store write
58
+ * funnel `writeMigrationsFileForDir` (which every migrations.json write —
59
+ * both forms, all mutation helpers flows through), so every write leaves
60
+ * the next consumer reading the new declarations without restarting the
61
+ * process.
55
62
  *
56
63
  * Keying on the resolved dir (rather than cwd) is load-bearing for coherence:
57
64
  * the block writers read the registry via `getProjectMigrationRegistryForDir`
58
- * (dir-keyed); a migration declaration invalidates via the cwd form. If the
65
+ * (dir-keyed); the write funnel invalidates on the same resolved dir. If the
59
66
  * read key (resolved dir) and the invalidate key (raw cwd) diverged — which
60
67
  * they do whenever cwd ≠ substrateDir, e.g. `<root>` vs `<root>/.project` —
61
68
  * the post-declaration read would serve a stale pre-declaration registry. The
@@ -173,6 +180,26 @@ function applyOp(data, op) {
173
180
  read.parent[read.key] = next;
174
181
  return data;
175
182
  }
183
+ case "map_each": {
184
+ const read = walkPath(data, op.path, false);
185
+ if (read.parent === null || !(read.key in read.parent))
186
+ return data;
187
+ const arr = read.parent[read.key];
188
+ if (!Array.isArray(arr))
189
+ return data;
190
+ if (op.table) {
191
+ read.parent[read.key] = arr.map((el) => typeof el === "string"
192
+ ? (op.table[el] ?? { relation_type: el, item_endpoint: op.fallback ?? "parent" })
193
+ : el);
194
+ }
195
+ else if (op.field !== undefined) {
196
+ for (const el of arr) {
197
+ if (el && typeof el === "object")
198
+ el[op.field] = op.value;
199
+ }
200
+ }
201
+ return data;
202
+ }
176
203
  }
177
204
  }
178
205
  /**
@@ -235,6 +262,39 @@ export function buildRegistryFromSubstrateForDir(substrateDir) {
235
262
  }
236
263
  return reg;
237
264
  }
265
+ /**
266
+ * The chain-merging sibling of `buildRegistryFromSubstrateForDir`: build a
267
+ * fresh MigrationRegistry seeded from the substrate's persisted decls PLUS an
268
+ * in-memory `chain` of catalog edges, deduped on (schemaName, fromVersion).
269
+ * Existing decls are seeded first so the substrate decl WINS a key collision
270
+ * with a chain edge — `createRegistry().register` throws on a duplicate
271
+ * (schemaName, fromVersion), so each key is registered at most once.
272
+ *
273
+ * Aims to centralize the registry-seeding shape that the read-only update /
274
+ * diagnostic paths (resync simulation, catalog validation, blocked
275
+ * resolution) each constructed inline. Touches neither the registry cache nor
276
+ * disk: those paths intentionally need a FRESH registry so they never warm the
277
+ * project's cached `getProjectMigrationRegistryForDir` entry from a read-only
278
+ * operation.
279
+ */
280
+ export function buildFreshRegistryWithChain(substrateDir, chain) {
281
+ const reg = createRegistry();
282
+ const seeded = new Set();
283
+ const existing = loadMigrationsFileForDir(substrateDir);
284
+ for (const decl of [...(existing?.migrations ?? []), ...chain]) {
285
+ const key = `${decl.schemaName} ${decl.fromVersion}`;
286
+ if (seeded.has(key))
287
+ continue;
288
+ reg.register({
289
+ schemaName: decl.schemaName,
290
+ fromVersion: decl.fromVersion,
291
+ toVersion: decl.toVersion,
292
+ migrate: migrationFnFor(decl),
293
+ });
294
+ seeded.add(key);
295
+ }
296
+ return reg;
297
+ }
238
298
  export function buildRegistryFromSubstrate(cwd) {
239
299
  return buildRegistryFromSubstrateForDir(resolveContextDir(cwd));
240
300
  }
@@ -260,8 +320,8 @@ export function getProjectMigrationRegistry(cwd) {
260
320
  *
261
321
  * The cwd form (`getProjectMigrationRegistry`) resolves `cwd → substrateDir`
262
322
  * and delegates here, so when `substrateDir === resolveContextDir(cwd)` both
263
- * forms hit the SAME entry. The migrations-store mutation helpers invalidate
264
- * via `invalidateMigrationRegistry(cwd)`, which resolves the same dir key and
323
+ * forms hit the SAME entry. The migrations-store write funnel
324
+ * (`writeMigrationsFileForDir`) invalidates on the same resolved-dir key and
265
325
  * deletes the entry this builder populates — so a declare-then-read sequence
266
326
  * (mutate migrations.json, then `writeBlockForDir` re-reads) rebuilds against
267
327
  * the fresh declarations rather than serving a stale registry.
@@ -278,7 +338,10 @@ export function getProjectMigrationRegistryForDir(substrateDir) {
278
338
  /**
279
339
  * Drop the cached MigrationRegistry for an explicit substrate directory (if
280
340
  * any). Deletes `path.resolve(substrateDir)` — the SAME key the read forms
281
- * populate, so an invalidation here is observed by the next read.
341
+ * populate, so an invalidation here is observed by the next read. Called by
342
+ * the migrations-store write funnel `writeMigrationsFileForDir` after each
343
+ * successful migrations.json write (the single invalidation site for the
344
+ * whole mutation surface).
282
345
  *
283
346
  * No-op when no entry is cached — invalidation is cheap and write-after-no-
284
347
  * cache is a normal pre-warming state.
@@ -287,18 +350,17 @@ export function invalidateMigrationRegistryForDir(substrateDir) {
287
350
  registryCache.delete(path.resolve(substrateDir));
288
351
  }
289
352
  /**
290
- * Drop the cached MigrationRegistry for `cwd` (if any). Called by each
291
- * migrations-store mutation helper after a successful write so the next
292
- * consumer reads the fresh declarations without process restart.
353
+ * Drop the cached MigrationRegistry for `cwd` (if any) the cwd convenience
354
+ * form for callers holding a project root rather than a resolved substrate
355
+ * dir. The canonical invalidation site is the migrations-store write funnel
356
+ * `writeMigrationsFileForDir`, which calls the ForDir form directly.
293
357
  *
294
358
  * Resolves `cwd → substrateDir` and delegates to the ForDir form so the
295
359
  * deleted key MATCHES the resolved-substrate-dir key the read path uses (the
296
360
  * Regression-B fix: pre-fix this deleted `path.resolve(cwd)`, a different key
297
- * from the dir-keyed read entry, leaving the post-declaration read stale). The
298
- * mutation helpers always call this after a successful `writeMigrationsFile`,
299
- * which itself required the pointer to resolve — so resolution is normally
300
- * safe; `tryResolveContextDir` guards the absent-pointer edge with a no-op
301
- * rather than throwing during invalidation.
361
+ * from the dir-keyed read entry, leaving the post-declaration read stale).
362
+ * `tryResolveContextDir` guards the absent-pointer edge with a no-op rather
363
+ * than throwing during invalidation.
302
364
  */
303
365
  export function invalidateMigrationRegistry(cwd) {
304
366
  const substrateDir = tryResolveContextDir(cwd);
@@ -1 +1 @@
1
- {"version":3,"file":"migration-registry-loader.js","sourceRoot":"","sources":["../src/migration-registry-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration-registry-loader.js","sourceRoot":"","sources":["../src/migration-registry-loader.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,8 @@
21
21
  * - removeMigrationDecl requires the pair to be PRESENT; a missing target
22
22
  * throws.
23
23
  *
24
- * After each successful mutation the helper invokes
25
- * `invalidateMigrationRegistry(cwd)` (migration-registry-loader.ts) so the
24
+ * Every migrations.json write flows through `writeMigrationsFileForDir`,
25
+ * which invalidates the loader cache (migration-registry-loader.ts) so the
26
26
  * next `getProjectMigrationRegistry(cwd)` consumer reads the fresh
27
27
  * declarations without process restart. The store↔loader edge is mutually
28
28
  * cyclic (loader reads from store; store writes invalidate loader cache);
@@ -57,6 +57,13 @@ export type TransformOp = {
57
57
  op: "coerce";
58
58
  path: string;
59
59
  type: "string" | "number" | "boolean" | "array" | "object";
60
+ } | {
61
+ op: "map_each";
62
+ path: string;
63
+ table?: Record<string, Record<string, unknown>>;
64
+ fallback?: "parent" | "child";
65
+ field?: string;
66
+ value?: unknown;
60
67
  };
61
68
  export interface TransformSpec {
62
69
  operations: TransformOp[];
@@ -91,8 +98,8 @@ export declare function loadMigrationsFile(cwd: string): MigrationsFile | null;
91
98
  * block-api's writeTypedFile against the bundled migrations schema. `ctx` is
92
99
  * accepted for call-site parity with the rest of the substrate write surface;
93
100
  * the migrations schema declares no envelope author fields so stamping is a
94
- * structural no-op today (the loader-cache invalidation upstream of this call
95
- * is the side-effect that matters for read-after-write parity).
101
+ * structural no-op today (the loader-cache invalidation inside the ForDir
102
+ * funnel is the side-effect that matters for read-after-write parity).
96
103
  */
97
104
  export declare function writeMigrationsFile(cwd: string, file: MigrationsFile, ctx?: DispatchContext): void;
98
105
  /**
@@ -102,40 +109,60 @@ export declare function writeMigrationsFile(cwd: string, file: MigrationsFile, c
102
109
  * dir directly (no `.pi-context.json` pointer resolution). The cwd form is a
103
110
  * thin wrapper resolving the active dir; behaviour is byte-identical when called
104
111
  * via cwd. Same attestation-parity no-op semantics as the cwd form (the
105
- * migrations schema declares no envelope author fields). Does NOT invalidate any
106
- * loader cache the cache-invalidation side-effect lives on the
107
- * appendMigrationDecl mutation helpers, not the raw whole-file write.
112
+ * migrations schema declares no envelope author fields). Invalidates the loader
113
+ * cache for `substrateDir` after the write this funnel is the single path
114
+ * every migrations.json write (both forms, all mutation helpers) flows through,
115
+ * so every write is cache-coherent: the next registry consumer rebuilds from
116
+ * the fresh declarations.
108
117
  */
109
118
  export declare function writeMigrationsFileForDir(substrateDir: string, file: MigrationsFile, ctx?: DispatchContext): void;
110
119
  /**
111
120
  * Append a new MigrationDecl to the substrate. Op-correctness: the
112
121
  * (schemaName, fromVersion) pair must be ABSENT on-disk; collision throws.
113
- * Invalidates the loader cache for `cwd` after a successful write so the
114
- * next registry consumer reads the fresh declaration.
122
+ * The write flows through the `writeMigrationsFileForDir` funnel, which
123
+ * invalidates the loader cache so the next registry consumer reads the
124
+ * fresh declaration.
115
125
  */
116
126
  export declare function appendMigrationDecl(cwd: string, decl: MigrationDecl, ctx?: DispatchContext): void;
117
127
  /**
118
128
  * Dir-targeted twin of {@link appendMigrationDecl} (Cycle-1 `*ForDir` pattern).
119
129
  * Append a new MigrationDecl to the substrate at `substrateDir`. Op-correctness:
120
130
  * the (schemaName, fromVersion) pair must be ABSENT on-disk; collision throws.
121
- * Invalidates the loader cache for `substrateDir` after a successful write so
122
- * the next registry consumer reads the fresh declaration. The cwd form is a thin
123
- * wrapper resolving the active dir; behaviour is byte-identical when called via
124
- * cwd (resolveContextDir(cwd) invalidateMigrationRegistry(cwd) routes through
125
- * invalidateMigrationRegistryForDir on the same dir).
131
+ * The write flows through the `writeMigrationsFileForDir` funnel, which
132
+ * invalidates the loader cache for `substrateDir` so the next registry consumer
133
+ * reads the fresh declaration. The cwd form is a thin wrapper resolving the
134
+ * active dir; behaviour is byte-identical when called via cwd.
126
135
  */
127
136
  export declare function appendMigrationDeclForDir(substrateDir: string, decl: MigrationDecl, ctx?: DispatchContext): void;
128
137
  /**
129
138
  * Replace an existing MigrationDecl identified by (schemaName, fromVersion).
130
139
  * Op-correctness: target must be PRESENT; missing target throws. The whole
131
- * decl is replaced (no per-field merge). Invalidates the loader cache after a
132
- * successful write.
140
+ * decl is replaced (no per-field merge). The write flows through the
141
+ * `writeMigrationsFileForDir` funnel, which invalidates the loader cache.
133
142
  */
134
143
  export declare function replaceMigrationDecl(cwd: string, decl: MigrationDecl, ctx?: DispatchContext): void;
135
144
  /**
136
145
  * Remove an existing MigrationDecl identified by (schemaName, fromVersion).
137
- * Op-correctness: target must be PRESENT; missing target throws. Invalidates
138
- * the loader cache after a successful write.
146
+ * Op-correctness: target must be PRESENT; missing target throws. The write
147
+ * flows through the `writeMigrationsFileForDir` funnel, which invalidates the
148
+ * loader cache.
139
149
  */
140
150
  export declare function removeMigrationDecl(cwd: string, schemaName: string, fromVersion: string, ctx?: DispatchContext): void;
151
+ /**
152
+ * Ceremony seeding site (init / accept-all / install): copy the packaged
153
+ * catalog's `config`-schema MigrationDecl entries into the substrate's
154
+ * migrations.json so a catalog-born (or re-entered legacy) substrate carries
155
+ * the config migration chain BEFORE any config read walks it. Idempotent —
156
+ * a decl is appended only when its (schemaName, fromVersion) pair is absent
157
+ * on-disk; an existing entry is never replaced. Returns the appended edges
158
+ * (empty when everything was already present or the packaged catalog ships
159
+ * no migrations file). No-op on a nonexistent substrate dir — the seed heals
160
+ * substrates, it never materializes them (ceremonies that need the dir create
161
+ * it themselves before seeding).
162
+ */
163
+ export declare function seedCatalogConfigMigrationDecls(substrateDir: string, ctx?: DispatchContext): Array<{
164
+ schema: string;
165
+ from: string;
166
+ to: string;
167
+ }>;
141
168
  //# sourceMappingURL=migrations-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrations-store.d.ts","sourceRoot":"","sources":["../src/migrations-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAc7D;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACpB;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,EAAE,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;CAAE,CAAC;AAE9F,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,GAAG,uBAAuB,CAAC;IAC3C,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAiBpF;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAErE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,IAAI,CAElG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,IAAI,CAEjH;AA6BD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,IAAI,CAEjG;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,IAAI,CAYhH;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,IAAI,CAiBlG;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,IAAI,CAerH"}
1
+ {"version":3,"file":"migrations-store.d.ts","sourceRoot":"","sources":["../src/migrations-store.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,8 @@
21
21
  * - removeMigrationDecl requires the pair to be PRESENT; a missing target
22
22
  * throws.
23
23
  *
24
- * After each successful mutation the helper invokes
25
- * `invalidateMigrationRegistry(cwd)` (migration-registry-loader.ts) so the
24
+ * Every migrations.json write flows through `writeMigrationsFileForDir`,
25
+ * which invalidates the loader cache (migration-registry-loader.ts) so the
26
26
  * next `getProjectMigrationRegistry(cwd)` consumer reads the fresh
27
27
  * declarations without process restart. The store↔loader edge is mutually
28
28
  * cyclic (loader reads from store; store writes invalidate loader cache);
@@ -40,7 +40,7 @@ import path from "node:path";
40
40
  import { fileURLToPath } from "node:url";
41
41
  import { writeTypedFile } from "./block-api.js";
42
42
  import { migrationsPath, migrationsPathForDir, resolveContextDir } from "./context-dir.js";
43
- import { invalidateMigrationRegistry, invalidateMigrationRegistryForDir } from "./migration-registry-loader.js";
43
+ import { invalidateMigrationRegistryForDir } from "./migration-registry-loader.js";
44
44
  import { validateFromFile } from "./schema-validator.js";
45
45
  /**
46
46
  * Resolve the bundled migrations schema file. Mirrors the private
@@ -90,8 +90,8 @@ export function loadMigrationsFile(cwd) {
90
90
  * block-api's writeTypedFile against the bundled migrations schema. `ctx` is
91
91
  * accepted for call-site parity with the rest of the substrate write surface;
92
92
  * the migrations schema declares no envelope author fields so stamping is a
93
- * structural no-op today (the loader-cache invalidation upstream of this call
94
- * is the side-effect that matters for read-after-write parity).
93
+ * structural no-op today (the loader-cache invalidation inside the ForDir
94
+ * funnel is the side-effect that matters for read-after-write parity).
95
95
  */
96
96
  export function writeMigrationsFile(cwd, file, ctx) {
97
97
  writeMigrationsFileForDir(resolveContextDir(cwd), file, ctx);
@@ -103,12 +103,15 @@ export function writeMigrationsFile(cwd, file, ctx) {
103
103
  * dir directly (no `.pi-context.json` pointer resolution). The cwd form is a
104
104
  * thin wrapper resolving the active dir; behaviour is byte-identical when called
105
105
  * via cwd. Same attestation-parity no-op semantics as the cwd form (the
106
- * migrations schema declares no envelope author fields). Does NOT invalidate any
107
- * loader cache the cache-invalidation side-effect lives on the
108
- * appendMigrationDecl mutation helpers, not the raw whole-file write.
106
+ * migrations schema declares no envelope author fields). Invalidates the loader
107
+ * cache for `substrateDir` after the write this funnel is the single path
108
+ * every migrations.json write (both forms, all mutation helpers) flows through,
109
+ * so every write is cache-coherent: the next registry consumer rebuilds from
110
+ * the fresh declarations.
109
111
  */
110
112
  export function writeMigrationsFileForDir(substrateDir, file, ctx) {
111
113
  writeTypedFile(migrationsPathForDir(substrateDir), bundledMigrationsSchemaPath(), file, ctx, "migrations.json");
114
+ invalidateMigrationRegistryForDir(substrateDir);
112
115
  }
113
116
  /**
114
117
  * Compose an initial empty migrations file shape — used by the append helper
@@ -137,8 +140,9 @@ function findMigrationIndex(file, schemaName, fromVersion) {
137
140
  /**
138
141
  * Append a new MigrationDecl to the substrate. Op-correctness: the
139
142
  * (schemaName, fromVersion) pair must be ABSENT on-disk; collision throws.
140
- * Invalidates the loader cache for `cwd` after a successful write so the
141
- * next registry consumer reads the fresh declaration.
143
+ * The write flows through the `writeMigrationsFileForDir` funnel, which
144
+ * invalidates the loader cache so the next registry consumer reads the
145
+ * fresh declaration.
142
146
  */
143
147
  export function appendMigrationDecl(cwd, decl, ctx) {
144
148
  appendMigrationDeclForDir(resolveContextDir(cwd), decl, ctx);
@@ -147,11 +151,10 @@ export function appendMigrationDecl(cwd, decl, ctx) {
147
151
  * Dir-targeted twin of {@link appendMigrationDecl} (Cycle-1 `*ForDir` pattern).
148
152
  * Append a new MigrationDecl to the substrate at `substrateDir`. Op-correctness:
149
153
  * the (schemaName, fromVersion) pair must be ABSENT on-disk; collision throws.
150
- * Invalidates the loader cache for `substrateDir` after a successful write so
151
- * the next registry consumer reads the fresh declaration. The cwd form is a thin
152
- * wrapper resolving the active dir; behaviour is byte-identical when called via
153
- * cwd (resolveContextDir(cwd) invalidateMigrationRegistry(cwd) routes through
154
- * invalidateMigrationRegistryForDir on the same dir).
154
+ * The write flows through the `writeMigrationsFileForDir` funnel, which
155
+ * invalidates the loader cache for `substrateDir` so the next registry consumer
156
+ * reads the fresh declaration. The cwd form is a thin wrapper resolving the
157
+ * active dir; behaviour is byte-identical when called via cwd.
155
158
  */
156
159
  export function appendMigrationDeclForDir(substrateDir, decl, ctx) {
157
160
  const current = loadMigrationsFileForDir(substrateDir) ?? emptyMigrationsFile();
@@ -162,13 +165,12 @@ export function appendMigrationDeclForDir(substrateDir, decl, ctx) {
162
165
  const next = clone(current);
163
166
  next.migrations.push(decl);
164
167
  writeMigrationsFileForDir(substrateDir, next, ctx);
165
- invalidateMigrationRegistryForDir(substrateDir);
166
168
  }
167
169
  /**
168
170
  * Replace an existing MigrationDecl identified by (schemaName, fromVersion).
169
171
  * Op-correctness: target must be PRESENT; missing target throws. The whole
170
- * decl is replaced (no per-field merge). Invalidates the loader cache after a
171
- * successful write.
172
+ * decl is replaced (no per-field merge). The write flows through the
173
+ * `writeMigrationsFileForDir` funnel, which invalidates the loader cache.
172
174
  */
173
175
  export function replaceMigrationDecl(cwd, decl, ctx) {
174
176
  const current = loadMigrationsFile(cwd);
@@ -182,12 +184,12 @@ export function replaceMigrationDecl(cwd, decl, ctx) {
182
184
  const next = clone(current);
183
185
  next.migrations[idx] = decl;
184
186
  writeMigrationsFile(cwd, next, ctx);
185
- invalidateMigrationRegistry(cwd);
186
187
  }
187
188
  /**
188
189
  * Remove an existing MigrationDecl identified by (schemaName, fromVersion).
189
- * Op-correctness: target must be PRESENT; missing target throws. Invalidates
190
- * the loader cache after a successful write.
190
+ * Op-correctness: target must be PRESENT; missing target throws. The write
191
+ * flows through the `writeMigrationsFileForDir` funnel, which invalidates the
192
+ * loader cache.
191
193
  */
192
194
  export function removeMigrationDecl(cwd, schemaName, fromVersion, ctx) {
193
195
  const current = loadMigrationsFile(cwd);
@@ -201,6 +203,38 @@ export function removeMigrationDecl(cwd, schemaName, fromVersion, ctx) {
201
203
  const next = clone(current);
202
204
  next.migrations.splice(idx, 1);
203
205
  writeMigrationsFile(cwd, next, ctx);
204
- invalidateMigrationRegistry(cwd);
206
+ }
207
+ /**
208
+ * Ceremony seeding site (init / accept-all / install): copy the packaged
209
+ * catalog's `config`-schema MigrationDecl entries into the substrate's
210
+ * migrations.json so a catalog-born (or re-entered legacy) substrate carries
211
+ * the config migration chain BEFORE any config read walks it. Idempotent —
212
+ * a decl is appended only when its (schemaName, fromVersion) pair is absent
213
+ * on-disk; an existing entry is never replaced. Returns the appended edges
214
+ * (empty when everything was already present or the packaged catalog ships
215
+ * no migrations file). No-op on a nonexistent substrate dir — the seed heals
216
+ * substrates, it never materializes them (ceremonies that need the dir create
217
+ * it themselves before seeding).
218
+ */
219
+ export function seedCatalogConfigMigrationDecls(substrateDir, ctx) {
220
+ if (!fs.existsSync(substrateDir))
221
+ return [];
222
+ const here = path.dirname(fileURLToPath(import.meta.url));
223
+ const catalogPath = path.resolve(here, "..", "samples", "migrations.json");
224
+ if (!fs.existsSync(catalogPath))
225
+ return [];
226
+ const data = JSON.parse(fs.readFileSync(catalogPath, "utf-8"));
227
+ validateFromFile(bundledMigrationsSchemaPath(), data, `migrations.json (${catalogPath})`);
228
+ const catalog = data;
229
+ const configDecls = catalog.migrations.filter((m) => m.schemaName === "config");
230
+ const existing = loadMigrationsFileForDir(substrateDir);
231
+ const appended = [];
232
+ for (const decl of configDecls) {
233
+ if (existing && findMigrationIndex(existing, decl.schemaName, decl.fromVersion) >= 0)
234
+ continue;
235
+ appendMigrationDeclForDir(substrateDir, decl, ctx);
236
+ appended.push({ schema: decl.schemaName, from: decl.fromVersion, to: decl.toVersion });
237
+ }
238
+ return appended;
205
239
  }
206
240
  //# sourceMappingURL=migrations-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrations-store.js","sourceRoot":"","sources":["../src/migrations-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations-store.js","sourceRoot":"","sources":["../src/migrations-store.ts"],"names":[],"mappings":"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"}
@@ -57,9 +57,25 @@ export interface OpDefinition<P = any> {
57
57
  label: string;
58
58
  description: string;
59
59
  promptSnippet?: string;
60
+ /**
61
+ * Copy-pasteable `pi-context <op> …` invocation strings surfaced by the CLI's
62
+ * per-op `--help` EXAMPLES section (and its `--format json` machine help). Help
63
+ * metadata only — TASK-042 (FEAT-008). Deliberately NOT projected by registerAll
64
+ * into the in-pi tool surface (the in-pi tool exposes only
65
+ * {name,label,description,promptSnippet,parameters}); `examples` is CLI-help-only.
66
+ */
67
+ examples?: string[];
60
68
  parameters: TSchema;
61
69
  run(cwd: string, params: P, ctx?: DispatchContext): OpResult | Promise<OpResult>;
62
70
  authGated?: boolean;
71
+ /**
72
+ * When true, the op's string OpResult is emitted byte-exact on the CLI text
73
+ * surface — no trailing newline appended by the print path — so the output
74
+ * round-trips to a file / is diffable against an on-disk source whose bytes it
75
+ * reproduces verbatim. Carried for that CLI consumer (like `authGated`); the
76
+ * default-unset behavior keeps the prior text-surface trailing-newline framing.
77
+ */
78
+ verbatimText?: boolean;
63
79
  surface: "use" | "process";
64
80
  }
65
81
  export declare const ops: OpDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"ops-registry.d.ts","sourceRoot":"","sources":["../src/ops-registry.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAGX,YAAY,EAEZ,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,SAAS,CAAC;AAkC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAwB7D,OAAO,EAAe,KAAK,cAAc,EAAoC,MAAM,mBAAmB,CAAC;AAQvG;;;;;;;;;;;GAWG;AACH;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;AA4C7E;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAStD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAStD;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC;CAC3B;AA6BD,eAAO,MAAM,GAAG,EAAE,YAAY,EAmjD7B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,EAAsD,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,+BAA+B,EAAE,eAAe,EAgB5D,CAAC;AAEF;;;;;;GAMG;AACH,oBAAY,aAAa;IACxB,4FAA4F;IAC5F,cAAc,qBAAqB;IACnC;;;;;;;;;;;;OAYG;IACH,kBAAkB,yBAAyB;IAC3C;;;;;OAKG;IACH,UAAU,iBAAiB;IAC3B;;;OAGG;IACH,sBAAsB,4BAA4B;IAClD;;;;;OAKG;IACH,iBAAiB,uBAAuB;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAqB5C,CAAC;AAYF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,+BAA+B,CAC9C,MAAM,EAAE,OAAO,EACf,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;CAAE,GAC7C,eAAe,CAOjB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAwBlD"}
1
+ {"version":3,"file":"ops-registry.d.ts","sourceRoot":"","sources":["../src/ops-registry.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAGX,YAAY,EAEZ,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,SAAS,CAAC;AAoC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAgC7D,OAAO,EAA0B,KAAK,cAAc,EAAoC,MAAM,mBAAmB,CAAC;AAQlH;;;;;;;;;;;GAWG;AACH;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;AA4C7E;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAStD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAStD;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,GAAG,EAAE,YAAY,EA01D7B,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,EAAsD,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,+BAA+B,EAAE,eAAe,EAgB5D,CAAC;AAEF;;;;;;GAMG;AACH,oBAAY,aAAa;IACxB,4FAA4F;IAC5F,cAAc,qBAAqB;IACnC;;;;;;;;;;;;OAYG;IACH,kBAAkB,yBAAyB;IAC3C;;;;;OAKG;IACH,UAAU,iBAAiB;IAC3B;;;OAGG;IACH,sBAAsB,4BAA4B;IAClD;;;;;OAKG;IACH,iBAAiB,uBAAuB;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAqB5C,CAAC;AAYF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,+BAA+B,CAC9C,MAAM,EAAE,OAAO,EACf,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;CAAE,GAC7C,eAAe,CAOjB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAwBlD"}