@theglitchking/hit-em-with-the-docs 2.3.0 → 2.4.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.
@@ -6,13 +6,13 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Official marketplace for hit-em-with-the-docs - Self-managing documentation system",
9
- "version": "2.3.0"
9
+ "version": "2.4.0"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "hit-em-with-the-docs",
14
14
  "description": "Self-managing documentation system with hierarchical structure, intelligent automation, pattern discovery, and agent orchestration",
15
- "version": "2.3.0",
15
+ "version": "2.4.0",
16
16
  "author": {
17
17
  "name": "TheGlitchKing"
18
18
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hit-em-with-the-docs",
3
3
  "description": "Self-managing documentation system with hierarchical structure, intelligent automation, pattern discovery, and agent orchestration",
4
- "version": "2.3.0",
4
+ "version": "2.4.0",
5
5
  "author": {
6
6
  "name": "TheGlitchKing",
7
7
  "email": "theglitchking@users.noreply.github.com"
package/README.md CHANGED
@@ -10,6 +10,8 @@
10
10
  > You still need to remember to use this plugin when creating documentation! As projects grow, documentation needs to be created and maintained. You'll need to invoke this plugin or ask an LLM to create documentation for your features, workflows, or infrastructure. This plugin must be invoked to create, update, or maintain your docs.
11
11
 
12
12
  > [!NOTE]
13
+ > **2.4.0 — `migrate-incident` path bug fix + recovery command.** `migrate-incident` now correctly writes to `<vault-root>/incidents/<slug>/` (the location `hewtd maintain`'s incidents-index generator scans). In 2.3.0 the target was derived from the source flat file's parent dir, which silently bypassed the canonical layout when the flat file lived at the vault root. New `hewtd fix-legacy-layout` command relocates 2.3.0-buggy folders and rewrites fact `provenance:` refs. Idempotent, dry-run supported. See [CHANGELOG](./CHANGELOG.md#240--2026-05-15).
14
+ >
13
15
  > **New in 2.3.0:** the knowledge-base primitives layer. Three new tiers (`fact`, `incident-narrative`, `incident-facts`) for citable atomic claims and immutable postmortems, plus an optional `symptoms:` frontmatter field on any-tier playbooks for symptom→playbook routing with `cites:` to facts. Three new deterministic indexes (`facts/INDEX.md`, `incidents/INDEX.md`, `symptoms/INDEX.md`) auto-generate on `hewtd maintain` when a vault root exists. Five new CLI commands: `find-citers`, `audit-facts [--run-verify]`, `extract-facts`, `cite`, `migrate-incident`. New `audit --strict` flag for CI gating. New `/hit-em-with-the-docs:help` slash command for LLM orientation. Four authoring templates at `templates/knowledge-base/`. Full reference: [`docs/knowledge-base-primitives.md`](./docs/knowledge-base-primitives.md). Agent guide: [`docs/LLM-GUIDE.md`](./docs/LLM-GUIDE.md).
14
16
  >
15
17
  > **New in 2.2.0:** the `tier` enum gains a `"plan"` value for [persistent-planning](https://github.com/TheGlitchKing/persistent-planning) lg-mode artifacts (phase / task / atom / notes documents), and the `version` and `status` fields are now conditionally relaxed for plan-tier docs (plans use lifecycle status, not semver). Existing tiers (guide / standard / example / reference / admin) are unchanged. See [`docs/plan-tier-frontmatter.md`](./docs/plan-tier-frontmatter.md) for the full reference.
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Migrate 2.3.0-buggy incident folders into the canonical layout (2.4.0).
3
+ *
4
+ * In 2.3.0, `hewtd migrate-incident <flat-file>` wrote the new folder
5
+ * AS A SIBLING of the flat file. When the flat file lived at the vault
6
+ * root (the documented example), the resulting folder ended up at
7
+ * `<vault-root>/<slug>/` instead of `<vault-root>/incidents/<slug>/`.
8
+ * The `incidents/INDEX.md` generator scans only the canonical path, so
9
+ * those folders were silently absent from the index.
10
+ *
11
+ * This module:
12
+ * 1. Detects legacy folders — anything matching `<vault-root>/<slug>/`
13
+ * that contains a valid `narrative.md` AND isn't already under the
14
+ * canonical `<vault-root>/incidents/` parent.
15
+ * 2. Moves them into `<vault-root>/incidents/<slug>/` (preserving any
16
+ * `facts.md` / `evidence/` contents).
17
+ * 3. Rewrites `provenance:` references in any `<vault-root>/facts/*.md`
18
+ * files that pointed at the old folder paths.
19
+ *
20
+ * Idempotent: re-running on a clean vault is a no-op with a status report.
21
+ */
22
+ export interface FixLegacyLayoutOptions {
23
+ /** Absolute vault root. */
24
+ vaultRoot: string;
25
+ /** Project root — used for relative-path provenance rewrites. */
26
+ projectRoot: string;
27
+ /** If true, returns the plan without writing. */
28
+ dryRun?: boolean;
29
+ }
30
+ export interface MovedFolder {
31
+ /** Slug (folder basename), e.g. `2026-04-23-keycloak-idle-session`. */
32
+ slug: string;
33
+ /** Absolute source path (legacy). */
34
+ from: string;
35
+ /** Absolute destination path (canonical). */
36
+ to: string;
37
+ }
38
+ export interface RewrittenProvenance {
39
+ /** Absolute fact file path. */
40
+ factPath: string;
41
+ /** Old provenance string that was replaced. */
42
+ oldRef: string;
43
+ /** New provenance string. */
44
+ newRef: string;
45
+ }
46
+ export interface FixLegacyLayoutResult {
47
+ vaultRoot: string;
48
+ moved: MovedFolder[];
49
+ rewrittenProvenance: RewrittenProvenance[];
50
+ /** Paths that LOOKED like incident folders but were ambiguous. Reported but not moved. */
51
+ skipped: {
52
+ path: string;
53
+ reason: string;
54
+ }[];
55
+ action: 'fixed' | 'no_op' | 'dry_run';
56
+ }
57
+ /**
58
+ * Discover and (optionally) relocate 2.3.0-layout incident folders.
59
+ */
60
+ export declare function fixLegacyLayout(options: FixLegacyLayoutOptions): Promise<FixLegacyLayoutResult>;
61
+ //# sourceMappingURL=fix-legacy-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-legacy-layout.d.ts","sourceRoot":"","sources":["file:///home/tmarlette/workspace/the-glitch-kingdom/hit-em-with-the-docs/src/core/knowledge-base/fix-legacy-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,0FAA0F;IAC1F,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;CACvC;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAgKhC"}
@@ -1,26 +1,60 @@
1
1
  /**
2
- * Flat-file incident → folder migration (2.3.0 PR3).
2
+ * Flat-file incident → folder migration (2.3.0 PR3, target-path fix in 2.4.0).
3
3
  *
4
- * Reads a legacy flat-file incident (e.g. `knowledge-base/2026-04-23-foo.md`)
5
- * and converts it into the folder form:
4
+ * Reads a legacy flat-file incident and converts it into the folder form
5
+ * AT THE CANONICAL VAULT LOCATION:
6
6
  *
7
- * <flat-file>.md → <slug>/narrative.md
8
- * <slug>/facts.md (skeleton)
9
- * <slug>/evidence/ (empty, ready for artifacts)
7
+ * <flat-file>.md → <vault-root>/incidents/<slug>/narrative.md
8
+ * <vault-root>/incidents/<slug>/facts.md (skeleton)
9
+ * <vault-root>/incidents/<slug>/evidence/ (empty)
10
10
  *
11
- * Idempotent: re-running on an already-migrated incident detects the folder
12
- * exists and warns + no-ops.
11
+ * In 2.3.0 the target was derived from the flat file's parent directory,
12
+ * which produced folders OUTSIDE `<vault-root>/incidents/` when the source
13
+ * was at the vault root. The `incidents/INDEX.md` generator scans only
14
+ * `<vault-root>/incidents/<slug>/narrative.md` and silently missed those
15
+ * folders. 2.4.0 fixes this by always writing under `<vault-root>/incidents/`.
16
+ *
17
+ * Idempotency:
18
+ * - If a valid `narrative.md` exists at EITHER the new path (canonical)
19
+ * OR the legacy path (`<source-parent>/<slug>/narrative.md`), the
20
+ * migration is treated as already done — no-op unless `--force`.
21
+ * - This protects against double-migration and is robust against
22
+ * consumers who already migrated under the 2.3.0 buggy layout.
23
+ *
24
+ * For consumers stuck on the 2.3.0 buggy layout, see `fixLegacyLayout()`
25
+ * which moves stale folders into `<vault-root>/incidents/` and rewrites
26
+ * any fact `provenance:` references.
13
27
  */
14
28
  export interface MigrateIncidentOptions {
15
29
  /** Absolute path to the flat-file incident markdown. */
16
30
  flatFilePath: string;
31
+ /**
32
+ * Absolute path to the vault root. The migrated folder lands at
33
+ * `<vaultRoot>/incidents/<slug>/`. Required since 2.4.0 — the 2.3.0
34
+ * "sibling of the flat file" behavior was the source of the path bug.
35
+ */
36
+ vaultRoot: string;
17
37
  /** If true, returns the migration plan without writing. */
18
38
  dryRun?: boolean;
39
+ /**
40
+ * If true, proceed with migration even if a folder already exists at
41
+ * the canonical or legacy location. Used to recover from a partial
42
+ * migration.
43
+ */
44
+ force?: boolean;
19
45
  }
20
46
  export interface MigrateIncidentResult {
21
47
  flatFilePath: string;
48
+ /** The canonical target — always under `<vaultRoot>/incidents/`. */
22
49
  targetFolder: string;
23
50
  action: 'migrated' | 'already_migrated' | 'dry_run';
51
+ /**
52
+ * Populated when `action === 'already_migrated'` to indicate WHERE the
53
+ * existing migration was found. `'new'` = canonical `<vault>/incidents/`;
54
+ * `'legacy'` = 2.3.0-style sibling-of-flat-file location. Helps consumers
55
+ * decide whether to run `fix-legacy-layout`.
56
+ */
57
+ existingLocation?: 'new' | 'legacy';
24
58
  narrativePath: string;
25
59
  factsPath: string;
26
60
  evidencePath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["file:///home/tmarlette/workspace/the-glitch-kingdom/hit-em-with-the-docs/src/core/knowledge-base/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,MAAM,WAAW,sBAAsB;IACrC,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAwGhC"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["file:///home/tmarlette/workspace/the-glitch-kingdom/hit-em-with-the-docs/src/core/knowledge-base/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH,MAAM,WAAW,sBAAsB;IACrC,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACpD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CA8HhC"}
package/dist/cli/index.js CHANGED
@@ -418,14 +418,21 @@ program
418
418
  });
419
419
  program
420
420
  .command('migrate-incident <flat-file>')
421
- .description('Convert a legacy flat-file incident into the folder form (narrative.md + facts.md)')
421
+ .description('Convert a legacy flat-file incident into the folder form (narrative.md + facts.md). Always writes to <vault-root>/incidents/<slug>/.')
422
422
  .option('--dry-run', 'Preview the migration without writing', false)
423
+ .option('--force', 'Migrate even if a folder already exists at the canonical or legacy location (overwrites)', false)
423
424
  .action(async (flatFile, options) => {
424
- const flatFilePath = resolve(process.cwd(), flatFile);
425
+ const projectRoot = process.cwd();
426
+ const flatFilePath = resolve(projectRoot, flatFile);
425
427
  const { migrateIncident } = await import('../core/knowledge-base/migrate.js');
428
+ const { loadPluginConfig, resolveVaultRoot } = await import('../utils/config.js');
429
+ const config = await loadPluginConfig(projectRoot);
430
+ const vaultRoot = resolveVaultRoot(projectRoot, config);
426
431
  const result = await migrateIncident({
427
432
  flatFilePath,
433
+ vaultRoot,
428
434
  dryRun: options.dryRun,
435
+ force: options.force,
429
436
  });
430
437
  logger.header(`hewtd migrate-incident`);
431
438
  logger.info(`Source: ${result.flatFilePath}`);
@@ -445,8 +452,68 @@ program
445
452
  logger.info(` evidence: ${result.evidencePath} (empty)`);
446
453
  logger.info(` original: ${result.flatFilePath}.migrated (renamed for rollback)`);
447
454
  }
455
+ else if (result.action === 'already_migrated') {
456
+ logger.warn(`Already migrated.`);
457
+ if (result.existingLocation === 'legacy') {
458
+ logger.warn(` Existing folder is at the 2.3.0 legacy location: ${result.narrativePath}`);
459
+ logger.warn(` Run \`hewtd fix-legacy-layout\` to relocate it under incidents/.`);
460
+ }
461
+ else {
462
+ logger.info(` Existing folder: ${result.narrativePath}`);
463
+ }
464
+ logger.info(` Use --force to re-migrate (overwrites).`);
465
+ }
466
+ });
467
+ program
468
+ .command('fix-legacy-layout')
469
+ .description('Relocate incident folders written by buggy 2.3.0 migrate-incident into the canonical <vault>/incidents/ parent, and rewrite any provenance: refs in fact files. Idempotent.')
470
+ .option('--dry-run', 'Report what would be moved without writing', false)
471
+ .action(async (options) => {
472
+ const projectRoot = process.cwd();
473
+ const { fixLegacyLayout } = await import('../core/knowledge-base/fix-legacy-layout.js');
474
+ const { loadPluginConfig, resolveVaultRoot } = await import('../utils/config.js');
475
+ const config = await loadPluginConfig(projectRoot);
476
+ const vaultRoot = resolveVaultRoot(projectRoot, config);
477
+ const result = await fixLegacyLayout({
478
+ vaultRoot,
479
+ projectRoot,
480
+ dryRun: options.dryRun,
481
+ });
482
+ logger.header(`hewtd fix-legacy-layout`);
483
+ logger.info(`Vault root: ${result.vaultRoot}`);
484
+ logger.info(`Action: ${result.action}`);
485
+ if (result.action === 'no_op') {
486
+ logger.success('No legacy-layout incident folders found. Nothing to do.');
487
+ return;
488
+ }
489
+ if (result.moved.length > 0) {
490
+ logger.info('');
491
+ logger.info(`Moved ${result.moved.length} folder${result.moved.length === 1 ? '' : 's'}:`);
492
+ for (const m of result.moved) {
493
+ logger.info(` ${m.from} → ${m.to}`);
494
+ }
495
+ }
496
+ if (result.rewrittenProvenance.length > 0) {
497
+ logger.info('');
498
+ logger.info(`Rewrote ${result.rewrittenProvenance.length} provenance reference${result.rewrittenProvenance.length === 1 ? '' : 's'}:`);
499
+ for (const r of result.rewrittenProvenance) {
500
+ logger.info(` ${r.factPath}: ${r.oldRef} → ${r.newRef}`);
501
+ }
502
+ }
503
+ if (result.skipped.length > 0) {
504
+ logger.warn('');
505
+ logger.warn(`Skipped ${result.skipped.length}:`);
506
+ for (const s of result.skipped) {
507
+ logger.warn(` ${s.path} — ${s.reason}`);
508
+ }
509
+ }
510
+ if (result.action === 'dry_run') {
511
+ logger.info('');
512
+ logger.info('Dry-run — no files were moved. Re-run without --dry-run to apply.');
513
+ }
448
514
  else {
449
- logger.warn(`Already migrated. Folder exists: ${result.targetFolder}`);
515
+ logger.success('');
516
+ logger.success('Done. Run `hewtd maintain` to regenerate indexes.');
450
517
  }
451
518
  });
452
519
  program
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Migrate 2.3.0-buggy incident folders into the canonical layout (2.4.0).
3
+ *
4
+ * In 2.3.0, `hewtd migrate-incident <flat-file>` wrote the new folder
5
+ * AS A SIBLING of the flat file. When the flat file lived at the vault
6
+ * root (the documented example), the resulting folder ended up at
7
+ * `<vault-root>/<slug>/` instead of `<vault-root>/incidents/<slug>/`.
8
+ * The `incidents/INDEX.md` generator scans only the canonical path, so
9
+ * those folders were silently absent from the index.
10
+ *
11
+ * This module:
12
+ * 1. Detects legacy folders — anything matching `<vault-root>/<slug>/`
13
+ * that contains a valid `narrative.md` AND isn't already under the
14
+ * canonical `<vault-root>/incidents/` parent.
15
+ * 2. Moves them into `<vault-root>/incidents/<slug>/` (preserving any
16
+ * `facts.md` / `evidence/` contents).
17
+ * 3. Rewrites `provenance:` references in any `<vault-root>/facts/*.md`
18
+ * files that pointed at the old folder paths.
19
+ *
20
+ * Idempotent: re-running on a clean vault is a no-op with a status report.
21
+ */
22
+ export interface FixLegacyLayoutOptions {
23
+ /** Absolute vault root. */
24
+ vaultRoot: string;
25
+ /** Project root — used for relative-path provenance rewrites. */
26
+ projectRoot: string;
27
+ /** If true, returns the plan without writing. */
28
+ dryRun?: boolean;
29
+ }
30
+ export interface MovedFolder {
31
+ /** Slug (folder basename), e.g. `2026-04-23-keycloak-idle-session`. */
32
+ slug: string;
33
+ /** Absolute source path (legacy). */
34
+ from: string;
35
+ /** Absolute destination path (canonical). */
36
+ to: string;
37
+ }
38
+ export interface RewrittenProvenance {
39
+ /** Absolute fact file path. */
40
+ factPath: string;
41
+ /** Old provenance string that was replaced. */
42
+ oldRef: string;
43
+ /** New provenance string. */
44
+ newRef: string;
45
+ }
46
+ export interface FixLegacyLayoutResult {
47
+ vaultRoot: string;
48
+ moved: MovedFolder[];
49
+ rewrittenProvenance: RewrittenProvenance[];
50
+ /** Paths that LOOKED like incident folders but were ambiguous. Reported but not moved. */
51
+ skipped: {
52
+ path: string;
53
+ reason: string;
54
+ }[];
55
+ action: 'fixed' | 'no_op' | 'dry_run';
56
+ }
57
+ /**
58
+ * Discover and (optionally) relocate 2.3.0-layout incident folders.
59
+ */
60
+ export declare function fixLegacyLayout(options: FixLegacyLayoutOptions): Promise<FixLegacyLayoutResult>;
61
+ //# sourceMappingURL=fix-legacy-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-legacy-layout.d.ts","sourceRoot":"","sources":["../../../src/core/knowledge-base/fix-legacy-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,0FAA0F;IAC1F,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;CACvC;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAgKhC"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Migrate 2.3.0-buggy incident folders into the canonical layout (2.4.0).
3
+ *
4
+ * In 2.3.0, `hewtd migrate-incident <flat-file>` wrote the new folder
5
+ * AS A SIBLING of the flat file. When the flat file lived at the vault
6
+ * root (the documented example), the resulting folder ended up at
7
+ * `<vault-root>/<slug>/` instead of `<vault-root>/incidents/<slug>/`.
8
+ * The `incidents/INDEX.md` generator scans only the canonical path, so
9
+ * those folders were silently absent from the index.
10
+ *
11
+ * This module:
12
+ * 1. Detects legacy folders — anything matching `<vault-root>/<slug>/`
13
+ * that contains a valid `narrative.md` AND isn't already under the
14
+ * canonical `<vault-root>/incidents/` parent.
15
+ * 2. Moves them into `<vault-root>/incidents/<slug>/` (preserving any
16
+ * `facts.md` / `evidence/` contents).
17
+ * 3. Rewrites `provenance:` references in any `<vault-root>/facts/*.md`
18
+ * files that pointed at the old folder paths.
19
+ *
20
+ * Idempotent: re-running on a clean vault is a no-op with a status report.
21
+ */
22
+ import { readFile, writeFile, rename, mkdir, readdir, stat } from 'fs/promises';
23
+ import { existsSync } from 'fs';
24
+ import { join, relative } from 'path';
25
+ import matter from 'gray-matter';
26
+ /**
27
+ * Discover and (optionally) relocate 2.3.0-layout incident folders.
28
+ */
29
+ export async function fixLegacyLayout(options) {
30
+ const { vaultRoot, projectRoot, dryRun = false } = options;
31
+ const result = {
32
+ vaultRoot,
33
+ moved: [],
34
+ rewrittenProvenance: [],
35
+ skipped: [],
36
+ action: 'no_op',
37
+ };
38
+ if (!existsSync(vaultRoot)) {
39
+ return result;
40
+ }
41
+ // Walk one level deep under vaultRoot, looking for `<slug>/narrative.md`
42
+ // entries that are NOT inside `incidents/`, `facts/`, or `symptoms/`.
43
+ const RESERVED_DIRS = new Set(['incidents', 'facts', 'symptoms']);
44
+ const topLevel = await readdir(vaultRoot, { withFileTypes: true });
45
+ const legacyCandidates = [];
46
+ for (const entry of topLevel) {
47
+ if (!entry.isDirectory())
48
+ continue;
49
+ if (RESERVED_DIRS.has(entry.name))
50
+ continue;
51
+ const folderPath = join(vaultRoot, entry.name);
52
+ const narrativePath = join(folderPath, 'narrative.md');
53
+ if (!existsSync(narrativePath)) {
54
+ continue;
55
+ }
56
+ // Confirm this is genuinely an incident folder by reading the narrative
57
+ // frontmatter — protects against false positives (e.g. user-created
58
+ // folders that happen to contain a narrative.md from some other context).
59
+ const isIncident = await looksLikeIncidentFolder(narrativePath);
60
+ if (!isIncident) {
61
+ result.skipped.push({
62
+ path: folderPath,
63
+ reason: 'narrative.md present but tier is not "incident-narrative"',
64
+ });
65
+ continue;
66
+ }
67
+ legacyCandidates.push({
68
+ slug: entry.name,
69
+ from: folderPath,
70
+ to: join(vaultRoot, 'incidents', entry.name),
71
+ });
72
+ }
73
+ if (legacyCandidates.length === 0) {
74
+ return result;
75
+ }
76
+ // Build the provenance-rewrite plan FIRST (before moving anything) so
77
+ // we can reason about it. Old refs look like:
78
+ // `<rel-vault>/2026-04-23-foo/` (no `incidents/`)
79
+ // New refs:
80
+ // `<rel-vault>/incidents/2026-04-23-foo/`
81
+ const factsDir = join(vaultRoot, 'facts');
82
+ const provenanceRewrites = [];
83
+ if (existsSync(factsDir)) {
84
+ const factFiles = await readdir(factsDir);
85
+ for (const factFile of factFiles) {
86
+ if (!factFile.endsWith('.md'))
87
+ continue;
88
+ if (factFile === 'INDEX.md')
89
+ continue;
90
+ const factPath = join(factsDir, factFile);
91
+ const factStat = await stat(factPath);
92
+ if (!factStat.isFile())
93
+ continue;
94
+ const factRaw = await readFile(factPath, 'utf-8');
95
+ const factParsed = matter(factRaw);
96
+ const provenance = factParsed.data.provenance;
97
+ if (!Array.isArray(provenance))
98
+ continue;
99
+ let didRewrite = false;
100
+ const newProvenance = [];
101
+ for (const ref of provenance) {
102
+ if (typeof ref !== 'string') {
103
+ newProvenance.push(ref);
104
+ continue;
105
+ }
106
+ let rewritten = ref;
107
+ for (const candidate of legacyCandidates) {
108
+ // Generate possible old-ref shapes and rewrite.
109
+ // - relative from project root: `<rel-vault>/<slug>/`
110
+ // - bare slug + trailing slash: `<slug>/`
111
+ // - bare slug no slash: `<slug>`
112
+ const relOld = `${relative(projectRoot, candidate.from)}/`;
113
+ const relNew = `${relative(projectRoot, candidate.to)}/`;
114
+ if (ref === relOld || ref === relOld.slice(0, -1)) {
115
+ rewritten = relNew;
116
+ break;
117
+ }
118
+ if (ref === `${candidate.slug}/` || ref === candidate.slug) {
119
+ // Bare-slug reference; rewrite to the canonical relative path.
120
+ rewritten = relNew;
121
+ break;
122
+ }
123
+ }
124
+ if (rewritten !== ref) {
125
+ didRewrite = true;
126
+ provenanceRewrites.push({
127
+ factPath,
128
+ oldRef: ref,
129
+ newRef: rewritten,
130
+ });
131
+ }
132
+ newProvenance.push(rewritten);
133
+ }
134
+ if (didRewrite && !dryRun) {
135
+ const newData = { ...factParsed.data, provenance: newProvenance };
136
+ await writeFile(factPath, matter.stringify(factParsed.content, newData), 'utf-8');
137
+ }
138
+ }
139
+ }
140
+ // Now do the actual folder moves (if not dry-run). Ensure incidents/
141
+ // parent dir exists first.
142
+ if (!dryRun) {
143
+ const incidentsParent = join(vaultRoot, 'incidents');
144
+ await mkdir(incidentsParent, { recursive: true });
145
+ for (const candidate of legacyCandidates) {
146
+ // Refuse to clobber an existing folder at the destination.
147
+ if (existsSync(candidate.to)) {
148
+ result.skipped.push({
149
+ path: candidate.from,
150
+ reason: `destination already exists at ${candidate.to}; manual merge required`,
151
+ });
152
+ continue;
153
+ }
154
+ await rename(candidate.from, candidate.to);
155
+ result.moved.push(candidate);
156
+ }
157
+ }
158
+ else {
159
+ // Dry-run: report what WOULD be moved without doing it.
160
+ for (const candidate of legacyCandidates) {
161
+ if (existsSync(candidate.to)) {
162
+ result.skipped.push({
163
+ path: candidate.from,
164
+ reason: `destination already exists at ${candidate.to}; manual merge required`,
165
+ });
166
+ continue;
167
+ }
168
+ result.moved.push(candidate);
169
+ }
170
+ }
171
+ result.rewrittenProvenance = provenanceRewrites;
172
+ result.action = dryRun
173
+ ? 'dry_run'
174
+ : result.moved.length > 0 || provenanceRewrites.length > 0
175
+ ? 'fixed'
176
+ : 'no_op';
177
+ return result;
178
+ }
179
+ async function looksLikeIncidentFolder(narrativePath) {
180
+ try {
181
+ const content = await readFile(narrativePath, 'utf-8');
182
+ const { data } = matter(content);
183
+ return data.tier === 'incident-narrative';
184
+ }
185
+ catch {
186
+ return false;
187
+ }
188
+ }
189
+ //# sourceMappingURL=fix-legacy-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fix-legacy-layout.js","sourceRoot":"","sources":["../../../src/core/knowledge-base/fix-legacy-layout.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,60 @@
1
1
  /**
2
- * Flat-file incident → folder migration (2.3.0 PR3).
2
+ * Flat-file incident → folder migration (2.3.0 PR3, target-path fix in 2.4.0).
3
3
  *
4
- * Reads a legacy flat-file incident (e.g. `knowledge-base/2026-04-23-foo.md`)
5
- * and converts it into the folder form:
4
+ * Reads a legacy flat-file incident and converts it into the folder form
5
+ * AT THE CANONICAL VAULT LOCATION:
6
6
  *
7
- * <flat-file>.md → <slug>/narrative.md
8
- * <slug>/facts.md (skeleton)
9
- * <slug>/evidence/ (empty, ready for artifacts)
7
+ * <flat-file>.md → <vault-root>/incidents/<slug>/narrative.md
8
+ * <vault-root>/incidents/<slug>/facts.md (skeleton)
9
+ * <vault-root>/incidents/<slug>/evidence/ (empty)
10
10
  *
11
- * Idempotent: re-running on an already-migrated incident detects the folder
12
- * exists and warns + no-ops.
11
+ * In 2.3.0 the target was derived from the flat file's parent directory,
12
+ * which produced folders OUTSIDE `<vault-root>/incidents/` when the source
13
+ * was at the vault root. The `incidents/INDEX.md` generator scans only
14
+ * `<vault-root>/incidents/<slug>/narrative.md` and silently missed those
15
+ * folders. 2.4.0 fixes this by always writing under `<vault-root>/incidents/`.
16
+ *
17
+ * Idempotency:
18
+ * - If a valid `narrative.md` exists at EITHER the new path (canonical)
19
+ * OR the legacy path (`<source-parent>/<slug>/narrative.md`), the
20
+ * migration is treated as already done — no-op unless `--force`.
21
+ * - This protects against double-migration and is robust against
22
+ * consumers who already migrated under the 2.3.0 buggy layout.
23
+ *
24
+ * For consumers stuck on the 2.3.0 buggy layout, see `fixLegacyLayout()`
25
+ * which moves stale folders into `<vault-root>/incidents/` and rewrites
26
+ * any fact `provenance:` references.
13
27
  */
14
28
  export interface MigrateIncidentOptions {
15
29
  /** Absolute path to the flat-file incident markdown. */
16
30
  flatFilePath: string;
31
+ /**
32
+ * Absolute path to the vault root. The migrated folder lands at
33
+ * `<vaultRoot>/incidents/<slug>/`. Required since 2.4.0 — the 2.3.0
34
+ * "sibling of the flat file" behavior was the source of the path bug.
35
+ */
36
+ vaultRoot: string;
17
37
  /** If true, returns the migration plan without writing. */
18
38
  dryRun?: boolean;
39
+ /**
40
+ * If true, proceed with migration even if a folder already exists at
41
+ * the canonical or legacy location. Used to recover from a partial
42
+ * migration.
43
+ */
44
+ force?: boolean;
19
45
  }
20
46
  export interface MigrateIncidentResult {
21
47
  flatFilePath: string;
48
+ /** The canonical target — always under `<vaultRoot>/incidents/`. */
22
49
  targetFolder: string;
23
50
  action: 'migrated' | 'already_migrated' | 'dry_run';
51
+ /**
52
+ * Populated when `action === 'already_migrated'` to indicate WHERE the
53
+ * existing migration was found. `'new'` = canonical `<vault>/incidents/`;
54
+ * `'legacy'` = 2.3.0-style sibling-of-flat-file location. Helps consumers
55
+ * decide whether to run `fix-legacy-layout`.
56
+ */
57
+ existingLocation?: 'new' | 'legacy';
24
58
  narrativePath: string;
25
59
  factsPath: string;
26
60
  evidencePath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/core/knowledge-base/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,MAAM,WAAW,sBAAsB;IACrC,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAwGhC"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/core/knowledge-base/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAOH,MAAM,WAAW,sBAAsB;IACrC,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACpD;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CA8HhC"}
@@ -1,22 +1,36 @@
1
1
  /**
2
- * Flat-file incident → folder migration (2.3.0 PR3).
2
+ * Flat-file incident → folder migration (2.3.0 PR3, target-path fix in 2.4.0).
3
3
  *
4
- * Reads a legacy flat-file incident (e.g. `knowledge-base/2026-04-23-foo.md`)
5
- * and converts it into the folder form:
4
+ * Reads a legacy flat-file incident and converts it into the folder form
5
+ * AT THE CANONICAL VAULT LOCATION:
6
6
  *
7
- * <flat-file>.md → <slug>/narrative.md
8
- * <slug>/facts.md (skeleton)
9
- * <slug>/evidence/ (empty, ready for artifacts)
7
+ * <flat-file>.md → <vault-root>/incidents/<slug>/narrative.md
8
+ * <vault-root>/incidents/<slug>/facts.md (skeleton)
9
+ * <vault-root>/incidents/<slug>/evidence/ (empty)
10
10
  *
11
- * Idempotent: re-running on an already-migrated incident detects the folder
12
- * exists and warns + no-ops.
11
+ * In 2.3.0 the target was derived from the flat file's parent directory,
12
+ * which produced folders OUTSIDE `<vault-root>/incidents/` when the source
13
+ * was at the vault root. The `incidents/INDEX.md` generator scans only
14
+ * `<vault-root>/incidents/<slug>/narrative.md` and silently missed those
15
+ * folders. 2.4.0 fixes this by always writing under `<vault-root>/incidents/`.
16
+ *
17
+ * Idempotency:
18
+ * - If a valid `narrative.md` exists at EITHER the new path (canonical)
19
+ * OR the legacy path (`<source-parent>/<slug>/narrative.md`), the
20
+ * migration is treated as already done — no-op unless `--force`.
21
+ * - This protects against double-migration and is robust against
22
+ * consumers who already migrated under the 2.3.0 buggy layout.
23
+ *
24
+ * For consumers stuck on the 2.3.0 buggy layout, see `fixLegacyLayout()`
25
+ * which moves stale folders into `<vault-root>/incidents/` and rewrites
26
+ * any fact `provenance:` references.
13
27
  */
14
28
  import { readFile, writeFile, mkdir, rename } from 'fs/promises';
15
29
  import { existsSync } from 'fs';
16
30
  import { basename, dirname, join } from 'path';
17
31
  import matter from 'gray-matter';
18
32
  export async function migrateIncident(options) {
19
- const { flatFilePath, dryRun = false } = options;
33
+ const { flatFilePath, vaultRoot, dryRun = false, force = false } = options;
20
34
  const sourceContent = await readFile(flatFilePath, 'utf-8');
21
35
  const parsed = matter(sourceContent);
22
36
  const fm = (parsed.data ?? {});
@@ -28,11 +42,14 @@ export async function migrateIncident(options) {
28
42
  const folderSlug = idFromFrontmatter && /^\d{4}-\d{2}-\d{2}-[a-z0-9-]+$/.test(idFromFrontmatter)
29
43
  ? idFromFrontmatter
30
44
  : flatBase;
31
- const parentDir = dirname(flatFilePath);
32
- const targetFolder = join(parentDir, folderSlug);
45
+ // Canonical target: <vault-root>/incidents/<slug>/
46
+ const targetFolder = join(vaultRoot, 'incidents', folderSlug);
33
47
  const narrativePath = join(targetFolder, 'narrative.md');
34
48
  const factsPath = join(targetFolder, 'facts.md');
35
49
  const evidencePath = join(targetFolder, 'evidence');
50
+ // Legacy 2.3.0 location: <source-parent>/<slug>/
51
+ const legacyTargetFolder = join(dirname(flatFilePath), folderSlug);
52
+ const legacyNarrativePath = join(legacyTargetFolder, 'narrative.md');
36
53
  // Build narrative.md frontmatter — promote/normalize fields, set tier.
37
54
  const narrativeFrontmatter = {
38
55
  title: fm.title ?? flatBase,
@@ -62,18 +79,35 @@ export async function migrateIncident(options) {
62
79
  produced: [],
63
80
  };
64
81
  const factsContent = matter.stringify(`\n# Facts from ${folderSlug}\n\n## Produced\n_(No facts extracted yet. Use \`hewtd extract-facts ${folderSlug}/\` to propose facts from the narrative.)_\n`, factsFrontmatter);
65
- // Idempotency check: if target folder already exists, no-op.
66
- if (existsSync(targetFolder)) {
67
- return {
68
- flatFilePath,
69
- targetFolder,
70
- action: 'already_migrated',
71
- narrativePath,
72
- factsPath,
73
- evidencePath,
74
- narrativeContent,
75
- factsContent,
76
- };
82
+ // Idempotency check (unless --force): check BOTH new and legacy locations
83
+ // for an existing valid migration.
84
+ if (!force) {
85
+ if (existsSync(narrativePath)) {
86
+ return {
87
+ flatFilePath,
88
+ targetFolder,
89
+ action: 'already_migrated',
90
+ existingLocation: 'new',
91
+ narrativePath,
92
+ factsPath,
93
+ evidencePath,
94
+ narrativeContent,
95
+ factsContent,
96
+ };
97
+ }
98
+ if (existsSync(legacyNarrativePath)) {
99
+ return {
100
+ flatFilePath,
101
+ targetFolder,
102
+ action: 'already_migrated',
103
+ existingLocation: 'legacy',
104
+ narrativePath: legacyNarrativePath,
105
+ factsPath: join(legacyTargetFolder, 'facts.md'),
106
+ evidencePath: join(legacyTargetFolder, 'evidence'),
107
+ narrativeContent,
108
+ factsContent,
109
+ };
110
+ }
77
111
  }
78
112
  if (dryRun) {
79
113
  return {
@@ -87,7 +121,8 @@ export async function migrateIncident(options) {
87
121
  factsContent,
88
122
  };
89
123
  }
90
- // Execute the migration.
124
+ // Ensure the canonical parent (<vault>/incidents/) exists. Generator
125
+ // already handles a missing dir; we should too.
91
126
  await mkdir(evidencePath, { recursive: true }); // also creates targetFolder
92
127
  await writeFile(narrativePath, narrativeContent, 'utf-8');
93
128
  await writeFile(factsPath, factsContent, 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/core/knowledge-base/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/core/knowledge-base/migrate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theglitchking/hit-em-with-the-docs",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Self-managing documentation system with hierarchical structure, intelligent automation, pattern discovery, and agent orchestration",
5
5
  "type": "module",
6
6
  "main": "dist/cli/index.js",