@isaacriehm/cairn-core 0.6.0 → 0.7.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 (81) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/attention/bulk-accept.js +56 -15
  3. package/dist/attention/bulk-accept.js.map +1 -1
  4. package/dist/attention/serve/api.js +7 -1
  5. package/dist/attention/serve/api.js.map +1 -1
  6. package/dist/ground/file-candidates-map.d.ts +23 -0
  7. package/dist/ground/file-candidates-map.js +76 -0
  8. package/dist/ground/file-candidates-map.js.map +1 -0
  9. package/dist/ground/index.d.ts +4 -2
  10. package/dist/ground/index.js +4 -2
  11. package/dist/ground/index.js.map +1 -1
  12. package/dist/ground/paths.d.ts +2 -0
  13. package/dist/ground/paths.js +6 -0
  14. package/dist/ground/paths.js.map +1 -1
  15. package/dist/ground/rejected.d.ts +42 -0
  16. package/dist/ground/rejected.js +100 -0
  17. package/dist/ground/rejected.js.map +1 -0
  18. package/dist/ground/schemas.d.ts +80 -0
  19. package/dist/ground/schemas.js +54 -0
  20. package/dist/ground/schemas.js.map +1 -1
  21. package/dist/hooks/post-tool-use/index.d.ts +1 -1
  22. package/dist/hooks/post-tool-use/index.js +1 -1
  23. package/dist/hooks/post-tool-use/index.js.map +1 -1
  24. package/dist/hooks/post-tool-use/ledger-cache.d.ts +13 -0
  25. package/dist/hooks/post-tool-use/ledger-cache.js +48 -0
  26. package/dist/hooks/post-tool-use/ledger-cache.js.map +1 -1
  27. package/dist/hooks/post-tool-use/legend-builder.d.ts +10 -1
  28. package/dist/hooks/post-tool-use/legend-builder.js +27 -2
  29. package/dist/hooks/post-tool-use/legend-builder.js.map +1 -1
  30. package/dist/hooks/post-tool-use/read-enricher.js +8 -2
  31. package/dist/hooks/post-tool-use/read-enricher.js.map +1 -1
  32. package/dist/init/index.d.ts +2 -2
  33. package/dist/init/index.js +1 -1
  34. package/dist/init/index.js.map +1 -1
  35. package/dist/init/ingest-docs.d.ts +82 -22
  36. package/dist/init/ingest-docs.js +632 -108
  37. package/dist/init/ingest-docs.js.map +1 -1
  38. package/dist/init/init.d.ts +10 -1
  39. package/dist/init/init.js +113 -251
  40. package/dist/init/init.js.map +1 -1
  41. package/dist/init/mapper-parallel.js +8 -0
  42. package/dist/init/mapper-parallel.js.map +1 -1
  43. package/dist/init/phases/6-docs-ingest.d.ts +9 -4
  44. package/dist/init/phases/6-docs-ingest.js +13 -10
  45. package/dist/init/phases/6-docs-ingest.js.map +1 -1
  46. package/dist/init/phases/parallel-678.js +10 -4
  47. package/dist/init/phases/parallel-678.js.map +1 -1
  48. package/dist/init/sot-emit.d.ts +22 -0
  49. package/dist/init/sot-emit.js +50 -4
  50. package/dist/init/sot-emit.js.map +1 -1
  51. package/dist/init/source-comments/ingest.js +107 -7
  52. package/dist/init/source-comments/ingest.js.map +1 -1
  53. package/dist/init/topic-index/index.d.ts +14 -0
  54. package/dist/init/topic-index/index.js +83 -4
  55. package/dist/init/topic-index/index.js.map +1 -1
  56. package/dist/init/topic-index/judge.js +14 -1
  57. package/dist/init/topic-index/judge.js.map +1 -1
  58. package/dist/init/topic-index/resolve.d.ts +19 -0
  59. package/dist/init/topic-index/resolve.js +100 -14
  60. package/dist/init/topic-index/resolve.js.map +1 -1
  61. package/dist/init/topic-index/walk.d.ts +32 -0
  62. package/dist/init/topic-index/walk.js +70 -4
  63. package/dist/init/topic-index/walk.js.map +1 -1
  64. package/dist/mcp/history/summarizer.js +5 -0
  65. package/dist/mcp/history/summarizer.js.map +1 -1
  66. package/dist/mcp/schemas.d.ts +48 -0
  67. package/dist/mcp/schemas.js +43 -0
  68. package/dist/mcp/schemas.js.map +1 -1
  69. package/dist/mcp/tools/index.js +8 -0
  70. package/dist/mcp/tools/index.js.map +1 -1
  71. package/dist/mcp/tools/propose-decision.d.ts +34 -0
  72. package/dist/mcp/tools/propose-decision.js +200 -0
  73. package/dist/mcp/tools/propose-decision.js.map +1 -0
  74. package/dist/mcp/tools/reject-candidate.d.ts +24 -0
  75. package/dist/mcp/tools/reject-candidate.js +71 -0
  76. package/dist/mcp/tools/reject-candidate.js.map +1 -0
  77. package/dist/mcp/tools/search-candidates.d.ts +20 -0
  78. package/dist/mcp/tools/search-candidates.js +93 -0
  79. package/dist/mcp/tools/search-candidates.js.map +1 -0
  80. package/package.json +1 -1
  81. package/templates/attention-ui/app.js +40 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ingest-docs.js","sourceRoot":"","sources":["../../src/init/ingest-docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest-docs.js","sourceRoot":"","sources":["../../src/init/ingest-docs.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,8 @@
