@remnic/core 9.3.679 → 9.3.681

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 (161) hide show
  1. package/dist/access-boundary.d.ts +178 -0
  2. package/dist/access-boundary.js +121 -0
  3. package/dist/access-boundary.js.map +1 -0
  4. package/dist/access-cli.js +114 -100
  5. package/dist/access-cli.js.map +1 -1
  6. package/dist/access-http.d.ts +1 -1
  7. package/dist/access-http.js +47 -45
  8. package/dist/access-mcp.d.ts +1 -1
  9. package/dist/access-mcp.js +43 -41
  10. package/dist/access-operations.d.ts +127 -0
  11. package/dist/access-operations.js +115 -0
  12. package/dist/access-operations.js.map +1 -0
  13. package/dist/access-schema.d.ts +34 -34
  14. package/dist/access-schema.js +3 -3
  15. package/dist/{access-service-S9oGKPZc.d.ts → access-service-DvA6jyHL.d.ts} +1 -1
  16. package/dist/access-service.d.ts +1 -1
  17. package/dist/access-service.js +39 -39
  18. package/dist/access-surface-catalog.d.ts +125 -0
  19. package/dist/access-surface-catalog.js +162 -0
  20. package/dist/access-surface-catalog.js.map +1 -0
  21. package/dist/adapters/index.js +7 -7
  22. package/dist/adapters/registry.js +3 -3
  23. package/dist/auto-sync-5CJBJMPZ.js +1 -1
  24. package/dist/briefing.js +8 -8
  25. package/dist/causal-behavior.js +5 -5
  26. package/dist/causal-chain.js +3 -3
  27. package/dist/causal-consolidation.js +16 -16
  28. package/dist/causal-retrieval.js +3 -3
  29. package/dist/causal-trajectory.js +1 -1
  30. package/dist/{chunk-JBPKEARU.js → chunk-2QSZNTDO.js} +7 -7
  31. package/dist/{chunk-3OKWZT7F.js → chunk-3IND7N4X.js} +2 -2
  32. package/dist/{chunk-GYSYLGNE.js → chunk-7MOTEVAA.js} +2 -2
  33. package/dist/{chunk-6T4LTI2F.js → chunk-7XH7VJN4.js} +4 -4
  34. package/dist/{chunk-AGNBY3VG.js → chunk-APJQ6UEA.js} +4 -4
  35. package/dist/{chunk-LZSMQHXC.js → chunk-ARLRTZZZ.js} +5 -5
  36. package/dist/{chunk-Q2H5U37U.js → chunk-B2B2IHUH.js} +2 -2
  37. package/dist/{chunk-SECQS4G4.js → chunk-BTVX7ZXZ.js} +5 -5
  38. package/dist/{chunk-DGEZKYVI.js → chunk-DOCTITOP.js} +4 -4
  39. package/dist/{chunk-EQYP3HA6.js → chunk-EG4TCVMU.js} +2 -2
  40. package/dist/{chunk-SLTKP5WJ.js → chunk-EW5KFXHL.js} +4 -4
  41. package/dist/{chunk-K2JYO6QV.js → chunk-FDSOMA6M.js} +28 -41
  42. package/dist/chunk-FDSOMA6M.js.map +1 -0
  43. package/dist/{chunk-CTCPB57O.js → chunk-G7Z3C2X6.js} +2 -2
  44. package/dist/{chunk-4PPMUNV5.js → chunk-H4BDNIKQ.js} +52 -52
  45. package/dist/{chunk-MTJ2LFAJ.js → chunk-H6PMGMNP.js} +2 -2
  46. package/dist/{chunk-7AAKSHDG.js → chunk-I3HSKQT7.js} +136 -136
  47. package/dist/{chunk-NXBXM7Q6.js → chunk-I75DF4FZ.js} +2 -2
  48. package/dist/{chunk-RC3AFF6Z.js → chunk-JD4SCARD.js} +1 -1
  49. package/dist/{chunk-LVTTO3VC.js → chunk-KACIOX42.js} +2 -2
  50. package/dist/{chunk-ATRB6Q25.js → chunk-KV6CX4ON.js} +2 -2
  51. package/dist/{chunk-VL5JJOOY.js → chunk-L5MUA6Q7.js} +5 -5
  52. package/dist/{chunk-PCGCQTU6.js → chunk-M4I3TREG.js} +75 -75
  53. package/dist/chunk-NHFXF4ZO.js +107 -0
  54. package/dist/chunk-NHFXF4ZO.js.map +1 -0
  55. package/dist/{chunk-MNUPGYIV.js → chunk-NQMBSSWW.js} +2 -2
  56. package/dist/{chunk-V4ZHKCGA.js → chunk-O2WELT5C.js} +5 -5
  57. package/dist/{chunk-Z6SEG36L.js → chunk-OUWAQVDJ.js} +4 -4
  58. package/dist/{chunk-57ME5VSI.js → chunk-Q5ZU3RNY.js} +4 -4
  59. package/dist/{chunk-ACYX37IM.js → chunk-QUA2JPH2.js} +6 -6
  60. package/dist/{chunk-UNZLU2MX.js → chunk-QVWM4C24.js} +37 -32
  61. package/dist/chunk-QVWM4C24.js.map +1 -0
  62. package/dist/{chunk-2AP4QJX5.js → chunk-TOQEZ63C.js} +8 -8
  63. package/dist/{chunk-EUM7CZFM.js → chunk-TY5NT3T3.js} +17 -17
  64. package/dist/{chunk-ZCVPFDHB.js → chunk-UAODC6GJ.js} +14 -14
  65. package/dist/{chunk-YJ4J2JJ2.js → chunk-UJDV2NLT.js} +9 -9
  66. package/dist/chunk-V254FAT5.js +85 -0
  67. package/dist/chunk-V254FAT5.js.map +1 -0
  68. package/dist/{chunk-3IE22DJ2.js → chunk-WEPMT6SC.js} +10 -10
  69. package/dist/{chunk-EZ25VE3G.js → chunk-YNDLCWXS.js} +4 -4
  70. package/dist/{cli-B2Ve7R22.d.ts → cli-feUe-x3I.d.ts} +1 -1
  71. package/dist/cli.d.ts +2 -2
  72. package/dist/cli.js +74 -72
  73. package/dist/compounding/engine.js +9 -9
  74. package/dist/connectors/codex-materialize-runner.js +9 -9
  75. package/dist/connectors/index.js +9 -9
  76. package/dist/consolidation-provenance-check.js +2 -2
  77. package/dist/contradiction/index.js +4 -4
  78. package/dist/dashboard-runtime.js +2 -2
  79. package/dist/entity-retrieval.js +7 -7
  80. package/dist/extraction.js +2 -2
  81. package/dist/{first-start-migration-PG5HBC3K.js → first-start-migration-FF7YFGRP.js} +4 -4
  82. package/dist/index.d.ts +2 -2
  83. package/dist/index.js +209 -207
  84. package/dist/index.js.map +1 -1
  85. package/dist/lcm/engine.js +4 -4
  86. package/dist/lcm/index.js +12 -12
  87. package/dist/maintenance/memory-governance.js +8 -8
  88. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +7 -7
  89. package/dist/maintenance/rebuild-memory-projection.js +9 -9
  90. package/dist/mcp-memory-inspector-app.d.ts +1 -1
  91. package/dist/namespaces/migrate.js +17 -17
  92. package/dist/namespaces/search.js +8 -8
  93. package/dist/namespaces/storage.js +8 -8
  94. package/dist/operator-toolkit.js +22 -22
  95. package/dist/orchestrator.js +70 -70
  96. package/dist/resume-bundles.js +1 -1
  97. package/dist/schemas.d.ts +50 -50
  98. package/dist/search/factory.js +7 -7
  99. package/dist/search/index.js +11 -11
  100. package/dist/search/lancedb-backend.js +3 -3
  101. package/dist/search/meilisearch-backend.js +3 -3
  102. package/dist/search/orama-backend.js +3 -3
  103. package/dist/semantic-consolidation.js +11 -11
  104. package/dist/semantic-rule-promotion.js +7 -7
  105. package/dist/semantic-rule-verifier.js +8 -8
  106. package/dist/storage.js +6 -6
  107. package/dist/transfer/backup.js +2 -2
  108. package/dist/transfer/capsule-export.js +2 -2
  109. package/dist/transfer/capsule-import.js +1 -1
  110. package/dist/transfer/import-sqlite.js +2 -2
  111. package/dist/transfer/types.d.ts +38 -38
  112. package/dist/utils/serialize-mutations.d.ts +122 -0
  113. package/dist/utils/serialize-mutations.js +287 -0
  114. package/dist/utils/serialize-mutations.js.map +1 -0
  115. package/dist/verified-recall.js +8 -8
  116. package/package.json +12 -2
  117. package/src/access-boundary.test.ts +212 -0
  118. package/src/access-boundary.ts +235 -0
  119. package/src/access-cli.ts +32 -15
  120. package/src/access-http.ts +38 -28
  121. package/src/access-mcp.ts +41 -35
  122. package/src/access-operations.ts +157 -0
  123. package/src/access-surface-catalog.test.ts +772 -0
  124. package/src/access-surface-catalog.ts +218 -0
  125. package/src/utils/serialize-mutations.test.ts +1047 -0
  126. package/src/utils/serialize-mutations.ts +679 -0
  127. package/dist/chunk-K2JYO6QV.js.map +0 -1
  128. package/dist/chunk-UNZLU2MX.js.map +0 -1
  129. /package/dist/{chunk-JBPKEARU.js.map → chunk-2QSZNTDO.js.map} +0 -0
  130. /package/dist/{chunk-3OKWZT7F.js.map → chunk-3IND7N4X.js.map} +0 -0
  131. /package/dist/{chunk-GYSYLGNE.js.map → chunk-7MOTEVAA.js.map} +0 -0
  132. /package/dist/{chunk-6T4LTI2F.js.map → chunk-7XH7VJN4.js.map} +0 -0
  133. /package/dist/{chunk-AGNBY3VG.js.map → chunk-APJQ6UEA.js.map} +0 -0
  134. /package/dist/{chunk-LZSMQHXC.js.map → chunk-ARLRTZZZ.js.map} +0 -0
  135. /package/dist/{chunk-Q2H5U37U.js.map → chunk-B2B2IHUH.js.map} +0 -0
  136. /package/dist/{chunk-SECQS4G4.js.map → chunk-BTVX7ZXZ.js.map} +0 -0
  137. /package/dist/{chunk-DGEZKYVI.js.map → chunk-DOCTITOP.js.map} +0 -0
  138. /package/dist/{chunk-EQYP3HA6.js.map → chunk-EG4TCVMU.js.map} +0 -0
  139. /package/dist/{chunk-SLTKP5WJ.js.map → chunk-EW5KFXHL.js.map} +0 -0
  140. /package/dist/{chunk-CTCPB57O.js.map → chunk-G7Z3C2X6.js.map} +0 -0
  141. /package/dist/{chunk-4PPMUNV5.js.map → chunk-H4BDNIKQ.js.map} +0 -0
  142. /package/dist/{chunk-MTJ2LFAJ.js.map → chunk-H6PMGMNP.js.map} +0 -0
  143. /package/dist/{chunk-7AAKSHDG.js.map → chunk-I3HSKQT7.js.map} +0 -0
  144. /package/dist/{chunk-NXBXM7Q6.js.map → chunk-I75DF4FZ.js.map} +0 -0
  145. /package/dist/{chunk-RC3AFF6Z.js.map → chunk-JD4SCARD.js.map} +0 -0
  146. /package/dist/{chunk-LVTTO3VC.js.map → chunk-KACIOX42.js.map} +0 -0
  147. /package/dist/{chunk-ATRB6Q25.js.map → chunk-KV6CX4ON.js.map} +0 -0
  148. /package/dist/{chunk-VL5JJOOY.js.map → chunk-L5MUA6Q7.js.map} +0 -0
  149. /package/dist/{chunk-PCGCQTU6.js.map → chunk-M4I3TREG.js.map} +0 -0
  150. /package/dist/{chunk-MNUPGYIV.js.map → chunk-NQMBSSWW.js.map} +0 -0
  151. /package/dist/{chunk-V4ZHKCGA.js.map → chunk-O2WELT5C.js.map} +0 -0
  152. /package/dist/{chunk-Z6SEG36L.js.map → chunk-OUWAQVDJ.js.map} +0 -0
  153. /package/dist/{chunk-57ME5VSI.js.map → chunk-Q5ZU3RNY.js.map} +0 -0
  154. /package/dist/{chunk-ACYX37IM.js.map → chunk-QUA2JPH2.js.map} +0 -0
  155. /package/dist/{chunk-2AP4QJX5.js.map → chunk-TOQEZ63C.js.map} +0 -0
  156. /package/dist/{chunk-EUM7CZFM.js.map → chunk-TY5NT3T3.js.map} +0 -0
  157. /package/dist/{chunk-ZCVPFDHB.js.map → chunk-UAODC6GJ.js.map} +0 -0
  158. /package/dist/{chunk-YJ4J2JJ2.js.map → chunk-UJDV2NLT.js.map} +0 -0
  159. /package/dist/{chunk-3IE22DJ2.js.map → chunk-WEPMT6SC.js.map} +0 -0
  160. /package/dist/{chunk-EZ25VE3G.js.map → chunk-YNDLCWXS.js.map} +0 -0
  161. /package/dist/{first-start-migration-PG5HBC3K.js.map → first-start-migration-FF7YFGRP.js.map} +0 -0
