ctxr-cli 0.18.0 → 0.20.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 (73) hide show
  1. package/README.md +13 -4
  2. package/dist/commands/init.d.ts.map +1 -1
  3. package/dist/commands/init.js +2 -1
  4. package/dist/commands/init.js.map +1 -1
  5. package/dist/commands/update.d.ts +41 -2
  6. package/dist/commands/update.d.ts.map +1 -1
  7. package/dist/commands/update.js +125 -3
  8. package/dist/commands/update.js.map +1 -1
  9. package/dist/commands/version.d.ts +6 -0
  10. package/dist/commands/version.d.ts.map +1 -1
  11. package/dist/commands/version.js +4 -1
  12. package/dist/commands/version.js.map +1 -1
  13. package/dist/config/defaults.d.ts +10 -7
  14. package/dist/config/defaults.d.ts.map +1 -1
  15. package/dist/config/defaults.js +10 -7
  16. package/dist/config/defaults.js.map +1 -1
  17. package/dist/config/load.d.ts +22 -1
  18. package/dist/config/load.d.ts.map +1 -1
  19. package/dist/config/load.js +54 -17
  20. package/dist/config/load.js.map +1 -1
  21. package/dist/config/migrations.d.ts +61 -0
  22. package/dist/config/migrations.d.ts.map +1 -0
  23. package/dist/config/migrations.js +55 -0
  24. package/dist/config/migrations.js.map +1 -0
  25. package/dist/config/schema.d.ts +11 -8
  26. package/dist/config/schema.d.ts.map +1 -1
  27. package/dist/config/schema.js +14 -11
  28. package/dist/config/schema.js.map +1 -1
  29. package/dist/core/checks/write-lifecycle-checks.d.ts +8 -0
  30. package/dist/core/checks/write-lifecycle-checks.d.ts.map +1 -1
  31. package/dist/core/checks/write-lifecycle-checks.js +22 -3
  32. package/dist/core/checks/write-lifecycle-checks.js.map +1 -1
  33. package/dist/core/conventions.d.ts +3 -4
  34. package/dist/core/conventions.d.ts.map +1 -1
  35. package/dist/core/conventions.js +3 -4
  36. package/dist/core/conventions.js.map +1 -1
  37. package/dist/core/env.d.ts +7 -0
  38. package/dist/core/env.d.ts.map +1 -1
  39. package/dist/core/env.js.map +1 -1
  40. package/dist/core/errors.d.ts +16 -1
  41. package/dist/core/errors.d.ts.map +1 -1
  42. package/dist/core/errors.js +30 -4
  43. package/dist/core/errors.js.map +1 -1
  44. package/dist/core/install-kind.d.ts +13 -0
  45. package/dist/core/install-kind.d.ts.map +1 -1
  46. package/dist/core/install-kind.js +29 -0
  47. package/dist/core/install-kind.js.map +1 -1
  48. package/dist/core/reconcile.js +3 -3
  49. package/dist/core/reconcile.js.map +1 -1
  50. package/dist/core/skills.d.ts +30 -4
  51. package/dist/core/skills.d.ts.map +1 -1
  52. package/dist/core/skills.js +141 -22
  53. package/dist/core/skills.js.map +1 -1
  54. package/dist/core/store.d.ts +15 -0
  55. package/dist/core/store.d.ts.map +1 -1
  56. package/dist/core/store.js +18 -2
  57. package/dist/core/store.js.map +1 -1
  58. package/dist/run.d.ts.map +1 -1
  59. package/dist/run.js +8 -4
  60. package/dist/run.js.map +1 -1
  61. package/dist/version.d.ts +1 -1
  62. package/dist/version.js +1 -1
  63. package/package.json +1 -1
  64. package/templates/agents/canonical.md +2 -2
  65. package/templates/skills/ctxr-second-opinion/critic-contract.md +40 -0
  66. package/templates/skills/ctxr-second-opinion/lenses.md +15 -0
  67. package/templates/skills/ctxr-second-opinion/personas/architect.md +17 -0
  68. package/templates/skills/ctxr-second-opinion/personas/pragmatist.md +17 -0
  69. package/templates/skills/ctxr-second-opinion/personas/skeptic.md +17 -0
  70. package/templates/skills/ctxr-second-opinion/run.mjs +504 -0
  71. package/templates/skills/ctxr-second-opinion.md +174 -0
  72. package/templates/skills/ctxr-session-capture.md +3 -2
  73. package/templates/skills/ctxr-upgrade.md +8 -2