16
16
  */
17
17
  import { type BrandAnswers } from "./brand-setup.js";
18
18
  import { type BaselineAuditResult } from "./baseline-audit.js";
19
- import { type IngestionResult } from "./ingest-docs.js";
19
+ import { type DocClassification, type IngestionResult } from "./ingest-docs.js";
20
+ import type { TopicIndexEntry } from "../ground/index.js";
20
21
  import { type SemanticJudge } from "./topic-index/index.js";
21
22
  import { type CommentClassification, type IngestSourceCommentsResult } from "./source-comments/index.js";
22
23
  import { type RuleClassification, type RunRulesMergeResult } from "./rules-merge/index.js";
@@ -126,6 +127,14 @@ export interface RunInitArgs {
126
127
  * trip the Jaccard similarity threshold.
127
128
  */
128
129
  mockTopicIndexJudge?: SemanticJudge;
130
+ /**
131
+ * Test override for the phase 6 docs-ingestion classifier. When set,
132
+ * Stages 1 + 2 (file filter + section classify) are bypassed; every
133
+ * non-marker topic-index doc candidate flows through this synchronous
134
+ * mock instead of Haiku. Mirrors {@link RunDocsIngestionArgs.mockClassify}
135
+ * so smokes can exercise the Stage 4 draft-emit path end-to-end.
136
+ */
137
+ mockIngestionClassify?: (entry: TopicIndexEntry, body: string) => DocClassification;
129
138
  }