@@ -0,0 +1,125 @@
1
+ import { OperationName } from './access-boundary.js';
2
+ import 'zod';
3
+ import './access-service-DvA6jyHL.js';
4
+ import './storage.js';
5
+ import './page-versioning.js';
6
+ import './consolidation-operator.js';
7
+ import './types-D3pm4NhH.js';
8
+ import './types-ByK7T3L6.js';
9
+ import './index-DJ9QWMw-.js';
10
+ import './memory-projection-store.js';
11
+ import './maintenance/memory-governance.js';
12
+ import './runtime/better-sqlite.js';
13
+ import 'better-sqlite3';
14
+ import './types-B1VHaf2w.js';
15
+ import './recall-explain-renderer.js';
16
+ import './recall-state.js';
17
+ import './search/port.js';
18
+ import './recall-xray.js';
19
+ import './memory-provenance.js';
20
+ import './user-model.js';
21
+ import './recall-audit-anomaly.js';
22
+ import './recall-audit.js';
23
+ import './explicit-capture.js';
24
+ import './orchestrator-7zPqGupX.js';
25
+ import './briefing.js';
26
+ import './buffer.js';
27
+ import './transcript.js';
28
+ import './session-integrity.js';
29
+ import './summarizer.js';
30
+ import './model-registry.js';
31
+ import './local-llm.js';
32
+ import './fallback-llm.js';
33
+ import './resolve-provider-secret.js';
34
+ import './live-connectors-runner.js';
35
+ import './framework-CNDn2164.js';
36
+ import './relevance.js';
37
+ import './negative.js';
38
+ import './session-observer-state.js';
39
+ import './embedding-fallback.js';
40
+ import './semantic-DJR8_DMQ.js';
41
+ import './capabilities.js';
42
+ import './replay/types.js';
43
+ import './extraction-judge.js';
44
+ import './lcm/engine.js';
45
+ import './lcm/archive.js';
46
+ import './lcm/summarizer.js';
47
+ import './lcm/dag.js';
48
+ import './lcm/queue.js';
49
+ import './semantic-consolidation-BX9Z9_aK.js';
50
+ import './connectors/codex-materialize.js';
51
+ import './logger.js';
52
+ import './conversation-index/backend.js';
53
+ import './conversation-index/chunker.js';
54
+ import './faiss-adapter-BHecI1fF.js';
55
+ import './runtime/child-process.js';
56
+ import './namespaces/search.js';
57
+ import './shared-context/manager.js';
58
+ import './compounding/engine.js';
59
+ import './policy-runtime.js';
60
+ import './profiling.js';
61
+ import './cross-namespace-budget.js';
62
+ import './graph-snapshot.js';
63
+ import './graph.js';
64
+ import './trust-zones.js';
65
+ import './memory-worth-outcomes.js';
66
+ import './transfer/capsule-import.js';
67
+ import './transfer/types.js';
68
+ import './transfer/capsule-export.js';
69
+ import './capsule-cli.js';
70
+ import './offline-sync.js';
71
+ import './action-confidence.js';
72
+
73
+ /**
74
+ * Static inventory of every handler on the MCP and HTTP access surfaces, with
75
+ * its migration status against the access boundary (issue #1525).
76
+ *
77
+ * The fitness test (`access-surface-catalog.test.ts`) walks this catalog,
78
+ * checks each entry against the live registry, and counts unmigrated handlers.
79
+ * The ratchet (`scripts/check-ratchets.mjs`) reads this file and counts
80
+ * `operation: null` entries so the unmigrated count can only decrease.
81
+ *
82
+ * WHEN MIGRATING A HANDLER (follow-up PRs):
83
+ * 1. Add the operation to `access-operations.ts` via `defineOperation`.
84
+ * 2. Flip its entry here from `operation: null` to `operation: "<name>"`.
85
+ * 3. Delete the surface-local validation the handler used to do.
86
+ * 4. Run `node scripts/check-ratchets.mjs --update` to ratchet the count
87
+ * down — the improvement is recorded in `scripts/ratchet-baseline.json`.
88
+ *
89
+ * WHEN ADDING A NEW HANDLER:
90
+ * 1. Add the entry here with `operation: null` (the fitness test will fail
91
+ * until you either migrate it or acknowledge it as unmigrated).
92
+ * 2. Migrate it in the same PR if it carries user input — the boundary's
93
+ * whole point is that no new handler bypasses it.
94
+ */
95
+
96
+ /**
97
+ * One row per MCP tool, keyed by the canonical SHORT name (no `engram.`/
98
+ * `remnic.` prefix — both aliases dispatch to the same operation). The name
99
+ * MUST match the tool's short suffix as advertised by `tools/list`.
100
+ */
101
+ interface McpToolEntry {
102
+ readonly tool: string;
103
+ readonly operation: OperationName | null;
104
+ }
105
+ /**
106
+ * One row per HTTP route that invokes an access-service method. Routes that
107
+ * only serve static assets, SSE streams, or admin console HTML are excluded —
108
+ * they don't carry user-validated request envelopes into the facade.
109
+ */
110
+ interface HttpRouteEntry {
111
+ readonly method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
112
+ readonly pathname: string;
113
+ readonly operation: OperationName | null;
114
+ }
115
+ declare const MCP_TOOLS: readonly McpToolEntry[];
116
+ declare const HTTP_ROUTES: readonly HttpRouteEntry[];
117
+ /**
118
+ * Total unmigrated-handler count across both surfaces. The ratchet baseline
119
+ * tracks this number; it may only decrease. `access-surface-catalog.test.ts`
120
+ * recomputes it from the live catalog and asserts equality, so a catalog edit
121
+ * without a baseline bump (or, ideally, a migration) fails the gate.
122
+ */
123
+ declare function countUnmigratedHandlers(): number;
124
+
125
+ export { HTTP_ROUTES, type HttpRouteEntry, MCP_TOOLS, type McpToolEntry, countUnmigratedHandlers };
@@ -0,0 +1,162 @@
1
+ import "./chunk-PZ5AY32C.js";
2
+
3
+ // src/access-surface-catalog.ts
4
+ var MCP_TOOLS = [
5
+ { tool: "recall", operation: null },
6
+ { tool: "recall_explain", operation: null },
7
+ { tool: "set_coding_context", operation: null },
8
+ { tool: "recall_tier_explain", operation: null },
9
+ { tool: "recall_xray", operation: null },
10
+ { tool: "wearables_status", operation: null },
11
+ { tool: "wearables_sync", operation: null },
12
+ { tool: "transcript_day", operation: null },
13
+ { tool: "transcript_search", operation: null },
14
+ { tool: "transcript_memories", operation: null },
15
+ { tool: "action_confidence", operation: null },
16
+ { tool: "chatgpt_memory_inspector", operation: null },
17
+ { tool: "day_summary", operation: null },
18
+ { tool: "capsule_export", operation: null },
19
+ { tool: "capsule_import", operation: null },
20
+ { tool: "capsule_list", operation: null },
21
+ { tool: "memory_governance_run", operation: null },
22
+ { tool: "procedure_mining_run", operation: null },
23
+ { tool: "pattern_reinforcement_run", operation: null },
24
+ { tool: "procedural_stats", operation: null },
25
+ { tool: "memory_get", operation: "memory_get" },
26
+ { tool: "memory_timeline", operation: null },
27
+ { tool: "memory_store", operation: "memory_store" },
28
+ { tool: "suggestion_submit", operation: null },
29
+ { tool: "entity_get", operation: null },
30
+ { tool: "review_queue_list", operation: null },
31
+ { tool: "observe", operation: null },
32
+ { tool: "lcm_search", operation: null },
33
+ { tool: "lcm_compaction_flush", operation: null },
34
+ { tool: "lcm_compaction_record", operation: null },
35
+ { tool: "continuity_audit_generate", operation: null },
36
+ { tool: "continuity_incident_open", operation: null },
37
+ { tool: "continuity_incident_close", operation: null },
38
+ { tool: "continuity_incident_list", operation: null },
39
+ { tool: "continuity_loop_add_or_update", operation: null },
40
+ { tool: "continuity_loop_review", operation: null },
41
+ { tool: "identity_anchor_get", operation: null },
42
+ { tool: "identity_anchor_update", operation: null },
43
+ { tool: "memory_identity", operation: null },
44
+ { tool: "work_task", operation: null },
45
+ { tool: "work_project", operation: null },
46
+ { tool: "work_board", operation: null },
47
+ { tool: "shared_context_write_output", operation: null },
48
+ { tool: "shared_feedback_record", operation: null },
49
+ { tool: "shared_priorities_append", operation: null },
50
+ { tool: "shared_context_cross_signals_run", operation: null },
51
+ { tool: "shared_context_curate_daily", operation: null },
52
+ { tool: "compounding_weekly_synthesize", operation: null },
53
+ { tool: "compounding_promote_candidate", operation: null },
54
+ { tool: "compression_guidelines_optimize", operation: null },
55
+ { tool: "compression_guidelines_activate", operation: null },
56
+ { tool: "memory_search", operation: "memory_search" },
57
+ { tool: "memory_profile", operation: null },
58
+ { tool: "memory_entities_list", operation: null },
59
+ { tool: "memory_questions", operation: null },
60
+ { tool: "memory_last_recall", operation: null },
61
+ { tool: "memory_intent_debug", operation: null },
62
+ { tool: "memory_qmd_debug", operation: null },
63
+ { tool: "memory_graph_explain", operation: null },
64
+ { tool: "graph_snapshot", operation: null },
65
+ { tool: "memory_feedback", operation: null },
66
+ { tool: "memory_promote", operation: null },
67
+ { tool: "memory_outcome", operation: null },
68
+ { tool: "memory_action_apply", operation: null },
69
+ { tool: "context_checkpoint", operation: null },
70
+ { tool: "briefing", operation: null },
71
+ { tool: "review_list", operation: null },
72
+ { tool: "review_resolve", operation: null },
73
+ { tool: "contradiction_scan_run", operation: null },
74
+ { tool: "memory_summarize_hourly", operation: null },
75
+ { tool: "conversation_index_update", operation: null },
76
+ { tool: "profiling_report", operation: null },
77
+ { tool: "graph_edge_decay_run", operation: null },
78
+ { tool: "live_connectors_run", operation: null },
79
+ { tool: "peer_list", operation: null },
80
+ { tool: "peer_get", operation: null },
81
+ { tool: "peer_set", operation: null },
82
+ { tool: "peer_delete", operation: null },
83
+ { tool: "peer_profile_get", operation: null },
84
+ { tool: "peer_forget", operation: null },
85
+ { tool: "console_state", operation: null },
86
+ { tool: "dreams_status", operation: null },
87
+ { tool: "dreams_run", operation: null }
88
+ ];
89
+ var HTTP_ROUTES = [
90
+ { method: "POST", pathname: "/engram/v1/recall", operation: null },
91
+ { method: "POST", pathname: "/engram/v1/coding-context", operation: null },
92
+ { method: "POST", pathname: "/engram/v1/capsules/export", operation: null },
93
+ { method: "POST", pathname: "/engram/v1/capsules/import", operation: null },
94
+ { method: "GET", pathname: "/engram/v1/offline-sync/snapshot", operation: null },
95
+ { method: "GET", pathname: "/engram/v1/offline-sync/snapshot-stream", operation: null },
96
+ { method: "POST", pathname: "/engram/v1/offline-sync/snapshot", operation: null },
97
+ { method: "POST", pathname: "/engram/v1/offline-sync/files", operation: null },
98
+ { method: "POST", pathname: "/engram/v1/offline-sync/file-content", operation: null },
99
+ { method: "POST", pathname: "/engram/v1/offline-sync/apply-file-content", operation: null },
100
+ { method: "POST", pathname: "/engram/v1/offline-sync/apply", operation: null },
101
+ { method: "POST", pathname: "/engram/v1/recall/explain", operation: null },
102
+ { method: "POST", pathname: "/engram/v1/action-confidence", operation: null },
103
+ { method: "GET", pathname: "/engram/v1/recall/tier-explain", operation: null },
104
+ { method: "GET", pathname: "/engram/v1/recall/xray", operation: null },
105
+ { method: "GET", pathname: "/engram/v1/wearables/status", operation: null },
106
+ { method: "POST", pathname: "/engram/v1/wearables/sync", operation: null },
107
+ { method: "GET", pathname: "/engram/v1/wearables/transcript", operation: null },
108
+ { method: "GET", pathname: "/engram/v1/wearables/transcripts/search", operation: null },
109
+ { method: "GET", pathname: "/engram/v1/wearables/memories", operation: null },
110
+ { method: "POST", pathname: "/engram/v1/observe", operation: null },
111
+ { method: "POST", pathname: "/engram/v1/lcm/search", operation: null },
112
+ { method: "POST", pathname: "/engram/v1/lcm/compaction/flush", operation: null },
113
+ { method: "POST", pathname: "/engram/v1/lcm/compaction/record", operation: null },
114
+ { method: "GET", pathname: "/engram/v1/lcm/status", operation: null },
115
+ { method: "POST", pathname: "/engram/v1/memories", operation: "memory_store" },
116
+ { method: "POST", pathname: "/engram/v1/suggestions", operation: null },
117
+ { method: "GET", pathname: "/engram/v1/memories", operation: null },
118
+ { method: "GET", pathname: "/engram/v1/memories/:id", operation: "memory_get" },
119
+ { method: "GET", pathname: "/engram/v1/memories/:id/timeline", operation: null },
120
+ { method: "GET", pathname: "/engram/v1/entities", operation: null },
121
+ { method: "GET", pathname: "/engram/v1/entities/:id", operation: null },
122
+ { method: "GET", pathname: "/engram/v1/review-queue", operation: null },
123
+ { method: "GET", pathname: "/engram/v1/maintenance", operation: null },
124
+ { method: "GET", pathname: "/engram/v1/quality", operation: null },
125
+ { method: "GET", pathname: "/engram/v1/trust-zones/status", operation: null },
126
+ { method: "GET", pathname: "/engram/v1/procedural/stats", operation: null },
127
+ { method: "GET", pathname: "/engram/v1/trust-zones/records", operation: null },
128
+ { method: "POST", pathname: "/engram/v1/review-disposition", operation: null },
129
+ { method: "POST", pathname: "/engram/v1/trust-zones/promote", operation: null },
130
+ { method: "POST", pathname: "/engram/v1/trust-zones/demo-seed", operation: null },
131
+ { method: "POST", pathname: "/v1/citations/observed", operation: null },
132
+ { method: "GET", pathname: "/engram/v1/review/contradictions", operation: null },
133
+ { method: "GET", pathname: "/engram/v1/review/contradictions/:id", operation: null },
134
+ { method: "POST", pathname: "/engram/v1/review/resolve", operation: null },
135
+ { method: "GET", pathname: "/engram/v1/graph/snapshot", operation: null },
136
+ { method: "POST", pathname: "/engram/v1/contradiction-scan", operation: null },
137
+ { method: "GET", pathname: "/engram/v1/graph/events", operation: null },
138
+ { method: "GET", pathname: "/engram/v1/console/state", operation: null },
139
+ { method: "GET", pathname: "/engram/v1/peers", operation: null },
140
+ { method: "GET", pathname: "/engram/v1/peers/:id/profile", operation: null },
141
+ { method: "GET", pathname: "/engram/v1/peers/:id", operation: null },
142
+ { method: "PUT", pathname: "/engram/v1/peers/:id", operation: null },
143
+ { method: "DELETE", pathname: "/engram/v1/peers/:id", operation: null },
144
+ { method: "GET", pathname: "/engram/v1/dreams/status", operation: null },
145
+ { method: "POST", pathname: "/engram/v1/dreams/run", operation: null }
146
+ ];
147
+ function countUnmigratedHandlers() {
148
+ let count = 0;
149
+ for (const entry of MCP_TOOLS) {
150
+ if (entry.operation === null) count += 1;
151
+ }
152
+ for (const entry of HTTP_ROUTES) {
153
+ if (entry.operation === null) count += 1;
154
+ }
155
+ return count;
156
+ }
157
+ export {
158
+ HTTP_ROUTES,
159
+ MCP_TOOLS,
160
+ countUnmigratedHandlers
161
+ };
162
+ //# sourceMappingURL=access-surface-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/access-surface-catalog.ts"],"sourcesContent":["/**\n * Static inventory of every handler on the MCP and HTTP access surfaces, with\n * its migration status against the access boundary (issue #1525).\n *\n * The fitness test (`access-surface-catalog.test.ts`) walks this catalog,\n * checks each entry against the live registry, and counts unmigrated handlers.\n * The ratchet (`scripts/check-ratchets.mjs`) reads this file and counts\n * `operation: null` entries so the unmigrated count can only decrease.\n *\n * WHEN MIGRATING A HANDLER (follow-up PRs):\n * 1. Add the operation to `access-operations.ts` via `defineOperation`.\n * 2. Flip its entry here from `operation: null` to `operation: \"<name>\"`.\n * 3. Delete the surface-local validation the handler used to do.\n * 4. Run `node scripts/check-ratchets.mjs --update` to ratchet the count\n * down — the improvement is recorded in `scripts/ratchet-baseline.json`.\n *\n * WHEN ADDING A NEW HANDLER:\n * 1. Add the entry here with `operation: null` (the fitness test will fail\n * until you either migrate it or acknowledge it as unmigrated).\n * 2. Migrate it in the same PR if it carries user input — the boundary's\n * whole point is that no new handler bypasses it.\n */\n\nimport type { OperationName } from \"./access-boundary.js\";\n\n/**\n * One row per MCP tool, keyed by the canonical SHORT name (no `engram.`/\n * `remnic.` prefix — both aliases dispatch to the same operation). The name\n * MUST match the tool's short suffix as advertised by `tools/list`.\n */\nexport interface McpToolEntry {\n readonly tool: string;\n readonly operation: OperationName | null;\n}\n\n/**\n * One row per HTTP route that invokes an access-service method. Routes that\n * only serve static assets, SSE streams, or admin console HTML are excluded —\n * they don't carry user-validated request envelopes into the facade.\n */\nexport interface HttpRouteEntry {\n readonly method: \"GET\" | \"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\";\n readonly pathname: string;\n readonly operation: OperationName | null;\n}\n\n// Each tool below corresponds 1:1 to an `engram.*` definition in\n// `EngramMcpServer.tools` (access-mcp.ts). The fitness test asserts the live\n// `tools/list` response matches this list by short name, so a new tool cannot\n// land without either migrating it or acknowledging the unmigrated count.\nexport const MCP_TOOLS: readonly McpToolEntry[] = [\n { tool: \"recall\", operation: null },\n { tool: \"recall_explain\", operation: null },\n { tool: \"set_coding_context\", operation: null },\n { tool: \"recall_tier_explain\", operation: null },\n { tool: \"recall_xray\", operation: null },\n { tool: \"wearables_status\", operation: null },\n { tool: \"wearables_sync\", operation: null },\n { tool: \"transcript_day\", operation: null },\n { tool: \"transcript_search\", operation: null },\n { tool: \"transcript_memories\", operation: null },\n { tool: \"action_confidence\", operation: null },\n { tool: \"chatgpt_memory_inspector\", operation: null },\n { tool: \"day_summary\", operation: null },\n { tool: \"capsule_export\", operation: null },\n { tool: \"capsule_import\", operation: null },\n { tool: \"capsule_list\", operation: null },\n { tool: \"memory_governance_run\", operation: null },\n { tool: \"procedure_mining_run\", operation: null },\n { tool: \"pattern_reinforcement_run\", operation: null },\n { tool: \"procedural_stats\", operation: null },\n { tool: \"memory_get\", operation: \"memory_get\" },\n { tool: \"memory_timeline\", operation: null },\n { tool: \"memory_store\", operation: \"memory_store\" },\n { tool: \"suggestion_submit\", operation: null },\n { tool: \"entity_get\", operation: null },\n { tool: \"review_queue_list\", operation: null },\n { tool: \"observe\", operation: null },\n { tool: \"lcm_search\", operation: null },\n { tool: \"lcm_compaction_flush\", operation: null },\n { tool: \"lcm_compaction_record\", operation: null },\n { tool: \"continuity_audit_generate\", operation: null },\n { tool: \"continuity_incident_open\", operation: null },\n { tool: \"continuity_incident_close\", operation: null },\n { tool: \"continuity_incident_list\", operation: null },\n { tool: \"continuity_loop_add_or_update\", operation: null },\n { tool: \"continuity_loop_review\", operation: null },\n { tool: \"identity_anchor_get\", operation: null },\n { tool: \"identity_anchor_update\", operation: null },\n { tool: \"memory_identity\", operation: null },\n { tool: \"work_task\", operation: null },\n { tool: \"work_project\", operation: null },\n { tool: \"work_board\", operation: null },\n { tool: \"shared_context_write_output\", operation: null },\n { tool: \"shared_feedback_record\", operation: null },\n { tool: \"shared_priorities_append\", operation: null },\n { tool: \"shared_context_cross_signals_run\", operation: null },\n { tool: \"shared_context_curate_daily\", operation: null },\n { tool: \"compounding_weekly_synthesize\", operation: null },\n { tool: \"compounding_promote_candidate\", operation: null },\n { tool: \"compression_guidelines_optimize\", operation: null },\n { tool: \"compression_guidelines_activate\", operation: null },\n { tool: \"memory_search\", operation: \"memory_search\" },\n { tool: \"memory_profile\", operation: null },\n { tool: \"memory_entities_list\", operation: null },\n { tool: \"memory_questions\", operation: null },\n { tool: \"memory_last_recall\", operation: null },\n { tool: \"memory_intent_debug\", operation: null },\n { tool: \"memory_qmd_debug\", operation: null },\n { tool: \"memory_graph_explain\", operation: null },\n { tool: \"graph_snapshot\", operation: null },\n { tool: \"memory_feedback\", operation: null },\n { tool: \"memory_promote\", operation: null },\n { tool: \"memory_outcome\", operation: null },\n { tool: \"memory_action_apply\", operation: null },\n { tool: \"context_checkpoint\", operation: null },\n { tool: \"briefing\", operation: null },\n { tool: \"review_list\", operation: null },\n { tool: \"review_resolve\", operation: null },\n { tool: \"contradiction_scan_run\", operation: null },\n { tool: \"memory_summarize_hourly\", operation: null },\n { tool: \"conversation_index_update\", operation: null },\n { tool: \"profiling_report\", operation: null },\n { tool: \"graph_edge_decay_run\", operation: null },\n { tool: \"live_connectors_run\", operation: null },\n { tool: \"peer_list\", operation: null },\n { tool: \"peer_get\", operation: null },\n { tool: \"peer_set\", operation: null },\n { tool: \"peer_delete\", operation: null },\n { tool: \"peer_profile_get\", operation: null },\n { tool: \"peer_forget\", operation: null },\n { tool: \"console_state\", operation: null },\n { tool: \"dreams_status\", operation: null },\n { tool: \"dreams_run\", operation: null },\n];\n\n// Each route below corresponds 1:1 to a service-invoking route branch in\n// `EngramAccessHttpServer.handle` (access-http.ts). Pathname patterns use\n// `:param` for path segments. The fitness test asserts each entry resolves\n// against the catalog so a new service route cannot land without either\n// migrating it or acknowledging the unmigrated count. Infrastructure probes\n// (health, adapters, the /mcp delegate, admin console, SSE-only endpoints)\n// carry no user request envelope and are intentionally excluded.\nexport const HTTP_ROUTES: readonly HttpRouteEntry[] = [\n { method: \"POST\", pathname: \"/engram/v1/recall\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/coding-context\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/capsules/export\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/capsules/import\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/offline-sync/snapshot\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/offline-sync/snapshot-stream\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/snapshot\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/files\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/file-content\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/apply-file-content\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/offline-sync/apply\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/recall/explain\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/action-confidence\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/recall/tier-explain\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/recall/xray\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/wearables/status\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/wearables/sync\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/wearables/transcript\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/wearables/transcripts/search\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/wearables/memories\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/observe\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/lcm/search\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/lcm/compaction/flush\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/lcm/compaction/record\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/lcm/status\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/memories\", operation: \"memory_store\" },\n { method: \"POST\", pathname: \"/engram/v1/suggestions\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/memories\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/memories/:id\", operation: \"memory_get\" },\n { method: \"GET\", pathname: \"/engram/v1/memories/:id/timeline\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/entities\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/entities/:id\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/review-queue\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/maintenance\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/quality\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/trust-zones/status\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/procedural/stats\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/trust-zones/records\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/review-disposition\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/trust-zones/promote\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/trust-zones/demo-seed\", operation: null },\n { method: \"POST\", pathname: \"/v1/citations/observed\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/review/contradictions\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/review/contradictions/:id\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/review/resolve\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/graph/snapshot\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/contradiction-scan\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/graph/events\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/console/state\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/peers\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/peers/:id/profile\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/peers/:id\", operation: null },\n { method: \"PUT\", pathname: \"/engram/v1/peers/:id\", operation: null },\n { method: \"DELETE\", pathname: \"/engram/v1/peers/:id\", operation: null },\n { method: \"GET\", pathname: \"/engram/v1/dreams/status\", operation: null },\n { method: \"POST\", pathname: \"/engram/v1/dreams/run\", operation: null },\n];\n\n/**\n * Total unmigrated-handler count across both surfaces. The ratchet baseline\n * tracks this number; it may only decrease. `access-surface-catalog.test.ts`\n * recomputes it from the live catalog and asserts equality, so a catalog edit\n * without a baseline bump (or, ideally, a migration) fails the gate.\n */\nexport function countUnmigratedHandlers(): number {\n let count = 0;\n for (const entry of MCP_TOOLS) {\n if (entry.operation === null) count += 1;\n }\n for (const entry of HTTP_ROUTES) {\n if (entry.operation === null) count += 1;\n }\n return count;\n}\n"],"mappings":"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","names":[]}
@@ -1,19 +1,19 @@
1
1
  import "../chunk-SEDEKFYQ.js";