@@ -1,8 +1,9 @@
1
1
  import { readFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { parse as parseYaml } from 'yaml';
3
+ import { parseDocument } from 'yaml';
4
4
  import { CONFIG_FILE_NAME } from '../core/root.js';
5
- import { InvalidConfigError, SchemaVersionBehindError, SchemaVersionMissingError, SchemaVersionNewerError, } from '../core/errors.js';
5
+ import { InvalidConfigError, SchemaMigrationFailedError, SchemaVersionBehindError, SchemaVersionMissingError, SchemaVersionNewerError, } from '../core/errors.js';
6
+ import { MIGRATION_STEPS, migrationFloor, MigrationStepFailedError, runMigrations } from './migrations.js';
6
7
  import { StoreConfigSchema, SUPPORTED_SCHEMA_VERSION } from './schema.js';
7
8
  export function configPathFor(root) {
8
9
  return path.join(root, CONFIG_FILE_NAME);
@@ -13,19 +14,37 @@ export function configPathFor(root) {
13
14
  * BEFORE full validation, so a store whose recorded version differs in either
14
15
  * direction reports the version rather than the confusing generic
15
16
  * shape-validation error the full schema would otherwise produce.
17
+ *
18
+ * `steps` is the migration ladder the gate measures its floor against. It is
19
+ * only ever overridden by tests; every command passes the shipped one.
16
20
  */
17
- export async function readConfig(root) {
21
+ export async function readConfig(root, steps = MIGRATION_STEPS) {
22
+ return (await loadConfig(root, { migrate: false, steps })).config;
23
+ }
24
+ /**
25
+ * migrate-stores-on-update (design D2): the one exception to the gate, for
26
+ * `ctxr update` alone. A store recorded at an older version that is at or
27
+ * above the migration floor is carried forward IN MEMORY and validated; the
28
+ * caller decides whether and where the migrated document is written. Every
29
+ * other refusal — newer, missing, below the floor — is identical to
30
+ * `readConfig`'s, because it is the same function.
31
+ */
32
+ export async function readConfigMigrating(root, steps = MIGRATION_STEPS) {
33
+ return loadConfig(root, { migrate: true, steps });
34
+ }
35
+ async function loadConfig(root, mode) {
18
36
  const configPath = configPathFor(root);
19
37
  const text = await readFile(configPath, 'utf8');
20
- let raw;
21
- try {
22
- raw = parseYaml(text);
23
- }
24
- catch (err) {
38
+ // A Document, not a plain value: a migration has to write back everything it
39
+ // did not change — comments and key order included — and only the parsed
40
+ // document carries those.
41
+ const document = parseDocument(text);
42
+ if (document.errors.length > 0) {
25
43
  throw new InvalidConfigError(configPath, [
26
- { path: '(root)', message: err instanceof Error ? err.message : String(err) },
44
+ { path: '(root)', message: document.errors.map((err) => err.message).join('; ') },
27
45
  ]);
28
46
  }
47
+ const raw = document.toJS();
29
48
  const rawVersion = raw?.schema_version;
30
49
  if (rawVersion === undefined || rawVersion === null) {
31
50
  throw new SchemaVersionMissingError(configPath);
@@ -36,24 +55,42 @@ export async function readConfig(root) {
36
55
  if (rawVersion > SUPPORTED_SCHEMA_VERSION) {
37
56
  throw new SchemaVersionNewerError(rawVersion, SUPPORTED_SCHEMA_VERSION);
38
57
  }
58
+ let toValidate = document;
59
+ let migratedFrom = null;
39
60
  /**
40
- * retire-store-migrations: the older direction is refused here too, and for
41
- * the same reason the newer one is — this release cannot read that shape.
42
- * It has to happen before `safeParse`, or an older config fails on the keys
43
- * whose superseded spellings the schema no longer accepts, reporting a shape
44
- * error against keys the operator never wrote instead of the version.
61
+ * The older direction is refused here, before `safeParse`, for every command
62
+ * but update — or an older config fails on the keys whose superseded
63
+ * spellings the schema no longer accepts, reporting a shape error against
64
+ * keys the operator never wrote instead of the version. Update migrates the
65
+ * raw document first instead, so the typed schema still only ever sees the
66
+ * current spellings.
45
67
  */
46
68
  if (rawVersion < SUPPORTED_SCHEMA_VERSION) {
47
- throw new SchemaVersionBehindError(rawVersion, SUPPORTED_SCHEMA_VERSION);
69
+ const floor = migrationFloor(mode.steps);
70
+ if (!mode.migrate || rawVersion < floor) {
71
+ throw new SchemaVersionBehindError(rawVersion, SUPPORTED_SCHEMA_VERSION, floor);
72
+ }
73
+ try {
74
+ toValidate = runMigrations(document, rawVersion, mode.steps);
75
+ }
76
+ catch (err) {
77
+ if (err instanceof MigrationStepFailedError)
78
+ throw new SchemaMigrationFailedError(configPath, err.message);
79
+ throw err;
80
+ }
81
+ migratedFrom = rawVersion;
48
82
  }
49
- const result = StoreConfigSchema.safeParse(raw);
83
+ const result = StoreConfigSchema.safeParse(toValidate.toJS());
50
84
  if (!result.success) {
51
85
  const issues = result.error.issues.map((issue) => ({
52
86
  path: issue.path.join('.') || '(root)',
53
87
  message: issue.message,
54
88
  }));
89
+ if (migratedFrom !== null) {
90
+ throw new SchemaMigrationFailedError(configPath, `the migrated configuration does not validate: ${issues.map((i) => `${i.path}: ${i.message}`).join('; ')}`);
91
+ }
55
92
  throw new InvalidConfigError(configPath, issues);
56
93
  }
57
- return result.data;
94
+ return { config: result.data, document: toValidate, migratedFrom };
58
95
  }
59
96
  //# sourceMappingURL=load.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAoB,MAAM,aAAa,CAAC;AAE5F,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEhD,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE;YACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC9E,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAI,GAA2C,EAAE,cAAc,CAAC;IAChF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,UAAU,GAAG,wBAAwB,EAAE,CAAC;QAC1C,MAAM,IAAI,uBAAuB,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAC1E,CAAC;IACD;;;;;;OAMG;IACH,IAAI,UAAU,GAAG,wBAAwB,EAAE,CAAC;QAC1C,MAAM,IAAI,wBAAwB,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ;YACtC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC,CAAC;QACJ,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAiB,MAAM,MAAM,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,wBAAwB,EAAE,aAAa,EAAsB,MAAM,iBAAiB,CAAC;AAC/H,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAoB,MAAM,aAAa,CAAC;AAE5F,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,KAAK,GAA6B,eAAe;IAC9F,OAAO,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACpE,CAAC;AAUD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,KAAK,GAA6B,eAAe;IAEjD,OAAO,UAAU,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,IAAY,EACZ,IAA2D;IAE3D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEhD,6EAA6E;IAC7E,yEAAyE;IACzE,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE;YACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAClF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAAY,QAAQ,CAAC,IAAI,EAAE,CAAC;IAErC,MAAM,UAAU,GAAI,GAA2C,EAAE,cAAc,CAAC;IAChF,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,UAAU,GAAG,wBAAwB,EAAE,CAAC;QAC1C,MAAM,IAAI,uBAAuB,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,UAAU,GAAa,QAAQ,CAAC;IACpC,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC;;;;;;;OAOG;IACH,IAAI,UAAU,GAAG,wBAAwB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,UAAU,GAAG,KAAK,EAAE,CAAC;YACxC,MAAM,IAAI,wBAAwB,CAAC,UAAU,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC;YACH,UAAU,GAAG,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,wBAAwB;gBAAE,MAAM,IAAI,0BAA0B,CAAC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3G,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,YAAY,GAAG,UAAU,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ;YACtC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC,CAAC;QACJ,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,0BAA0B,CAClC,UAAU,EACV,iDAAiD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3G,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACrE,CAAC"}
@@ -0,0 +1,61 @@
1
+ import type { Document } from 'yaml';
2
+ /**
3
+ * migrate-stores-on-update: one step carries a store's configuration from
4
+ * schema version `from` to `from + 1`.
5
+ *
6
+ * A step works on the PARSED DOCUMENT, never on the typed configuration and
7
+ * never on the plain value `parse` returns (design D1). That is what lets the
8
+ * typed schema keep exactly one spelling per key — the objection that retired
9
+ * the previous migration mechanism was the leniency it forced onto
10
+ * `StoreConfigSchema`, so a stale config could be read by the migration about
11
+ * to rewrite it. Here the stale spelling is renamed in the document before
12
+ * the typed schema ever sees it.
13
+ *
14
+ * It is also what keeps a migration reviewable: a `yaml` Document serializes
15
+ * back with its comments, key order and quoting intact, so the written file
16
+ * differs from the original only where the step says. Rename a key by
17
+ * assigning the pair's key value in place — `setIn` + `deleteIn` would append
18
+ * the new key at the end of its map instead.
19
+ */
20
+ export interface MigrationStep {
21
+ /** The schema version this step reads; it writes `from + 1`. */
22
+ readonly from: number;
23
+ /**
24
+ * Dotted key paths this step renames or removes. The typed schema must not
25
+ * declare any of them, which test/unit/config-migrations.test.ts asserts —
26
+ * a retired spelling that is still live is exactly the second contract this
27
+ * design exists to avoid.
28
+ */
29
+ readonly retires: readonly string[];
30
+ /** Mutates the document in place. Throwing aborts the whole run, and nothing is written. */
31
+ apply(doc: Document): void;
32
+ }
33
+ /**
34
+ * The shipped ladder, in version order. Empty at the change that introduced
35
+ * it: both known stores were already at the supported version, so there was
36
+ * nothing to carry. The first release that raises SUPPORTED_SCHEMA_VERSION
37
+ * adds its step here, in the same change — the contiguity test fails until
38
+ * it does.
39
+ */
40
+ export declare const MIGRATION_STEPS: readonly MigrationStep[];
41
+ /**
42
+ * The oldest schema version this release can bring forward. With no steps it
43
+ * is the supported version itself, so every older store is below it and the
44
+ * behind-version refusal never names an update that could not help.
45
+ */
46
+ export declare function migrationFloor(steps?: readonly MigrationStep[]): number;
47
+ export declare class MigrationStepFailedError extends Error {
48
+ readonly from: number;
49
+ readonly cause: unknown;
50
+ constructor(from: number, cause: unknown);
51
+ }
52
+ /**
53
+ * Applies every step from `fromVersion` up to the supported version, in order,
54
+ * to a CLONE of `doc`, records the supported version on it, and returns it.
55
+ * The input document is never touched, so a failure partway up the ladder
56
+ * leaves the caller holding exactly what it read. A missing or throwing step
57
+ * aborts with MigrationStepFailedError — a half-migrated document is never
58
+ * returned as if it were whole.
59
+ */
60
+ export declare function runMigrations(doc: Document, fromVersion: number, steps?: readonly MigrationStep[]): Document;
61
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/config/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGrC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,4FAA4F;IAC5F,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAAO,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,GAAE,SAAS,aAAa,EAAoB,GAAG,MAAM,CAGxF;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IAE/C,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO;IAFzB,YACW,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EAMxB;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,QAAQ,EACb,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,SAAS,aAAa,EAAoB,GAChD,QAAQ,CAeV"}
@@ -0,0 +1,55 @@
1
+ import { SUPPORTED_SCHEMA_VERSION } from './schema.js';
2
+ /**
3
+ * The shipped ladder, in version order. Empty at the change that introduced
4
+ * it: both known stores were already at the supported version, so there was
5
+ * nothing to carry. The first release that raises SUPPORTED_SCHEMA_VERSION
6
+ * adds its step here, in the same change — the contiguity test fails until
7
+ * it does.
8
+ */
9
+ export const MIGRATION_STEPS = [];
10
+ /**
11
+ * The oldest schema version this release can bring forward. With no steps it
12
+ * is the supported version itself, so every older store is below it and the
13
+ * behind-version refusal never names an update that could not help.
14
+ */
15
+ export function migrationFloor(steps = MIGRATION_STEPS) {
16
+ if (steps.length === 0)
17
+ return SUPPORTED_SCHEMA_VERSION;
18
+ return Math.min(...steps.map((step) => step.from));
19
+ }
20
+ export class MigrationStepFailedError extends Error {
21
+ from;
22
+ cause;
23
+ constructor(from, cause) {
24
+ super(`schema migration step ${from} -> ${from + 1} failed: ${cause instanceof Error ? cause.message : String(cause)}`);
25
+ this.from = from;
26
+ this.cause = cause;
27
+ this.name = 'MigrationStepFailedError';
28
+ }
29
+ }
30
+ /**
31
+ * Applies every step from `fromVersion` up to the supported version, in order,
32
+ * to a CLONE of `doc`, records the supported version on it, and returns it.
33
+ * The input document is never touched, so a failure partway up the ladder
34
+ * leaves the caller holding exactly what it read. A missing or throwing step
35
+ * aborts with MigrationStepFailedError — a half-migrated document is never
36
+ * returned as if it were whole.
37
+ */
38
+ export function runMigrations(doc, fromVersion, steps = MIGRATION_STEPS) {
39
+ const migrated = doc.clone();
40
+ for (let version = fromVersion; version < SUPPORTED_SCHEMA_VERSION; version += 1) {
41
+ const step = steps.find((candidate) => candidate.from === version);
42
+ if (!step) {
43
+ throw new MigrationStepFailedError(version, new Error('no step carries this version forward'));
44
+ }
45
+ try {
46
+ step.apply(migrated);
47
+ }
48
+ catch (err) {
49
+ throw new MigrationStepFailedError(version, err);
50
+ }
51
+ }
52
+ migrated.set('schema_version', SUPPORTED_SCHEMA_VERSION);
53
+ return migrated;
54
+ }
55
+ //# sourceMappingURL=migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/config/migrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAkCvD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAA6B,EAAE,CAAC;AAE5D;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAK,GAA6B,eAAe;IAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACxD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAEtC,IAAI;IACJ,KAAK;IAFhB,YACW,IAAY,EACZ,KAAc;QAEvB,KAAK,CACH,yBAAyB,IAAI,OAAO,IAAI,GAAG,CAAC,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjH,CAAC;oBALO,IAAI;qBACJ,KAAK;QAKd,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAa,EACb,WAAmB,EACnB,KAAK,GAA6B,eAAe;IAEjD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;IAC7B,KAAK,IAAI,OAAO,GAAG,WAAW,EAAE,OAAO,GAAG,wBAAwB,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,wBAAwB,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACjG,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -4,15 +4,18 @@ import { z } from 'zod';
4
4
  * note frontmatter conventions) — a monotonic integer independent of the npm
5
5
  * package version — not "what this CLI release happens to be."
6
6
  *
7
- * retire-store-migrations: contexture ships no migration mechanism, so this
8
- * number is a gate rather than a starting point. `readConfig` refuses any
9
- * store whose recorded version is not exactly this one, in either direction:
10
- * a newer store because this release cannot know its shape, an older one
11
- * because this release no longer reads that shape and offers nothing that
12
- * would bring it forward. A release that changes the store's shape bumps this
13
- * and documents the one-time fixup in its release notes.
7
+ * It is a gate. `readConfig` refuses any store whose recorded version is not
8
+ * exactly this one, in either direction — with one exception since
9
+ * migrate-stores-on-update: `ctxr update` carries an OLDER store forward
10
+ * through the migration ladder in ./migrations.ts, provided it is at or above
11
+ * the ladder's floor. A newer store is refused everywhere.
14
12
  *
15
- * It stayed at 10 through that retirement on purpose: nothing about a
13
+ * RAISING THIS NUMBER: add the step from the previous version to
14
+ * MIGRATION_STEPS in the same change, with a byte-exact fixture test of its
15
+ * own. test/unit/config-migrations.test.ts fails until the step exists; the
16
+ * fixture is the convention that keeps a step's output reviewable.
17
+ *
18
+ * It stayed at 10 through retire-store-migrations on purpose: nothing about a
16
19
  * conforming store's shape changed. What was dropped were superseded INPUT
17
20
  * spellings that no store at 10 has ever written, since `renderStoreConfig`
18
21
  * only ever emitted the current names.
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAYH;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB;;;;;iBAKvB,CAAC;AAwRH,QAAA,MAAM,wBAAwB;;;;;;;iBAM5B,CAAC;AAiBH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgD1B,CAAC;AAEL,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAYH;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB;;;;;iBAKvB,CAAC;AAwRH,QAAA,MAAM,wBAAwB;;;;;;;iBAM5B,CAAC;AAiBH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgD1B,CAAC;AAEL,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -6,15 +6,18 @@ import { SHIPPED_DEFAULTS } from './defaults.js';
6
6
  * note frontmatter conventions) — a monotonic integer independent of the npm
7
7
  * package version — not "what this CLI release happens to be."
8
8
  *
9
- * retire-store-migrations: contexture ships no migration mechanism, so this
10
- * number is a gate rather than a starting point. `readConfig` refuses any
11
- * store whose recorded version is not exactly this one, in either direction:
12
- * a newer store because this release cannot know its shape, an older one
13
- * because this release no longer reads that shape and offers nothing that
14
- * would bring it forward. A release that changes the store's shape bumps this
15
- * and documents the one-time fixup in its release notes.
9
+ * It is a gate. `readConfig` refuses any store whose recorded version is not
10
+ * exactly this one, in either direction — with one exception since
11
+ * migrate-stores-on-update: `ctxr update` carries an OLDER store forward
12
+ * through the migration ladder in ./migrations.ts, provided it is at or above
13
+ * the ladder's floor. A newer store is refused everywhere.
16
14
  *
17
- * It stayed at 10 through that retirement on purpose: nothing about a
15
+ * RAISING THIS NUMBER: add the step from the previous version to
16
+ * MIGRATION_STEPS in the same change, with a byte-exact fixture test of its
17
+ * own. test/unit/config-migrations.test.ts fails until the step exists; the
18
+ * fixture is the convention that keeps a step's output reviewable.
19
+ *
20
+ * It stayed at 10 through retire-store-migrations on purpose: nothing about a
18
21
  * conforming store's shape changed. What was dropped were superseded INPUT
19
22
  * spellings that no store at 10 has ever written, since `renderStoreConfig`
20
23
  * only ever emitted the current names.
@@ -260,9 +263,9 @@ const OrganizeSchema = z
260
263
  });
261
264
  /**
262
265
  * harness-portability spec: the portable skill pack and the guidance
263
- * documents (a shipped baseline convention file, the operator's own
264
- * convention files, and the mission document) AGENTS.md's generated
265
- * sections read from and inline.
266
+ * documents (the operator's own convention files and the mission document)
267
+ * AGENTS.md's generated sections read from and inline. The shipped baseline
268
+ * is rendered into AGENTS.md directly, never read from this directory.
266
269
  *
267
270
  * `skills_path` and `guidance_path` are the only spellings. Their pre-rename
268
271
  * names `procedures_path` and `conventions_path` were accepted here as inputs
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,14 @@ export declare const stagedSecretScanCheck: import("./types.js").CheckDefinition
15
15
  * write time, so the two can never disagree.
16
16
  */
17
17
  export declare const stagedPathAllowlistCheck: import("./types.js").CheckDefinition;
18
+ /**
19
+ * exempt-shipped-skill-files-from-the-diff-ceiling: the ceiling bounds what an
20
+ * agent can stage unreviewed, and contexture's own writes are not that — a fresh
21
+ * `init` stages every owned and vendored skill in one commit. A staged file is
22
+ * left out of the count when its staged content is byte-identical to what the
23
+ * installed version ships for its path. Identity, not location: a file that
24
+ * differs by one byte, one that is not shipped, and every deletion count in full.
25
+ */
18
26
  export declare const stagedDiffSizeCeilingCheck: import("./types.js").CheckDefinition;
19
27
  /**
20
28
  * store-scope (not staged): are both hooks present with current content,
@@ -1 +1 @@
1
- {"version":3,"file":"write-lifecycle-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/write-lifecycle-checks.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,sCAyCvC,CAAC;AAEH,eAAO,MAAM,yBAAyB,sCAsBpC,CAAC;AAEH,eAAO,MAAM,qBAAqB,sCAqBhC,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,sCAqCnC,CAAC;AAEH,eAAO,MAAM,0BAA0B,sCA2BrC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,sCAiC3B,CAAC;AAEH,eAAO,MAAM,sBAAsB,wCAOlC,CAAC"}
1
+ {"version":3,"file":"write-lifecycle-checks.d.ts","sourceRoot":"","sources":["../../../src/core/checks/write-lifecycle-checks.ts"],"names":[],"mappings":"AAaA;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,sCAyCvC,CAAC;AAEH,eAAO,MAAM,yBAAyB,sCAsBpC,CAAC;AAEH,eAAO,MAAM,qBAAqB,sCAqBhC,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,sCAqCnC,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,sCAgCrC,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,sCAiC3B,CAAC;AAEH,eAAO,MAAM,sBAAsB,wCAOlC,CAAC"}
@@ -5,6 +5,7 @@ import { parseNoteText } from '../notes/parse.js';
5
5
  import { scanForSecrets } from '../security/secrets.js';
6
6
  import { validateFenceIntegrity } from '../fs/fenced-region.js';
7
7
  import { sanctionedPath } from '../write-lifecycle/path-gate.js';
8
+ import { shippedSkillFiles } from '../skills.js';
8
9
  import { defineCheck } from './types.js';
9
10
  const CONFIG_FILE_NAME = 'contexture.yaml';
10
11
  /**
@@ -148,6 +149,14 @@ export const stagedPathAllowlistCheck = defineCheck({
148
149
  return { status: findings.length > 0 ? 'fail' : 'pass', findings };
149
150
  },
150
151
  });
152
+ /**
153
+ * exempt-shipped-skill-files-from-the-diff-ceiling: the ceiling bounds what an
154
+ * agent can stage unreviewed, and contexture's own writes are not that — a fresh
155
+ * `init` stages every owned and vendored skill in one commit. A staged file is
156
+ * left out of the count when its staged content is byte-identical to what the
157
+ * installed version ships for its path. Identity, not location: a file that
158
+ * differs by one byte, one that is not shipped, and every deletion count in full.
159
+ */
151
160
  export const stagedDiffSizeCeilingCheck = defineCheck({
152
161
  id: 'staged.diff_size_ceiling',
153
162
  title: 'Total staged diff size is under the configured ceiling',
@@ -155,17 +164,27 @@ export const stagedDiffSizeCeilingCheck = defineCheck({
155
164
  capability: 'write-lifecycle',
156
165
  scopes: ['staged'],
157
166
  async run(ctx) {
158
- const total = (ctx.staged ?? []).reduce((sum, file) => sum + (file.addedLines ?? 0) + (file.removedLines ?? 0), 0);
167
+ const shipped = await shippedSkillFiles(ctx.config);
168
+ let total = 0;
169
+ let leftOut = 0;
170
+ for (const file of ctx.staged ?? []) {
171
+ const lines = (file.addedLines ?? 0) + (file.removedLines ?? 0);
172
+ if (file.status !== 'D' && file.content !== undefined && shipped.get(file.path) === file.content)
173
+ leftOut += lines;
174
+ else
175
+ total += lines;
176
+ }
159
177
  const ceiling = ctx.config.write_lifecycle.diff_size_ceiling_lines;
160
178
  if (total > ceiling) {
179
+ const note = leftOut > 0 ? ` (${leftOut} more changed lines are skill files identical to what this version ships, and are not counted)` : '';
161
180
  return {
162
181
  status: 'fail',
163
182
  findings: [
164
183
  {
165
184
  code: 'staged.diff_size_ceiling.exceeded',
166
185
  severity: 'error',
167
- message: `Staged changes total ${total} changed lines, exceeding the configured ceiling of ${ceiling}.`,
168
- details: { total, ceiling },
186
+ message: `Staged changes total ${total} changed lines, exceeding the configured ceiling of ${ceiling}${note}.`,
187
+ details: { total, ceiling, left_out: leftOut },
169
188
  },
170
189
  ],
171
190
  };
@@ -1 +1 @@
1
- {"version":3,"file":"write-lifecycle-checks.js","sourceRoot":"","sources":["../../../src/core/checks/write-lifecycle-checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-lifecycle-checks.js","sourceRoot":"","sources":["../../../src/core/checks/write-lifecycle-checks.ts"],"names":[],"mappings":"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"}
@@ -32,10 +32,9 @@ export declare function extractDocMetadata(raw: string, relativePath: string): S
32
32
  export declare function inlineDocBody(doc: ScannedDoc, headingOffset: number): string[];
33
33
  export declare function scanDocsDir(root: string, dirRelativePath: string): Promise<ScannedDoc[]>;
34
34
  /**
35
- * Every convention doc currently at the configured guidance path —
36
- * contexture's own shipped baseline (see `templates/conventions/baseline-conventions.md`,
37
- * synced by `syncBaselineConventions` in `convention-doc.ts`) alongside
38
- * whatever the operator has added — minus the mission document.
35
+ * Every convention doc the operator has put at the configured guidance path,
36
+ * minus the mission document. The shipped baseline is not among them: it is
37
+ * rendered into AGENTS.md by `renderBaselineConventions` in `convention-doc.ts`.
39
38
  */
40
39
  export declare function scanConventions(root: string, config: StoreConfig): Promise<ScannedDoc[]>;
41
40
  //# sourceMappingURL=conventions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conventions.d.ts","sourceRoot":"","sources":["../../src/core/conventions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAID,oGAAoG;AACpG,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,UAAU,CA4BhF;AAID;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAyB9E;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAgC9F;AAgBD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAI9F"}
1
+ {"version":3,"file":"conventions.d.ts","sourceRoot":"","sources":["../../src/core/conventions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAID,oGAAoG;AACpG,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,UAAU,CA4BhF;AAID;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAyB9E;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAgC9F;AAgBD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAI9F"}
@@ -122,10 +122,9 @@ function reservedGuidanceFileNames(config) {
122
122
  return names;
123
123
  }
124
124
  /**
125
- * Every convention doc currently at the configured guidance path —
126
- * contexture's own shipped baseline (see `templates/conventions/baseline-conventions.md`,
127
- * synced by `syncBaselineConventions` in `convention-doc.ts`) alongside
128
- * whatever the operator has added — minus the mission document.
125
+ * Every convention doc the operator has put at the configured guidance path,
126
+ * minus the mission document. The shipped baseline is not among them: it is
127
+ * rendered into AGENTS.md by `renderBaselineConventions` in `convention-doc.ts`.
129
128
  */
130
129
  export async function scanConventions(root, config) {
131
130
  const docs = await scanDocsDir(root, config.harness.guidance_path);
@@ -1 +1 @@
1
- {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/core/conventions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/core/conventions.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { MigrationStep } from '../config/migrations.js';
1
2
  import type { Prompter } from '../prompt/prompter.js';
2
3
  import type { GitRunner } from './git/exec.js';
3
4
  import type { RegistryClient } from './registry.js';
@@ -32,6 +33,12 @@ export interface RunEnv {
32
33
  /** The release registry. The only network-capable port; see core/registry.ts. */
33
34
  registry: RegistryClient;
34
35
  now(): Date;
36
+ /**
37
+ * The schema migration ladder. Absent in production — `realEnv()` never sets
38
+ * it, so every command measures against the shipped ladder. Tests set it to
39
+ * exercise a migration before any real step exists (migrate-stores-on-update).
40
+ */
41
+ migrationSteps?: readonly MigrationStep[];
35
42
  }
36
43
  /**
37
44
  * interactive ⇔ stdin.isTTY && stdout.isTTY && !noInput.
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD;;;;;;GAMG;AACH,MAAM,WAAW,EAAE;IACjB,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACrD;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAClD,EAAE,EAAE,EAAE,CAAC;IACP,0FAA0F;IAC1F,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,SAAS,CAAC;IACf,iFAAiF;IACjF,QAAQ,EAAE,cAAc,CAAC;IACzB,GAAG,IAAI,IAAI,CAAC;CACb;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,OAAO,IAAI,MAAM,CAYhC"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD;;;;;;GAMG;AACH,MAAM,WAAW,EAAE;IACjB,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACrD;AAED,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAClD,EAAE,EAAE,EAAE,CAAC;IACP,0FAA0F;IAC1F,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,SAAS,CAAC;IACf,iFAAiF;IACjF,QAAQ,EAAE,cAAc,CAAC;IACzB,GAAG,IAAI,IAAI,CAAC;IACZ;;;;OAIG;IACH,cAAc,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,OAAO,IAAI,MAAM,CAYhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AA8BxE;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;QAC5E,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,sBAAsB,EAAE;QAClC,GAAG,EAAE,uBAAuB,EAAE;QAC9B,QAAQ,EAAE,yBAAyB,EAAE;QACrC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAoCxE;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;QAC5E,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,sBAAsB,EAAE;QAClC,GAAG,EAAE,uBAAuB,EAAE;QAC9B,QAAQ,EAAE,yBAAyB,EAAE;QACrC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC"}
@@ -34,8 +34,23 @@ export declare class NotAGitRepositoryError extends ContextureError {
34
34
  export declare class SchemaVersionNewerError extends ContextureError {
35
35
  constructor(storeVersion: number, supportedVersion: number);
36
36
  }
37
+ /**
38
+ * migrate-stores-on-update: one error for every older store, so the code a
39
+ * caller matches on stays `config.schema_version.behind` whichever way the
40
+ * remedy points. What varies is the remedy, carried in the message and in
41
+ * `details.remedy`:
42
+ *
43
+ * - `update` the store is at or above the migration floor, so `ctxr update`
44
+ * carries it forward. Raised by every command except update.
45
+ * - `by_hand` the store is below the floor; nothing in this release can
46
+ * bring it forward. Raised by every command, update included.
47
+ */
37
48
  export declare class SchemaVersionBehindError extends ContextureError {
38
- constructor(storeVersion: number, supportedVersion: number);
49
+ constructor(storeVersion: number, supportedVersion: number, floor: number);
50
+ }
51
+ /** A schema migration step failed, or its result did not validate; nothing was written. */
52
+ export declare class SchemaMigrationFailedError extends ContextureError {
53
+ constructor(configPath: string, detail: string);
39
54
  }
40
55
  export declare class SchemaVersionMissingError extends ContextureError {
41
56
  constructor(configPath: string);