130
139
  export interface InitResult {
131
140
  detection: DetectionResult;
package/dist/init/init.js CHANGED
@@ -46,6 +46,7 @@ export async function runInit(args = {}) {
46
46
  const cwd = process.cwd();
47
47
  const mode = args.mode ?? "interactive";
48
48
  const warnings = [];
49
+ const initStartMs = Date.now();
49
50
  // ── Phase -1: self-adoption hard stop ──────────────────────────────
50
51
  // If repoRoot or cwd looks like the Cairn source repo itself, refuse —
51
52
  // running init here would overwrite cairn internals.
@@ -309,14 +310,23 @@ export async function runInit(args = {}) {
309
310
  // runs every runnable sensor against the full codebase to surface pre-
310
311
  // Cairn debt. Both pieces are best-effort; failures degrade to empty
311
312
  // result, never block the init.
312
- const phase6 = await runPhaseSix({
313
+ const phase6Args = {
313
314
  repoRoot,
314
315
  decidedSlug,
315
316
  detection,
316
317
  mapperOutput,
317
- skip: args.skipIngestion === true || mode === "auto",
318
+ // Auto mode skips Haiku-backed ingestion by default. Smokes that
319
+ // need to exercise the phase-6 emit path (e2e-adoption,
320
+ // ingestion-baseline) provide `mockIngestionClassify` so the
321
+ // pipeline runs end-to-end without burning Haiku.
322
+ skip: args.skipIngestion === true ||
323
+ (mode === "auto" && args.mockIngestionClassify === undefined),
318
324
  warnings,
319
- });
325
+ };
326
+ if (args.mockIngestionClassify !== undefined) {
327
+ phase6Args.mockClassify = args.mockIngestionClassify;
328
+ }
329
+ const phase6 = await runPhaseSix(phase6Args);
320
330
  // ── Phase 7b: source-comment ingestion ─────────────────────────────
321
331
  // Walks every source file, batches block-comments through Haiku, files
322
332
  // DEC drafts + invariant proposals + canonical citations into
@@ -415,20 +425,15 @@ export async function runInit(args = {}) {
415
425
  // (PLUGIN_ARCHITECTURE §7). Init no longer writes it; the next
416
426
  // SessionStart in any clone seeds the per-session file with the
417
427
  // current attention_count derived from drafts + baseline findings.
418
- // ── Step 6: completion summary (structured) ────────────────────────
428
+ // ── Step 6: completion summary (terse, per PHASE_6_REDESIGN §4.9) ──
419
429
  printCompletionSummary({
420
430
  projectName: decidedSlug,
421
431
  repoRoot,
422
- seededFiles: seed.written_files,
423
- brandSetup,
424
- submodules: submoduleSummary,
425
- scanTruncated: repoSummary.truncated_at_file_cap ||
426
- repoSummary.truncated_at_depth_cap,
427
432
  mapperFallbackSlugs,
428
- ingestion: phase6.ingestion,
429
433
  baselineAudit: phase6.baselineAudit,
430
434
  logFilePath,
431
435
  warnings,
436
+ durationMs: Date.now() - initStartMs,
432
437
  });
433
438
  log.info({
434
439
  repo_root: repoRoot,
@@ -706,58 +711,43 @@ async function preflightSubmodules(args) {
706
711
  success: true,
707
712
  };
708
713
  }
714
+ /**
715
+ * Cold-start summary, locked wording from PHASE_6_REDESIGN §4.9.
716
+ *
717
+ * Adopted <project> in <duration>.
718
+ * - <N> active rules baseline verified.
719
+ * - <M> new decision drafts found.
720
+ * - <K> unpromoted candidates indexed.
721
+ *
722
+ * Run `cairn attention` to review drafts and commit them to the ledger.
723
+ *
724
+ * No auto-wizard. No statusline drumbeat. Operator drives the next
725
+ * step. Warnings (if any) tail the locked block. Rich operational
726
+ * status moved to `cairn doctor`.
727
+ */
709
728
  function printCompletionSummary(args) {
710
- const groundCount = countGroundFiles(args.repoRoot);
711
- const sensorCount = countSensorEntries(args.repoRoot);
712
- const scopeReport = describeScopeIndex(args.repoRoot, args.submodules, args.scanTruncated);
713
- const brandReport = describeBrandStatus(args.repoRoot);
714
- const mcpReport = describeMcpRegistration(args.repoRoot);
729
+ const N = describeActiveRulesVerified(args.baselineAudit);
730
+ const M = countInboxDrafts(args.repoRoot);
731
+ const K = countUnpromotedCandidates(args.repoRoot);
732
+ const duration = formatDuration(args.durationMs);
715
733
  info("");
716
- info(` Cairn ready — ${args.projectName}`);
734
+ info(` Adopted ${args.projectName} in ${duration}.`);
735
+ info(` - ${N} active rules baseline verified.`);
736
+ info(` - ${M} new decision drafts found.`);
737
+ info(` - ${K} unpromoted candidates indexed.`);
717
738
  info("");
718
- info(` Ground state .cairn/ground/ (${groundCount} files)`);
719
- info(` MCP server ${mcpReport}`);
720
- info(` Sensors ${sensorCount} active`);
739
+ info(" Run `cairn attention` to review drafts and commit them to the ledger.");
740
+ if (args.logFilePath !== null) {
741
+ info("");
742
+ info(` Log ${shortenHomePath(args.logFilePath)}`);
743
+ }
721
744
  if (args.mapperFallbackSlugs.length > 0) {
722
745
  const head = args.mapperFallbackSlugs.slice(0, 3).join(", ");
723
746
  const more = args.mapperFallbackSlugs.length > 3
724
747
  ? ` +${args.mapperFallbackSlugs.length - 3} more`
725
748
  : "";
726
- info(` ${head}${more} used fallback — rerun cairn scope rebuild`);
727
- }
728
- info(` Brand ${brandReport}`);
729
- info(` Scope index ${scopeReport.line}`);
730
- if (scopeReport.followUp !== null) {
731
- info(` ${scopeReport.followUp}`);
732
- }
733
- if (args.logFilePath !== null) {
734
- info(` Log ${shortenHomePath(args.logFilePath)}`);
749
+ info(` Mapper fallback ${head}${more} — rerun cairn scope rebuild`);
735
750
  }
736
- // Project brain populated from existing codebase.
737
- const ingestionReport = describeIngestion(args.ingestion);
738
- const canonicalReport = describeCanonical(args.ingestion);
739
- const baselineReport = describeBaseline(args.baselineAudit);
740
- if (ingestionReport !== null ||
741
- canonicalReport !== null ||
742
- baselineReport !== null) {
743
- info("");
744
- info(" Project brain populated from existing codebase:");
745
- if (ingestionReport !== null) {
746
- info(` DEC drafts ${ingestionReport}`);
747
- }
748
- if (canonicalReport !== null) {
749
- info(` Canonical map ${canonicalReport}`);
750
- }
751
- if (baselineReport !== null) {
752
- info(` Baseline debt ${baselineReport}`);
753
- }
754
- }
755
- info("");
756
- info(" Open Claude Code in this directory. Cairn is live immediately.");
757
- info("");
758
- info(" Next: cairn attention see pending items");
759
- info(" cairn doctor verify everything is working");
760
- info(" cairn configure brand fill in brand guidelines");
761
751
  if (args.warnings.length > 0) {
762
752
  info("");
763
753
  info(` ${args.warnings.length} warning${args.warnings.length === 1 ? "" : "s"}:`);
@@ -765,180 +755,75 @@ function printCompletionSummary(args) {
765
755
  info(` ! ${w}`);
766
756
  }
767
757
  }
768
- function shortenHomePath(abs) {
769
- const home = homedir();
770
- if (abs.startsWith(home))
771
- return `~${abs.slice(home.length)}`;
772
- return abs;
773
- }
774
- function countGroundFiles(repoRoot) {
775
- const groundDir = join(repoRoot, ".cairn", "ground");
776
- if (!existsSync(groundDir))
758
+ function describeActiveRulesVerified(audit) {
759
+ // "Active rules baseline verified" = sensors that ran clean against
760
+ // the existing codebase. A clean sensor means the project already
761
+ // satisfies the rule it enforces — that's the baseline. Skipped
762
+ // sensors and sensors with findings don't count.
763
+ if (audit === null)
777
764
  return 0;
778
- let count = 0;
779
- const stack = [groundDir];
780
- while (stack.length > 0) {
781
- const dir = stack.pop();
782
- if (dir === undefined)
783
- break;
784
- let entries;
785
- try {
786
- entries = readdirSync(dir, { withFileTypes: true, encoding: "utf8" });
787
- }
788
- catch {
789
- continue;
790
- }
791
- for (const e of entries) {
792
- const abs = join(dir, e.name);
793
- if (e.isDirectory()) {
794
- if (e.name === "_inbox")
795
- continue;
796
- stack.push(abs);
797
- }
798
- else if (e.isFile()) {
799
- count++;
800
- }
801
- }
802
- }
803
- return count;
765
+ return audit.cleanSensorIds.length;
804
766
  }
805
- function countSensorEntries(repoRoot) {
806
- const path = join(repoRoot, ".cairn", "config", "sensors.yaml");
807
- if (!existsSync(path))
767
+ function countInboxDrafts(repoRoot) {
768
+ const inbox = join(repoRoot, ".cairn", "ground", "decisions", "_inbox");
769
+ if (!existsSync(inbox))
808
770
  return 0;
771
+ let entries;
809
772
  try {
810
- const parsed = parseYaml(readFileSync(path, "utf8"));
811
- if (typeof parsed !== "object" || parsed === null)
812
- return 0;
813
- const sensorsRaw = parsed["sensors"];
814
- if (!Array.isArray(sensorsRaw))
815
- return 0;
816
- return sensorsRaw.length;
773
+ entries = readdirSync(inbox, { withFileTypes: true, encoding: "utf8" });
817
774
  }
818
775
  catch {
819
776
  return 0;
820
777
  }
821
- }
822
- function describeScopeIndex(repoRoot, submodules, scanTruncated) {
823
- const path = join(repoRoot, ".cairn", "ground", "scope-index.yaml");
824
- const submoduleNoteJustInitialized = submodules !== null &&
825
- submodules.initialized &&
826
- submodules.success;
827
- const truncationFollowUp = "Run cairn scope rebuild for full classification";
828
- if (!existsSync(path)) {
829
- return {
830
- line: "missing — run cairn scope rebuild",
831
- followUp: null,
832
- };
778
+ let n = 0;
779
+ for (const e of entries) {
780
+ if (!e.isFile())
781
+ continue;
782
+ if (e.name.endsWith(".draft.md"))
783
+ n += 1;
833
784
  }
785
+ return n;
786
+ }
787
+ function countUnpromotedCandidates(repoRoot) {
788
+ const path = join(repoRoot, ".cairn", "ground", "topic-index.yaml");
789
+ if (!existsSync(path))
790
+ return 0;
791
+ let parsed;
834
792
  try {
835
- const parsed = parseYaml(readFileSync(path, "utf8"));
836
- if (typeof parsed !== "object" || parsed === null) {
837
- return {
838
- line: "empty — run cairn scope rebuild",
839
- followUp: null,
840
- };
841
- }
842
- const filesRaw = parsed["files"];
843
- if (typeof filesRaw !== "object" || filesRaw === null) {
844
- return {
845
- line: "empty — run cairn scope rebuild",
846
- followUp: null,
847
- };
848
- }
849
- const count = Object.keys(filesRaw).length;
850
- if (count === 0) {
851
- if (scanTruncated) {
852
- return {
853
- line: "empty — analysis was truncated during init",
854
- followUp: truncationFollowUp,
855
- };
856
- }
857
- return {
858
- line: submoduleNoteJustInitialized
859
- ? "empty — submodules now initialized, run cairn scope rebuild"
860
- : "empty — run cairn scope rebuild",
861
- followUp: null,
862
- };
863
- }
864
- if (scanTruncated) {
865
- return {
866
- line: "partial — analysis was truncated during init",
867
- followUp: truncationFollowUp,
868
- };
869
- }
870
- if (submoduleNoteJustInitialized) {
871
- return {
872
- line: `partial — ${count} file${count === 1 ? "" : "s"} classified (submodules now initialized)`,
873
- followUp: truncationFollowUp,
874
- };
875
- }
876
- return {
877
- line: `ready (${count} file${count === 1 ? "" : "s"} classified)`,
878
- followUp: null,
879
- };
793
+ parsed = parseYaml(readFileSync(path, "utf8"));
880
794
  }
881
795
  catch {
882
- return {
883
- line: "unreadable — run cairn scope rebuild",
884
- followUp: null,
885
- };
796
+ return 0;
886
797
  }
887
- }
888
- function describeBrandStatus(repoRoot) {
889
- const overview = join(repoRoot, ".cairn", "ground", "brand", "overview.md");
890
- const positioning = join(repoRoot, ".cairn", "ground", "product", "positioning.md");
891
- const voice = join(repoRoot, ".cairn", "ground", "brand", "voice.md");
892
- const all = [overview, positioning, voice];
893
- let currentCount = 0;
894
- let total = 0;
895
- for (const p of all) {
896
- if (!existsSync(p))
798
+ if (typeof parsed !== "object" || parsed === null)
799
+ return 0;
800
+ const topics = parsed["topics"];
801
+ if (typeof topics !== "object" || topics === null)
802
+ return 0;
803
+ let n = 0;
804
+ for (const entry of Object.values(topics)) {
805
+ if (typeof entry !== "object" || entry === null)
897
806
  continue;
898
- total++;
899
- if (readFrontmatterStatus(p) === "current")
900
- currentCount++;
807
+ if (entry["dec_id"] === undefined)
808
+ n += 1;
901
809
  }
902
- if (total === 0)
903
- return "missing — re-run cairn init";
904
- if (currentCount === total)
905
- return "ready";
906
- if (currentCount === 0)
907
- return "draft — run cairn configure brand";
908
- return `partial (${currentCount}/${total} current) — run cairn configure brand`;
810
+ return n;
909
811
  }
910
- function readFrontmatterStatus(path) {
911
- try {
912
- const text = readFileSync(path, "utf8");
913
- const m = text.match(/^---\n([\s\S]*?\n)---/);
914
- if (!m)
915
- return null;
916
- const fm = m[1] ?? "";
917
- const sm = fm.match(/^status:\s*(\S+)\s*$/m);
918
- return sm && sm[1] ? sm[1] : null;
919
- }
920
- catch {
921
- return null;
922
- }
812
+ function formatDuration(ms) {
813
+ if (ms < 1_000)
814
+ return `${ms}ms`;
815
+ const seconds = ms / 1_000;
816
+ if (seconds < 60)
817
+ return `${seconds.toFixed(1)}s`;
818
+ const minutes = Math.floor(seconds / 60);
819
+ const remSeconds = Math.round(seconds - minutes * 60);
820
+ return `${minutes}m ${remSeconds}s`;
923
821
  }
924
- function describeMcpRegistration(repoRoot) {
925
- const path = join(repoRoot, ".mcp.json");
926
- if (!existsSync(path))
927
- return ".mcp.json · missing entry";
928
- try {
929
- const parsed = JSON.parse(readFileSync(path, "utf8"));
930
- const servers = parsed["mcpServers"];
931
- if (typeof servers !== "object" || servers === null) {
932
- return ".mcp.json · missing cairn entry";
933
- }
934
- if (servers["cairn"] !== undefined) {
935
- return ".mcp.json · ready";
936
- }
937
- return ".mcp.json · missing cairn entry";
938
- }
939
- catch {
940
- return ".mcp.json · unreadable";
941
- }
822
+ function shortenHomePath(abs) {
823
+ const home = homedir();
824
+ if (abs.startsWith(home))
825
+ return `~${abs.slice(home.length)}`;
826
+ return abs;
942
827
  }
943
828
  function printDiscovery(d, decidedSlug, warnings, summary) {
944
829
  process.stdout.write("\n");
@@ -1010,21 +895,29 @@ async function runPhaseSix(args) {
1010
895
  }
1011
896
  process.stdout.write("\n");
1012
897
  process.stdout.write(` ${visualC.bold("Phase 6")} — ingesting existing project knowledge…\n`);
1013
- // ── 6.1 — docs ingestion (Haiku per doc; cap 20 largest) ───────────
898
+ // ── 6.1 — docs ingestion (staged: marker file-filter section) ──
1014
899
  let ingestion = null;
1015
900
  try {
1016
- let lastTotal = 0;
1017
- let processedCount = 0;
1018
- ingestion = await runDocsIngestion({
901
+ let lastStage = null;
902
+ const ingestionArgs = {
1019
903
  repoRoot: args.repoRoot,
1020
- onEntryProgress: (row) => {
1021
- processedCount += 1;
1022
- lastTotal = row.total;
1023
- if (processedCount === row.total) {
1024
- process.stdout.write(` ${"docs".padEnd(20)} ✓ ${processedCount}/${lastTotal} entries processed\n`);
904
+ onChunkProgress: (row) => {
905
+ // Print one trailer line per stage so the operator sees the
906
+ // staged pipeline land — Stage 1 (file filter) finishes first
907
+ // and is usually the smaller batch; Stage 2 (section classify)
908
+ // follows once authoritative files are known.
909
+ if (row.chunksDone === row.totalChunks && row.stage !== lastStage) {
910
+ lastStage = row.stage;
911
+ const label = row.stage === "file-filter"
912
+ ? "stage 1 file filter"
913
+ : "stage 2 section classify";
914
+ process.stdout.write(` ${label.padEnd(28)} ✓ ${row.entriesDone}/${row.totalEntries} in ${row.totalChunks} batches\n`);
1025
915
  }
1026
916
  },
1027
- });
917
+ };
918
+ if (args.mockClassify !== undefined)
919
+ ingestionArgs.mockClassify = args.mockClassify;
920
+ ingestion = await runDocsIngestion(ingestionArgs);
1028
921
  }
1029
922
  catch (err) {
1030
923
  const msg = err instanceof Error ? err.message : String(err);
@@ -1076,37 +969,6 @@ async function runPhaseSix(args) {
1076
969
  }
1077
970
  return { ingestion, baselineAudit };
1078
971
  }
1079
- function describeIngestion(ingestion) {
1080
- if (ingestion === null)
1081
- return null;
1082
- const decCount = ingestion.decsWritten.length;
1083
- if (decCount === 0) {
1084
- if (ingestion.scannedEntries === 0) {
1085
- return `0 emitted (no docs/* paragraphs in topic-index)`;
1086
- }
1087
- return `0 emitted (${ingestion.scannedEntries} entries scanned, none classified as decision/domain-rule)`;
1088
- }
1089
- return `${decCount} DEC${decCount === 1 ? "" : "s"} written verbatim from docs/* (auto-promoted)`;
1090
- }
1091
- function describeCanonical(_ingestion) {
1092
- // canonical-map seeding moved out of phase 6 in v0.5.0 — handled by
1093
- // the standalone topic-index pipeline instead.
1094
- return null;
1095
- }
1096
- function describeBaseline(audit) {
1097
- if (audit === null)
1098
- return null;
1099
- const fileNote = audit.truncatedAtFileCap
1100
- ? `${audit.filesScanned}/${audit.filesAvailable} files — sample mode`
1101
- : `${audit.filesScanned} files`;
1102
- if (audit.totalFindings === 0) {
1103
- if (audit.skippedSensorIds.length > 0 && audit.cleanSensorIds.length === 0) {
1104
- return null;
1105
- }
1106
- return `0 findings (run on ${fileNote})`;
1107
- }
1108
- return `${audit.totalFindings} existing sensor finding${audit.totalFindings === 1 ? "" : "s"} (run cairn attention; ${fileNote})`;
1109
- }
1110
972
  function remoteShorthand(url) {
1111
973
  // https://github.com/foo/bar.git → github.com/foo/bar
1112
974
  // git@github.com:foo/bar.git → github.com/foo/bar