2
2
  import {
3
3
  AdapterRegistry
4
- } from "../chunk-JBPKEARU.js";
5
- import {
6
- ReplitAdapter
7
- } from "../chunk-TMSXWOBZ.js";
8
- import {
9
- ClaudeCodeAdapter
10
- } from "../chunk-J64TK33U.js";
4
+ } from "../chunk-2QSZNTDO.js";
11
5
  import {
12
6
  CodexAdapter
13
7
  } from "../chunk-RSUYKGGZ.js";
14
8
  import {
15
9
  HermesAdapter
16
10
  } from "../chunk-42NQ7AVG.js";
11
+ import {
12
+ ReplitAdapter
13
+ } from "../chunk-TMSXWOBZ.js";
14
+ import {
15
+ ClaudeCodeAdapter
16
+ } from "../chunk-J64TK33U.js";
17
17
  import "../chunk-7RXCMVFQ.js";
18
18
  import "../chunk-PZ5AY32C.js";
19
19
  export {
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  AdapterRegistry
3
- } from "../chunk-JBPKEARU.js";
4
- import "../chunk-TMSXWOBZ.js";
5
- import "../chunk-J64TK33U.js";
3
+ } from "../chunk-2QSZNTDO.js";
6
4
  import "../chunk-RSUYKGGZ.js";
