@davidorex/pi-context 0.28.1 → 0.30.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.
- package/CHANGELOG.md +32 -0
- package/README.md +28 -16
- package/dist/block-api.d.ts +12 -3
- package/dist/block-api.d.ts.map +1 -1
- package/dist/block-api.js +16 -5
- package/dist/block-api.js.map +1 -1
- package/dist/context-sdk.d.ts +111 -8
- package/dist/context-sdk.d.ts.map +1 -1
- package/dist/context-sdk.js +191 -15
- package/dist/context-sdk.js.map +1 -1
- package/dist/context.d.ts +103 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +171 -15
- package/dist/context.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -7
- package/dist/index.js.map +1 -1
- package/dist/ops-registry.d.ts +180 -4
- package/dist/ops-registry.d.ts.map +1 -1
- package/dist/ops-registry.js +535 -112
- package/dist/ops-registry.js.map +1 -1
- package/dist/read-element.d.ts +48 -0
- package/dist/read-element.d.ts.map +1 -1
- package/dist/read-element.js +88 -30
- package/dist/read-element.js.map +1 -1
- package/dist/write-schema-migration-tool.d.ts +2 -1
- package/dist/write-schema-migration-tool.d.ts.map +1 -1
- package/dist/write-schema-migration-tool.js +13 -10
- package/dist/write-schema-migration-tool.js.map +1 -1
- package/package.json +1 -1
- package/skills/pi-context/SKILL.md +62 -7
package/dist/context.js
CHANGED
|
@@ -23,7 +23,7 @@ import path from "node:path";
|
|
|
23
23
|
import { fileURLToPath } from "node:url";
|
|
24
24
|
import { appendManyToTypedFileIfAbsent, writeTypedFile } from "./block-api.js";
|
|
25
25
|
import { assertSubstrateName, mintSubstrateId, resolveContextDir, SCHEMAS_DIR, tryResolveContextDir, } from "./context-dir.js";
|
|
26
|
-
import { registerSubstrate } from "./context-registry.js";
|
|
26
|
+
import { loadRegistry, registerSubstrate } from "./context-registry.js";
|
|
27
27
|
import { ValidationError, validateFromFile } from "./schema-validator.js";
|
|
28
28
|
export function normalizeEndpoint(e) {
|
|
29
29
|
if (typeof e === "string") {
|
|
@@ -352,6 +352,47 @@ export function appendRelationForDir(substrateDir, edge, ctx) {
|
|
|
352
352
|
const r = appendRelationsForDir(substrateDir, [edge], ctx);
|
|
353
353
|
return { appended: r.appended > 0 };
|
|
354
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* Remove the single closure-table edge whose (parent, child, relation_type)
|
|
357
|
+
* triple matches `match` by the SAME `identityKey` dedup identity
|
|
358
|
+
* `appendRelation` uses to detect exact-duplicates — so `removeRelation` is
|
|
359
|
+
* symmetric with `appendRelation` (`remove(append(x))` restores the prior set).
|
|
360
|
+
* `ordinal` is NOT part of identity (a re-filing with a different sibling order
|
|
361
|
+
* is the same edge for both append-dedup and removal). Loads the current edge
|
|
362
|
+
* set, filters OUT the matching edge, and `writeRelations` the filtered set.
|
|
363
|
+
*
|
|
364
|
+
* Returns `{ removed: boolean }` — true iff an edge was actually removed; an
|
|
365
|
+
* absent edge is an idempotent no-op (`{ removed: false }`, and the file is NOT
|
|
366
|
+
* rewritten in that case). The match-endpoint forms (string / structured item /
|
|
367
|
+
* lens_bin) compare via `endpointIdentity`, identical to the append side.
|
|
368
|
+
*
|
|
369
|
+
* `ctx` is threaded through to `writeRelationsForDir` for attestation parity;
|
|
370
|
+
* the relations schema is a flat array with no envelope author fields, so
|
|
371
|
+
* stamping is a structural no-op today (same semantics as the rest of the
|
|
372
|
+
* relations write surface).
|
|
373
|
+
*/
|
|
374
|
+
export function removeRelation(cwd, match, ctx) {
|
|
375
|
+
return removeRelationForDir(resolveContextDir(cwd), match, ctx);
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Dir-targeted twin of `removeRelation` (Cycle-1 `*ForDir` pattern). Operates on
|
|
379
|
+
* `<substrateDir>/relations.json` against the ALREADY-RESOLVED substrate dir —
|
|
380
|
+
* no `.pi-context.json` pointer resolution. `removeRelation` is a thin wrapper
|
|
381
|
+
* resolving the active dir; behaviour is byte-identical when called via cwd.
|
|
382
|
+
* Uses the SAME `identityKey` dedup identity as `appendRelationsForDir`, so only
|
|
383
|
+
* the exact (parent, child, relation_type) edge is dropped — a same-parent
|
|
384
|
+
* different-relation_type edge and a same-relation_type different-child edge both
|
|
385
|
+
* survive.
|
|
386
|
+
*/
|
|
387
|
+
export function removeRelationForDir(substrateDir, match, ctx) {
|
|
388
|
+
const existing = loadRelationsForDir(substrateDir);
|
|
389
|
+
const targetKey = identityKey(match);
|
|
390
|
+
const filtered = existing.filter((e) => identityKey(e) !== targetKey);
|
|
391
|
+
if (filtered.length === existing.length)
|
|
392
|
+
return { removed: false };
|
|
393
|
+
writeRelationsForDir(substrateDir, filtered, ctx);
|
|
394
|
+
return { removed: true };
|
|
395
|
+
}
|
|
355
396
|
/**
|
|
356
397
|
* Atomic, AJV-validated write of `<resolveContextDir(cwd)>/config.json`.
|
|
357
398
|
* Delegates to block-api's `writeTypedFile` against the bundled config schema.
|
|
@@ -371,6 +412,118 @@ export function writeConfig(cwd, config, ctx) {
|
|
|
371
412
|
export function writeConfigForDir(substrateDir, config, ctx) {
|
|
372
413
|
writeTypedFile(configPathForDir(substrateDir), bundledSchemaPath("config"), config, ctx, "config.json");
|
|
373
414
|
}
|
|
415
|
+
/**
|
|
416
|
+
* A config is a SKELETON when it carries NO vocabulary content — the minimal
|
|
417
|
+
* schema-valid shape that `initProject` / `switchAndCreate` write so a substrate
|
|
418
|
+
* has a tool-driven config from bootstrap (FGAP-001 / DEC-0001). Identity /
|
|
419
|
+
* scaffold fields (`schema_version`, `root`, `substrate_id`) are IGNORED here —
|
|
420
|
+
* a skeleton can carry a minted `substrate_id` and still be empty of vocabulary.
|
|
421
|
+
*
|
|
422
|
+
* Used by `adoptConception` (accept-all overwrites a skeleton but never a
|
|
423
|
+
* populated config) and `deriveBootstrapState` (a skeleton config is the
|
|
424
|
+
* `skeleton` bootstrap state — onward paths: accept-all OR amend/edit).
|
|
425
|
+
*/
|
|
426
|
+
export function isSkeletonConfig(config) {
|
|
427
|
+
// A skeleton carries NO vocabulary content in ANY registry. The ONLY fields
|
|
428
|
+
// permitted to be present in a skeleton are the identity / scaffold scalars
|
|
429
|
+
// `schema_version`, `root`, `substrate_id` — EVERY other config field (every
|
|
430
|
+
// registry) must be empty/absent. Derive the registry set from
|
|
431
|
+
// `REGISTRY_DESCRIPTORS` (the single source enumerating all addressable
|
|
432
|
+
// registries) so a registry added there is automatically covered here; the
|
|
433
|
+
// descriptor `kind` dictates the emptiness test: `map` → no own keys; every
|
|
434
|
+
// array kind (`keyed-array` / `string-array` / `value-array`) → zero length.
|
|
435
|
+
for (const [registry, descriptor] of Object.entries(REGISTRY_DESCRIPTORS)) {
|
|
436
|
+
const value = config[registry];
|
|
437
|
+
if (descriptor.kind === "map") {
|
|
438
|
+
if (Object.keys((value ?? {})).length > 0) {
|
|
439
|
+
return false;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
else if ((value ?? []).length > 0) {
|
|
443
|
+
return false;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
return true;
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Write the minimal schema-valid SKELETON config to the active substrate's
|
|
450
|
+
* `config.json` (FGAP-001 / DEC-0001) — pointer-resolving like `adoptConception`:
|
|
451
|
+
* resolves the substrate dir from the `.pi-context.json` pointer. NEVER-CLOBBER:
|
|
452
|
+
* returns `{ written: false }` without writing when a config already exists, so a
|
|
453
|
+
* populated (or already-skeleton) config is preserved. Otherwise builds
|
|
454
|
+
* `{ schema_version: "1.0.0", block_kinds: [], root, substrate_id: <minted> }`
|
|
455
|
+
* and writes it via `writeConfigForDir` (atomic tmp+rename + whole-config AJV).
|
|
456
|
+
*
|
|
457
|
+
* The skeleton mints its `substrate_id` via `mintSubstrateId` — the SAME function
|
|
458
|
+
* `adoptConception` uses — and registers it in the project-root registry via
|
|
459
|
+
* `registerSubstrate` (the SAME registration call `adoptConception` makes), so the
|
|
460
|
+
* substrate carries content-addressed identity from bootstrap and the id is
|
|
461
|
+
* resolvable project-wide. A later accept-all that overwrites the skeleton READS
|
|
462
|
+
* and PRESERVES this on-disk id (see `adoptConception`), so identity is stable
|
|
463
|
+
* across `init → accept-all`. `schema_version` is the "1.0.0" literal the packaged
|
|
464
|
+
* `samples/conception.json` declares.
|
|
465
|
+
*
|
|
466
|
+
* The TS `ConfigBlock` type requires fields beyond the runtime AJV authority
|
|
467
|
+
* (`schemas/config.schema.json` requires only `schema_version` + `block_kinds`),
|
|
468
|
+
* so the skeleton is cast `as unknown as ConfigBlock` — runtime validation in
|
|
469
|
+
* `writeConfigForDir` enforces only the schema.
|
|
470
|
+
*/
|
|
471
|
+
export function writeSkeletonConfig(cwd, ctx) {
|
|
472
|
+
const substrateDir = resolveContextDir(cwd); // throws BootstrapNotFoundError if no pointer
|
|
473
|
+
const root = path.relative(cwd, substrateDir);
|
|
474
|
+
if (loadConfig(cwd) !== null) {
|
|
475
|
+
return { written: false };
|
|
476
|
+
}
|
|
477
|
+
const substrate_id = mintSubstrateId();
|
|
478
|
+
const skeleton = {
|
|
479
|
+
schema_version: "1.0.0",
|
|
480
|
+
block_kinds: [],
|
|
481
|
+
root,
|
|
482
|
+
substrate_id,
|
|
483
|
+
};
|
|
484
|
+
writeConfigForDir(substrateDir, skeleton, ctx);
|
|
485
|
+
registerSubstrate(cwd, substrate_id, root, []);
|
|
486
|
+
return { written: true };
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Reconcile the now-active substrate's identity into the project-root registry
|
|
490
|
+
* after a bootstrap-pointer flip (`switchToExisting` / `switchAndCreate` call
|
|
491
|
+
* this post-flip). A `/context switch` onto a config-bearing substrate whose
|
|
492
|
+
* `substrate_id` was never registered (e.g. an externally-authored or
|
|
493
|
+
* separately-bootstrapped substrate) would otherwise leave the id unregistered,
|
|
494
|
+
* and `validateContext`'s SoT-drift invariant would raise a false
|
|
495
|
+
* `substrate_id_unregistered`.
|
|
496
|
+
*
|
|
497
|
+
* Behaviour, operating on the active substrate resolved from the pointer:
|
|
498
|
+
* - No `substrate_id` on the active config (a pre-identity substrate): skip,
|
|
499
|
+
* mirroring the SoT-drift invariant's own absence-skip.
|
|
500
|
+
* - The id is already registered (any entry present): leave it untouched. A
|
|
501
|
+
* present-but-different-dir entry is deliberately NOT overwritten here — that
|
|
502
|
+
* is genuine registry drift and is left for `validateContext` to surface as
|
|
503
|
+
* `substrate_id_registry_mismatch`.
|
|
504
|
+
* - The id is absent from the registry: register it under the active substrate
|
|
505
|
+
* dir (project-root-relative) with empty aliases.
|
|
506
|
+
*/
|
|
507
|
+
export function reconcileActiveSubstrateRegistration(cwd) {
|
|
508
|
+
const dir = resolveContextDir(cwd);
|
|
509
|
+
// Reconciliation is best-effort — a config that cannot be loaded/validated is
|
|
510
|
+
// left for `context-validate` to surface; the switch itself must not break.
|
|
511
|
+
let config;
|
|
512
|
+
try {
|
|
513
|
+
config = loadConfig(cwd);
|
|
514
|
+
}
|
|
515
|
+
catch {
|
|
516
|
+
return { registered: false };
|
|
517
|
+
}
|
|
518
|
+
const id = config?.substrate_id;
|
|
519
|
+
if (!id)
|
|
520
|
+
return { registered: false };
|
|
521
|
+
const entry = loadRegistry(cwd)?.substrates?.[id];
|
|
522
|
+
if (entry)
|
|
523
|
+
return { registered: false };
|
|
524
|
+
registerSubstrate(cwd, id, path.relative(cwd, dir), []);
|
|
525
|
+
return { registered: true };
|
|
526
|
+
}
|
|
374
527
|
/**
|
|
375
528
|
* accept-all: adopt the package's canonical packaged conception
|
|
376
529
|
* (samples/conception.json) as this substrate's config.json (DEC-0037 / DEC-0038
|
|
@@ -386,7 +539,11 @@ export function adoptConception(cwd) {
|
|
|
386
539
|
const root = path.relative(cwd, contextDirAbs);
|
|
387
540
|
const cfgPath = configPath(cwd);
|
|
388
541
|
const existing = loadConfig(cwd);
|
|
389
|
-
|
|
542
|
+
// Never-clobber a POPULATED config (DEC-0011/0038 offer-don't-impose). A
|
|
543
|
+
// SKELETON config (FGAP-001 / DEC-0001 — written by init / switch -c, empty of
|
|
544
|
+
// vocabulary) IS overwritten by the catalog: it carries no vocabulary to
|
|
545
|
+
// protect, and the existing on-disk substrate_id is read + preserved below.
|
|
546
|
+
if (existing && !isSkeletonConfig(existing)) {
|
|
390
547
|
return {
|
|
391
548
|
adopted: false,
|
|
392
549
|
configPath: path.relative(cwd, cfgPath),
|
|
@@ -399,19 +556,18 @@ export function adoptConception(cwd) {
|
|
|
399
556
|
const samplesRoot = path.resolve(here, "..", "samples");
|
|
400
557
|
const conception = JSON.parse(fs.readFileSync(path.join(samplesRoot, "conception.json"), "utf-8"));
|
|
401
558
|
conception.root = root; // SET root from the resolved substrate dir — the conception template ships none (DEC-0041)
|
|
402
|
-
//
|
|
403
|
-
// config.json is the
|
|
404
|
-
//
|
|
405
|
-
//
|
|
406
|
-
//
|
|
407
|
-
//
|
|
408
|
-
//
|
|
409
|
-
//
|
|
410
|
-
//
|
|
411
|
-
//
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
}
|
|
559
|
+
// Resolve + register the per-substrate content-addressed substrate_id.
|
|
560
|
+
// config.json is the SoT for substrate_id. When a SKELETON config already
|
|
561
|
+
// exists (init / switch -c minted + registered an id), accept-all PRESERVES
|
|
562
|
+
// that on-disk id so identity is stable across `init → accept-all`. With no
|
|
563
|
+
// prior config (a fresh accept-all reaching here, `existing` null), mint a new
|
|
564
|
+
// id — the packaged conception ships none. registerSubstrate then upserts the
|
|
565
|
+
// active substrate into the project-root registry under `root` (the
|
|
566
|
+
// project-root-relative substrate dir) with empty aliases; for the preserved-id
|
|
567
|
+
// case it re-upserts the SAME id idempotently. The SoT-drift invariant in
|
|
568
|
+
// validateContext then passes for this substrate.
|
|
569
|
+
conception.substrate_id =
|
|
570
|
+
existing?.substrate_id && existing.substrate_id.length > 0 ? existing.substrate_id : mintSubstrateId();
|
|
415
571
|
writeConfig(cwd, conception);
|
|
416
572
|
registerSubstrate(cwd, conception.substrate_id, root, []);
|
|
417
573
|
return {
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAA2B,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import fs from "node:fs";
|
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
9
9
|
import { readBlock } from "./block-api.js";
|
|
10
|
-
import { adoptConception, installedBlockDestPath, installedSchemaDestPath, loadConfig, loadContext, } from "./context.js";
|
|
10
|
+
import { adoptConception, installedBlockDestPath, installedSchemaDestPath, loadConfig, loadContext, reconcileActiveSubstrateRegistration, writeSkeletonConfig, } from "./context.js";
|
|
11
11
|
import { BootstrapNotFoundError, flipBootstrapPointer, resolveContextDir, SCHEMAS_DIR, schemasDir, tryResolveContextDir, writeBootstrapPointer, } from "./context-dir.js";
|
|
12
12
|
import { contextState, findAppendableBlocks, validateContext } from "./context-sdk.js";
|
|
13
13
|
import { cleanGitEnv } from "./git-env.js";
|
|
@@ -252,6 +252,14 @@ export function initProject(cwd, contextDir) {
|
|
|
252
252
|
skipped.push(`${path.relative(cwd, dir)}/`);
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
|
+
// Write the minimal schema-valid SKELETON config (FGAP-001 / DEC-0001) so the
|
|
256
|
+
// substrate has a tool-driven config from bootstrap — onward paths are
|
|
257
|
+
// /context accept-all (adopt the packaged catalog) OR amend-config / edit
|
|
258
|
+
// (build a custom vocabulary). NEVER-CLOBBER: an idempotent re-init over an
|
|
259
|
+
// existing config (skeleton or populated) leaves it untouched.
|
|
260
|
+
const skeleton = writeSkeletonConfig(cwd);
|
|
261
|
+
const configRel = `${path.relative(cwd, path.join(projectDirPath, "config.json"))}`;
|
|
262
|
+
(skeleton.written ? created : skipped).push(configRel);
|
|
255
263
|
return { created, skipped };
|
|
256
264
|
}
|
|
257
265
|
/**
|
|
@@ -381,14 +389,17 @@ function handleInit(args, ctx) {
|
|
|
381
389
|
if (created.length === 0 && skipped.length > 0) {
|
|
382
390
|
lines.push("Project already initialized — nothing to do.");
|
|
383
391
|
}
|
|
392
|
+
lines.push("");
|
|
393
|
+
lines.push("The substrate now carries a skeleton config (schema-valid, empty of vocabulary). Two onward paths: run /context accept-all to adopt the packaged catalog, OR amend-config / edit config.json to build a custom vocabulary.");
|
|
384
394
|
ctx.ui.notify(lines.join("\n"), "info");
|
|
385
395
|
}
|
|
386
396
|
/**
|
|
387
397
|
* /context accept-all — adopt the canonical packaged conception
|
|
388
398
|
* (samples/conception.json) as this substrate's config.json. Writes config only
|
|
389
|
-
* (no asset materialization — run /context install after).
|
|
390
|
-
* overwrites
|
|
391
|
-
*
|
|
399
|
+
* (no asset materialization — run /context install after). Skeleton-aware
|
|
400
|
+
* (FGAP-001 / DEC-0001): overwrites a SKELETON config (the empty-of-vocabulary
|
|
401
|
+
* config init / switch -c writes) but never a POPULATED one. Requires the
|
|
402
|
+
* substrate to be initialized first (a bootstrap pointer must exist).
|
|
392
403
|
*/
|
|
393
404
|
function handleAcceptAll(_args, ctx) {
|
|
394
405
|
let r;
|
|
@@ -403,7 +414,7 @@ function handleAcceptAll(_args, ctx) {
|
|
|
403
414
|
throw err;
|
|
404
415
|
}
|
|
405
416
|
if (!r.adopted) {
|
|
406
|
-
ctx.ui.notify("config.json already
|
|
417
|
+
ctx.ui.notify("config.json already carries a populated vocabulary — not overwritten.", "info");
|
|
407
418
|
return;
|
|
408
419
|
}
|
|
409
420
|
ctx.ui.notify(`Adopted canonical config (root: ${r.root}, ${r.schemaCount} schemas / ${r.blockCount} blocks declared). Run /context install to materialize them.`, "info");
|
|
@@ -492,6 +503,20 @@ export function switchAndCreate(cwd, newContextDir, writerIdentity) {
|
|
|
492
503
|
created.push(`${path.relative(cwd, dir)}/`);
|
|
493
504
|
}
|
|
494
505
|
}
|
|
506
|
+
// Write the minimal schema-valid SKELETON config (FGAP-001 / DEC-0001) so the
|
|
507
|
+
// freshly-created substrate has a tool-driven config from bootstrap — onward
|
|
508
|
+
// paths are /context accept-all OR amend-config / edit. NEVER-CLOBBER via
|
|
509
|
+
// writeSkeletonConfig (a re-creation over an existing config leaves it).
|
|
510
|
+
const skeleton = writeSkeletonConfig(cwd);
|
|
511
|
+
if (skeleton.written) {
|
|
512
|
+
created.push(`${path.relative(cwd, path.join(projectDirPath, "config.json"))}`);
|
|
513
|
+
}
|
|
514
|
+
// Reconcile the now-active substrate's identity into the project-root
|
|
515
|
+
// registry. writeSkeletonConfig registers a freshly-minted id, but when the
|
|
516
|
+
// target dir already carried a config (never-clobber returned written:false)
|
|
517
|
+
// its id may be unregistered — register it here so the SoT-drift invariant
|
|
518
|
+
// does not raise a false substrate_id_unregistered.
|
|
519
|
+
reconcileActiveSubstrateRegistration(cwd);
|
|
495
520
|
return { created };
|
|
496
521
|
}
|
|
497
522
|
/**
|
|
@@ -511,6 +536,10 @@ export function switchToExisting(cwd, targetDir, writerIdentity) {
|
|
|
511
536
|
throw new Error(`/context switch: target dir '${targetDir}' has no config.json at ${targetConfigPath} — refusing to flip the bootstrap pointer to a non-substrate dir. Use '/context switch -c ${targetDir}' to bootstrap a fresh substrate at that dir AND flip the pointer.`);
|
|
512
537
|
}
|
|
513
538
|
flipBootstrapPointer(cwd, targetDir, writerIdentity);
|
|
539
|
+
// Register the now-active substrate's identity if the target carried a
|
|
540
|
+
// config-bearing-but-unregistered substrate_id, so the SoT-drift invariant
|
|
541
|
+
// does not raise a false substrate_id_unregistered after the flip.
|
|
542
|
+
reconcileActiveSubstrateRegistration(cwd);
|
|
514
543
|
}
|
|
515
544
|
/**
|
|
516
545
|
* Flip the bootstrap pointer back to the previous_contextDir (parallel to
|
|
@@ -536,6 +565,12 @@ export function switchToPrevious(cwd, writerIdentity) {
|
|
|
536
565
|
throw new Error(`/context switch -: existing pointer at ${bootstrapPath} lacks a string contextDir; refuses to flip an unreadable pointer`);
|
|
537
566
|
}
|
|
538
567
|
flipBootstrapPointer(cwd, previous, writerIdentity);
|
|
568
|
+
// Register the now-active substrate's identity if flipping back landed on a
|
|
569
|
+
// config-bearing-but-unregistered substrate_id, so the SoT-drift invariant
|
|
570
|
+
// does not raise a false substrate_id_unregistered after the flip. Mirrors
|
|
571
|
+
// switchToExisting / switchAndCreate; only reached on a successful flip
|
|
572
|
+
// (the absent-previous_contextDir path throws above).
|
|
573
|
+
reconcileActiveSubstrateRegistration(cwd);
|
|
539
574
|
return { from: current, to: previous };
|
|
540
575
|
}
|
|
541
576
|
/**
|
|
@@ -661,8 +696,8 @@ function handleSwitch(args, ctx) {
|
|
|
661
696
|
return;
|
|
662
697
|
}
|
|
663
698
|
const { created } = switchAndCreate(ctx.cwd, target, writerIdentity);
|
|
664
|
-
const createdLine = created.length > 0 ? ` (created
|
|
665
|
-
ctx.ui.notify(`Switched bootstrap pointer to new substrate '${target}'${createdLine}.
|
|
699
|
+
const createdLine = created.length > 0 ? ` (created: ${created.join(", ")})` : "";
|
|
700
|
+
ctx.ui.notify(`Switched bootstrap pointer to new substrate '${target}'${createdLine}. The substrate now carries a skeleton config (schema-valid, empty of vocabulary). Two onward paths: /context accept-all (adopt the packaged catalog, then /context install) OR amend-config / edit config.json (build a custom vocabulary).`, "info");
|
|
666
701
|
return;
|
|
667
702
|
}
|
|
668
703
|
if (tokens[0] === "-") {
|