7
5
  import "../chunk-42NQ7AVG.js";
6
+ import "../chunk-TMSXWOBZ.js";
7
+ import "../chunk-J64TK33U.js";
8
8
  import "../chunk-7RXCMVFQ.js";
9
9
  import "../chunk-PZ5AY32C.js";
10
10
  export {
@@ -19,8 +19,8 @@ import "./chunk-6KYMPV2O.js";
19
19
  import "./chunk-RGMVMVMF.js";
20
20
  import "./chunk-EYIEWJNI.js";
21
21
  import "./chunk-JUC24CTX.js";
22
- import "./chunk-ZBJMUXZH.js";
23
22
  import "./chunk-2ODBA7MQ.js";
23
+ import "./chunk-ZBJMUXZH.js";
24
24
  import "./chunk-PZ5AY32C.js";
25
25
 
26
26
  // src/wearables/auto-sync.ts
package/dist/briefing.js CHANGED
@@ -17,32 +17,32 @@ import {
17
17
  renderBriefingMarkdown,
18
18
  resolveBriefingSaveDir,
19
19
  validateBriefingFormat
20
- } from "./chunk-ATRB6Q25.js";
21
- import "./chunk-EUM7CZFM.js";
20
+ } from "./chunk-KV6CX4ON.js";
21
+ import "./chunk-TY5NT3T3.js";
22
22
  import "./chunk-M7XQSUBB.js";
23
23
  import "./chunk-5UZXUTVO.js";
24
24
  import "./chunk-5GPPACXK.js";
25
25
  import "./chunk-J6A3CX5N.js";
26
26
  import "./chunk-FMSDA2D3.js";
27
+ import "./chunk-MB5RSUW6.js";
28
+ import "./chunk-6KYMPV2O.js";
27
29
  import "./chunk-AWJ2FHCF.js";
28
30
  import "./chunk-42JKGUFJ.js";
29
31
  import "./chunk-RULE4VG5.js";
30
32
  import "./chunk-SCU65EZI.js";
31
- import "./chunk-MB5RSUW6.js";
32
- import "./chunk-6KYMPV2O.js";
33
33
  import "./chunk-DM2T26WE.js";
34
34
  import "./chunk-LDXUBPMO.js";
35
35
  import "./chunk-FVQJYWH7.js";
36
- import "./chunk-VF4XKTX3.js";
37
36
  import "./chunk-G7D6GZ5J.js";
37
+ import "./chunk-VF4XKTX3.js";
38
38
  import "./chunk-RGMVMVMF.js";
39
- import "./chunk-4DJQYKMN.js";
40
- import "./chunk-JUC24CTX.js";
41
- import "./chunk-2ODBA7MQ.js";
42
39
  import "./chunk-J2HSAU72.js";
43
40
  import "./chunk-A6XUJE5D.js";
44
41
  import "./chunk-P7FMDTKL.js";
45
42
  import "./chunk-VS2IYZRU.js";
43
+ import "./chunk-4DJQYKMN.js";
44
+ import "./chunk-JUC24CTX.js";
45
+ import "./chunk-2ODBA7MQ.js";
46
46
  import "./chunk-PZ5AY32C.js";
47
47
  export {
48
48
  BRIEFING_FOLLOWUP_DEFAULT_MODEL,
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  readChainIndex,
3
3
  resolveChainsDir
4
- } from "./chunk-SECQS4G4.js";
4
+ } from "./chunk-BTVX7ZXZ.js";
5
5
  import "./chunk-HQ6NIBL6.js";
6
6
  import {
7
7
  resolveCausalTrajectoryStoreDir
8
- } from "./chunk-RC3AFF6Z.js";
9
- import {
10
- normalizeRecallTokens
11
- } from "./chunk-ZBJMUXZH.js";
8
+ } from "./chunk-JD4SCARD.js";
12
9
  import {
13
10
  log
14
11
  } from "./chunk-2ODBA7MQ.js";
12
+ import {
13
+ normalizeRecallTokens
14
+ } from "./chunk-ZBJMUXZH.js";
15
15
  import {
16
16
  isRecord
17
17
  } from "./chunk-A2IYSXDQ.js";
@@ -6,11 +6,11 @@ import {
6
6
  stitchCausalChain,
7
7
  validateCausalEdge,
8
8
  writeChainIndex
9
- } from "./chunk-SECQS4G4.js";
9
+ } from "./chunk-BTVX7ZXZ.js";
10
10
  import "./chunk-HQ6NIBL6.js";
11
- import "./chunk-RC3AFF6Z.js";
12
- import "./chunk-ZBJMUXZH.js";
11
+ import "./chunk-JD4SCARD.js";
13
12
  import "./chunk-2ODBA7MQ.js";
13
+ import "./chunk-ZBJMUXZH.js";
14
14
  import "./chunk-A2IYSXDQ.js";
15
15
  import "./chunk-LPSF4OQH.js";
16
16
  import "./chunk-PZ5AY32C.js";
@@ -1,16 +1,17 @@
1
1
  import {
2
2
  readChainIndex,
3
3
  resolveChainsDir
4
- } from "./chunk-SECQS4G4.js";
4
+ } from "./chunk-BTVX7ZXZ.js";
5
5
  import {
6
6
  buildExtensionsBlockForConsolidation
7
- } from "./chunk-V4ZHKCGA.js";
7
+ } from "./chunk-O2WELT5C.js";
8
8
  import {
9
9
  runPostConsolidationMaterialize
10
- } from "./chunk-CTCPB57O.js";
10
+ } from "./chunk-G7Z3C2X6.js";
11
11
  import "./chunk-LN4YGHTM.js";
12
12
  import "./chunk-JLNBQWZ2.js";
13
13
  import "./chunk-3UXOZBHV.js";
14
+ import "./chunk-HQ6NIBL6.js";
14
15
  import {
15
16
  FallbackLlmClient,
16
17
  fallbackLlmRuntimeContextFromConfig
@@ -19,36 +20,39 @@ import "./chunk-B5XMS73R.js";
19
20
  import "./chunk-L2EXJQJP.js";
20
21
  import "./chunk-7SI52C65.js";
21
22
  import "./chunk-RK6F44Y6.js";
22
- import "./chunk-HQ6NIBL6.js";
23
- import "./chunk-EUM7CZFM.js";
23
+ import {
24
+ resolveCausalTrajectoryStoreDir
25
+ } from "./chunk-JD4SCARD.js";
26
+ import "./chunk-TY5NT3T3.js";
24
27
  import "./chunk-M7XQSUBB.js";
25
28
  import "./chunk-5UZXUTVO.js";
26
29
  import "./chunk-5GPPACXK.js";
27
30
  import "./chunk-J6A3CX5N.js";
28
31
  import "./chunk-FMSDA2D3.js";
32
+ import "./chunk-MB5RSUW6.js";
33
+ import "./chunk-6KYMPV2O.js";
29
34
  import "./chunk-AWJ2FHCF.js";
30
35
  import "./chunk-42JKGUFJ.js";
31
36
  import "./chunk-RULE4VG5.js";
32
37
  import "./chunk-SCU65EZI.js";
33
- import "./chunk-MB5RSUW6.js";
34
- import "./chunk-6KYMPV2O.js";
35
38
  import "./chunk-DM2T26WE.js";
36
39
  import "./chunk-LDXUBPMO.js";
37
40
  import "./chunk-FVQJYWH7.js";
38
- import "./chunk-VF4XKTX3.js";
39
41
  import "./chunk-G7D6GZ5J.js";
42
+ import "./chunk-VF4XKTX3.js";
40
43
  import "./chunk-RGMVMVMF.js";
41
- import {
42
- resolveCausalTrajectoryStoreDir
43
- } from "./chunk-RC3AFF6Z.js";
44
+ import "./chunk-J2HSAU72.js";
45
+ import "./chunk-A6XUJE5D.js";
46
+ import "./chunk-P7FMDTKL.js";
47
+ import "./chunk-VS2IYZRU.js";
44
48
  import "./chunk-U3PN77QT.js";
45
49
  import "./chunk-4DJQYKMN.js";
46
50
  import "./chunk-EYIEWJNI.js";
47
51
  import "./chunk-JUC24CTX.js";
48
- import "./chunk-ZBJMUXZH.js";
49
52
  import {
50
53
  log
51
54
  } from "./chunk-2ODBA7MQ.js";
55
+ import "./chunk-ZBJMUXZH.js";
52
56
  import {
53
57
  isRecord
54
58
  } from "./chunk-A2IYSXDQ.js";
@@ -56,10 +60,6 @@ import {
56
60
  listJsonFiles,
57
61
  readJsonFile
58
62
  } from "./chunk-LPSF4OQH.js";
59
- import "./chunk-J2HSAU72.js";
60
- import "./chunk-A6XUJE5D.js";
61
- import "./chunk-P7FMDTKL.js";
62
- import "./chunk-VS2IYZRU.js";
63
63
  import "./chunk-PZ5AY32C.js";
64
64
 
65
65
  // src/causal-consolidation.ts
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  readChainIndex,
3
3
  resolveChainsDir
4
- } from "./chunk-SECQS4G4.js";
4
+ } from "./chunk-BTVX7ZXZ.js";
5
5
  import "./chunk-HQ6NIBL6.js";
6
6
  import {
7
7
  readCausalTrajectoryRecords,
8
8
  searchCausalTrajectories
9
- } from "./chunk-RC3AFF6Z.js";
10
- import "./chunk-ZBJMUXZH.js";
9
+ } from "./chunk-JD4SCARD.js";
11
10
  import {
12
11
  log
13
12
  } from "./chunk-2ODBA7MQ.js";
13
+ import "./chunk-ZBJMUXZH.js";
14
14
  import "./chunk-A2IYSXDQ.js";
15
15
  import "./chunk-LPSF4OQH.js";
16
16
  import "./chunk-PZ5AY32C.js";
@@ -6,7 +6,7 @@ import {
6
6
  resolveCausalTrajectoryStoreDir,
7
7
  searchCausalTrajectories,
8
8
  validateCausalTrajectoryRecord
9
- } from "./chunk-RC3AFF6Z.js";
9
+ } from "./chunk-JD4SCARD.js";
10
10
  import "./chunk-ZBJMUXZH.js";
11
11
  import "./chunk-A2IYSXDQ.js";
12
12
  import "./chunk-LPSF4OQH.js";
@@ -1,15 +1,15 @@
1
- import {
2
- ReplitAdapter
3
- } from "./chunk-TMSXWOBZ.js";
4
- import {
5
- ClaudeCodeAdapter
6
- } from "./chunk-J64TK33U.js";
7
1
  import {
8
2
  CodexAdapter
9
3
  } from "./chunk-RSUYKGGZ.js";
10
4
  import {
11
5
  HermesAdapter
12
6
  } from "./chunk-42NQ7AVG.js";
7
+ import {
8
+ ReplitAdapter
9
+ } from "./chunk-TMSXWOBZ.js";
10
+ import {
11
+ ClaudeCodeAdapter
12
+ } from "./chunk-J64TK33U.js";
13
13
 
14
14
  // src/adapters/registry.ts
15
15
  var AdapterRegistry = class {
@@ -53,4 +53,4 @@ var AdapterRegistry = class {
53
53
  export {
54
54
  AdapterRegistry
55
55
  };
56
- //# sourceMappingURL=chunk-JBPKEARU.js.map
56
+ //# sourceMappingURL=chunk-2QSZNTDO.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-EUM7CZFM.js";
3
+ } from "./chunk-TY5NT3T3.js";
4
4
 
5
5
  // src/semantic-rule-promotion.ts
6
6
  import { createHash, randomUUID } from "crypto";
@@ -529,4 +529,4 @@ export {
529
529
  setSemanticRulePromotionTestHooks,
530
530
  promoteSemanticRuleFromMemory
531
531
  };
532
- //# sourceMappingURL=chunk-3OKWZT7F.js.map
532
+ //# sourceMappingURL=chunk-3IND7N4X.js.map
@@ -632,7 +632,6 @@ function clusterByKey(items, keyFn) {
632
632
  }
633
633
 
634
634
  export {
635
- clusterByKey,
636
635
  stableHash,
637
636
  normalizeOriginUrl,
638
637
  resolveGitContext,
@@ -644,7 +643,8 @@ export {
644
643
  describeCodingScope,
645
644
  lcmSessionKeyForNamespace,
646
645
  lcmReadSessionIdsForNamespaces,
646
+ clusterByKey,
647
647
  resolveScopeProfilePlan,
648
648
  expandScopeProfileReadNamespaces
649
649
  };
650
- //# sourceMappingURL=chunk-GYSYLGNE.js.map
650
+ //# sourceMappingURL=chunk-7MOTEVAA.js.map