carto-md 2.0.9 → 2.1.1

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 (209) hide show
  1. package/CHANGELOG.md +135 -0
  2. package/CONTRIBUTING.md +27 -20
  3. package/README.md +177 -448
  4. package/docs/anci/v0.1-DRAFT.md +132 -2
  5. package/docs/api/README.md +124 -0
  6. package/docs/api/did_we_discuss_this.md +36 -0
  7. package/docs/api/dismiss_gap.md +39 -0
  8. package/docs/api/dismiss_suggestion.md +34 -0
  9. package/docs/api/explain_change_in_natural_language.md +33 -0
  10. package/docs/api/find_consumers_of_api.md +36 -0
  11. package/docs/api/get_action_patterns.md +34 -0
  12. package/docs/api/get_active_drift.md +32 -0
  13. package/docs/api/get_active_suggestions.md +25 -0
  14. package/docs/api/get_ai_cost_attribution.md +32 -0
  15. package/docs/api/get_arch_events.md +44 -0
  16. package/docs/api/get_architectural_drift.md +39 -0
  17. package/docs/api/get_architecture.md +25 -0
  18. package/docs/api/get_blast_radius.md +36 -0
  19. package/docs/api/get_canonical_pattern.md +41 -0
  20. package/docs/api/get_change_plan.md +34 -0
  21. package/docs/api/get_change_velocity.md +34 -0
  22. package/docs/api/get_churn_vs_blast_radius.md +34 -0
  23. package/docs/api/get_complexity_trend.md +41 -0
  24. package/docs/api/get_context.md +34 -0
  25. package/docs/api/get_conventions.md +34 -0
  26. package/docs/api/get_cross_domain.md +25 -0
  27. package/docs/api/get_cross_language_call_graph.md +25 -0
  28. package/docs/api/get_cross_repo_blast_radius.md +36 -0
  29. package/docs/api/get_cross_team_coupling.md +25 -0
  30. package/docs/api/get_data_flow.md +35 -0
  31. package/docs/api/get_dead_code_with_confidence.md +32 -0
  32. package/docs/api/get_decision_log.md +34 -0
  33. package/docs/api/get_dependency_surface.md +25 -0
  34. package/docs/api/get_domain.md +34 -0
  35. package/docs/api/get_domain_evolution.md +41 -0
  36. package/docs/api/get_domain_health.md +34 -0
  37. package/docs/api/get_domains_list.md +25 -0
  38. package/docs/api/get_drift_digest.md +32 -0
  39. package/docs/api/get_env_vars.md +32 -0
  40. package/docs/api/get_evolution_delta.md +36 -0
  41. package/docs/api/get_file_ownership.md +33 -0
  42. package/docs/api/get_file_receipts.md +34 -0
  43. package/docs/api/get_file_summary.md +34 -0
  44. package/docs/api/get_gaps.md +52 -0
  45. package/docs/api/get_high_impact_files.md +32 -0
  46. package/docs/api/get_hot_in_prod_no_tests.md +34 -0
  47. package/docs/api/get_hotspot_files.md +39 -0
  48. package/docs/api/get_iac_resources.md +25 -0
  49. package/docs/api/get_intent.md +25 -0
  50. package/docs/api/get_interface_contract.md +33 -0
  51. package/docs/api/get_intervention_history.md +34 -0
  52. package/docs/api/get_invariants.md +39 -0
  53. package/docs/api/get_llm_enrichment.md +33 -0
  54. package/docs/api/get_microservice_cut_points.md +32 -0
  55. package/docs/api/get_microservices_migration_cut_points.md +27 -0
  56. package/docs/api/get_minimal_context_for_intent.md +39 -0
  57. package/docs/api/get_models.md +32 -0
  58. package/docs/api/get_neighbors.md +41 -0
  59. package/docs/api/get_org_architecture.md +27 -0
  60. package/docs/api/get_org_domain_mapping.md +27 -0
  61. package/docs/api/get_pending_decisions.md +34 -0
  62. package/docs/api/get_predictive_risk.md +32 -0
  63. package/docs/api/get_progressive_disclosure_tree.md +25 -0
  64. package/docs/api/get_recent_decisions.md +39 -0
  65. package/docs/api/get_risk_weighted_blast_radius.md +32 -0
  66. package/docs/api/get_routes.md +25 -0
  67. package/docs/api/get_safety_checklist.md +33 -0
  68. package/docs/api/get_semantic_diff.md +34 -0
  69. package/docs/api/get_service_boundary_violations.md +27 -0
  70. package/docs/api/get_service_dependency_graph.md +27 -0
  71. package/docs/api/get_session_context.md +34 -0
  72. package/docs/api/get_similar_patterns.md +39 -0
  73. package/docs/api/get_stale_docs.md +25 -0
  74. package/docs/api/get_structure.md +25 -0
  75. package/docs/api/get_temporal_context.md +36 -0
  76. package/docs/api/get_test_coverage_map.md +25 -0
  77. package/docs/api/get_token_budget_report.md +36 -0
  78. package/docs/api/get_upgrade_risk.md +25 -0
  79. package/docs/api/get_working_memory.md +25 -0
  80. package/docs/api/history.md +78 -0
  81. package/docs/api/impact.md +56 -0
  82. package/docs/api/ingest_otlp_traces.md +34 -0
  83. package/docs/api/memory.md +70 -0
  84. package/docs/api/org.md +51 -0
  85. package/docs/api/patterns.md +63 -0
  86. package/docs/api/scaffold_for_intent.md +34 -0
  87. package/docs/api/search_routes.md +34 -0
  88. package/docs/api/set_intent.md +45 -0
  89. package/docs/api/simulate_change_impact.md +39 -0
  90. package/docs/api/validate_change.md +39 -0
  91. package/docs/api/validate_diff.md +39 -0
  92. package/docs/concepts/anci.md +87 -0
  93. package/docs/concepts/blast-radius.md +66 -0
  94. package/docs/concepts/domains.md +116 -0
  95. package/docs/concepts/import-graph.md +102 -0
  96. package/docs/concepts/mcp-integration.md +150 -0
  97. package/docs/guides/adding-feature-safely.md +101 -0
  98. package/docs/guides/ci-integration.md +175 -0
  99. package/docs/guides/monorepo-setup.md +121 -0
  100. package/docs/guides/onboarding-new-engineer.md +121 -0
  101. package/docs/guides/pre-merge-review.md +139 -0
  102. package/docs/migration/v1-to-v2.md +110 -0
  103. package/docs/quickstart.md +95 -0
  104. package/docs/scale.md +2 -2
  105. package/docs/screenshots/carto-supabase-blast-radius.png +0 -0
  106. package/docs/troubleshooting.md +180 -0
  107. package/package.json +11 -4
  108. package/scripts/gen-api-docs.js +202 -0
  109. package/src/acp/agent.js +83 -11
  110. package/src/acp/config.js +64 -0
  111. package/src/acp/persistence.js +146 -0
  112. package/src/acp/providers/anthropic.js +179 -27
  113. package/src/acp/providers/index.js +15 -2
  114. package/src/acp/providers/openai.js +164 -38
  115. package/src/acp/providers/sse.js +82 -0
  116. package/src/acp/safety.js +128 -0
  117. package/src/acp/session.js +73 -0
  118. package/src/adjacent/call-graph.js +170 -0
  119. package/src/adjacent/iac.js +167 -0
  120. package/src/adjacent/llm-enrich.js +35 -0
  121. package/src/adjacent/runtime.js +216 -0
  122. package/src/adjacent/semantic-diff.js +143 -0
  123. package/src/agents/domains.js +72 -24
  124. package/src/agents/scan-structure.js +1 -1
  125. package/src/ai/context-builder.js +215 -0
  126. package/src/ai/retrieval/lexical.js +122 -0
  127. package/src/ai/retrieval/rrf.js +121 -0
  128. package/src/ai/retrieval/semantic.js +35 -0
  129. package/src/ai/retrieval/structural.js +82 -0
  130. package/src/ai/tools.js +425 -0
  131. package/src/anci/consumer.js +83 -3
  132. package/src/anci/emit.js +20 -3
  133. package/src/anci/git-meta.js +171 -0
  134. package/src/anci/pack.js +288 -0
  135. package/src/anci/serialize.js +77 -6
  136. package/src/anci/staleness.js +161 -0
  137. package/src/bitmap/index.js +1 -1
  138. package/src/bitmap/tools.js +2 -2
  139. package/src/brain/conventions/index.js +299 -0
  140. package/src/brain/index.js +31 -0
  141. package/src/brain/invariants/index.js +306 -0
  142. package/src/brain/procedural/index.js +181 -0
  143. package/src/brain/suggestions/index.js +153 -0
  144. package/src/brain/working/index.js +170 -0
  145. package/src/cli/anci.js +27 -1
  146. package/src/cli/check.js +47 -1
  147. package/src/cli/diff.js +83 -0
  148. package/src/cli/doctor.js +339 -0
  149. package/src/cli/explain.js +61 -0
  150. package/src/cli/export.js +128 -0
  151. package/src/cli/index.js +120 -1
  152. package/src/cli/init.js +227 -6
  153. package/src/cli/load.js +125 -0
  154. package/src/cli/org.js +172 -0
  155. package/src/cli/pr-impact.js +59 -2
  156. package/src/cli/serve.js +1 -1
  157. package/src/cli/status.js +211 -0
  158. package/src/cli/sync.js +2 -2
  159. package/src/cli/temporal.js +188 -0
  160. package/src/cli/validate.js +201 -0
  161. package/src/cli/watch.js +4 -4
  162. package/src/cli/why.js +101 -0
  163. package/src/extractors/frameworks.js +236 -0
  164. package/src/extractors/imports.js +35 -10
  165. package/src/extractors/languages/dart.js +138 -0
  166. package/src/extractors/languages/go.js +11 -1
  167. package/src/extractors/languages/javascript.js +21 -7
  168. package/src/extractors/languages/kotlin.js +169 -0
  169. package/src/extractors/languages/php.js +195 -0
  170. package/src/extractors/languages/prisma.js +1 -1
  171. package/src/extractors/languages/python.js +12 -1
  172. package/src/extractors/languages/swift.js +140 -0
  173. package/src/extractors/languages/typescript.js +28 -51
  174. package/src/extractors/plugin-api.js +102 -0
  175. package/src/extractors/schemas.js +60 -0
  176. package/src/extractors/tree-sitter-parser.js +39 -0
  177. package/src/mcp/change-plan.js +131 -12
  178. package/src/mcp/files-without-tests.js +285 -0
  179. package/src/mcp/impact.js +119 -0
  180. package/src/mcp/middleware/index.js +451 -0
  181. package/src/mcp/server.js +2918 -0
  182. package/src/mcp/validate.js +1 -1
  183. package/src/org/detect.js +262 -0
  184. package/src/org/queries.js +144 -0
  185. package/src/org/store.js +173 -0
  186. package/src/org/sync.js +106 -0
  187. package/src/predictive/cut-points.js +83 -0
  188. package/src/predictive/drift-digest.js +88 -0
  189. package/src/predictive/ownership.js +145 -0
  190. package/src/predictive/risk-score.js +121 -0
  191. package/src/predictive/validate-change.js +55 -0
  192. package/src/rules/concepts/auth-middleware.md +111 -0
  193. package/src/rules/concepts/money-as-float.md +80 -0
  194. package/src/rules/engine.js +178 -0
  195. package/src/rules/intent.js +178 -0
  196. package/src/rules/registry.js +24 -0
  197. package/src/rules/rules/auth-missing-on-mutating-route.js +255 -0
  198. package/src/rules/rules/money-as-float.js +166 -0
  199. package/src/store/config-loader.js +77 -3
  200. package/src/store/sqlite-store.js +248 -7
  201. package/src/store/store-adapter.js +3 -3
  202. package/src/store/{sync-v2.js → sync.js} +122 -52
  203. package/src/temporal/backfill.js +211 -0
  204. package/src/temporal/delta.js +85 -0
  205. package/src/temporal/events.js +180 -0
  206. package/src/temporal/queries.js +358 -0
  207. package/src/temporal/snapshot.js +151 -0
  208. package/src/temporal/store.js +400 -0
  209. package/src/mcp/server-v2.js +0 -986
@@ -0,0 +1,25 @@
1
+ # `get_domains_list`
2
+
3
+ Get all detected domains with file counts, route counts, and model counts.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {},
11
+ "required": []
12
+ }
13
+ ```
14
+
15
+ ## Required arguments
16
+
17
+ _None._
18
+
19
+ ## Properties
20
+
21
+ _None._
22
+
23
+ ## See also
24
+
25
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,32 @@
1
+ # `get_drift_digest`
2
+
3
+ Weekly architectural digest: domain drift, hotspots, events, predicted-risk top 10. CLI-renderable markdown.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "time_range": {
12
+ "type": "string",
13
+ "description": "Window like \"7d\", \"30d\" (default \"7d\")."
14
+ }
15
+ },
16
+ "required": []
17
+ }
18
+ ```
19
+
20
+ ## Required arguments
21
+
22
+ _None._
23
+
24
+ ## Properties
25
+
26
+ | Name | Type | Description |
27
+ |------|------|-------------|
28
+ | `time_range` | string | Window like "7d", "30d" (default "7d"). |
29
+
30
+ ## See also
31
+
32
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,32 @@
1
+ # `get_env_vars`
2
+
3
+ Get all environment variables used in this project, with which files use them and which domains they belong to.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "domain": {
12
+ "type": "string",
13
+ "description": "Optional domain filter e.g. AUTH, PAYMENTS"
14
+ }
15
+ },
16
+ "required": []
17
+ }
18
+ ```
19
+
20
+ ## Required arguments
21
+
22
+ _None._
23
+
24
+ ## Properties
25
+
26
+ | Name | Type | Description |
27
+ |------|------|-------------|
28
+ | `domain` | string | Optional domain filter e.g. AUTH, PAYMENTS |
29
+
30
+ ## See also
31
+
32
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,36 @@
1
+ # `get_evolution_delta`
2
+
3
+ Architectural delta across a time window (requires temporal store). Returns per-domain before/after file counts + event count.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "domain": {
12
+ "type": "string"
13
+ },
14
+ "time_range": {
15
+ "type": "string",
16
+ "description": "Window like \"30d\", \"90d\" (default \"30d\")."
17
+ }
18
+ },
19
+ "required": []
20
+ }
21
+ ```
22
+
23
+ ## Required arguments
24
+
25
+ _None._
26
+
27
+ ## Properties
28
+
29
+ | Name | Type | Description |
30
+ |------|------|-------------|
31
+ | `domain` | string | |
32
+ | `time_range` | string | Window like "30d", "90d" (default "30d"). |
33
+
34
+ ## See also
35
+
36
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,33 @@
1
+ # `get_file_ownership`
2
+
3
+ Implicit ownership detection via `git blame`. Returns top author + per-author line counts. Fails soft if git is unavailable.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "file": {
12
+ "type": "string"
13
+ }
14
+ },
15
+ "required": [
16
+ "file"
17
+ ]
18
+ }
19
+ ```
20
+
21
+ ## Required arguments
22
+
23
+ - `file`
24
+
25
+ ## Properties
26
+
27
+ | Name | Type | Description |
28
+ |------|------|-------------|
29
+ | `file` | string | |
30
+
31
+ ## See also
32
+
33
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,34 @@
1
+ # `get_file_receipts`
2
+
3
+ For one file, returns receipts — everything Carto knows: change history, blast radius, prior interventions and decisions touching this file, active gaps on this file, cross-domain deps. Read-only. Use before proposing a change to a file to understand what depends on it and what has been said about it before.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "file": {
12
+ "type": "string",
13
+ "description": "Relative file path from project root."
14
+ }
15
+ },
16
+ "required": [
17
+ "file"
18
+ ]
19
+ }
20
+ ```
21
+
22
+ ## Required arguments
23
+
24
+ - `file`
25
+
26
+ ## Properties
27
+
28
+ | Name | Type | Description |
29
+ |------|------|-------------|
30
+ | `file` | string | Relative file path from project root. |
31
+
32
+ ## See also
33
+
34
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,34 @@
1
+ # `get_file_summary`
2
+
3
+ Get a 3-sentence description of what a file does, its role in the project, and its key dependencies and dependents.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "file": {
12
+ "type": "string",
13
+ "description": "Relative file path from project root"
14
+ }
15
+ },
16
+ "required": [
17
+ "file"
18
+ ]
19
+ }
20
+ ```
21
+
22
+ ## Required arguments
23
+
24
+ - `file`
25
+
26
+ ## Properties
27
+
28
+ | Name | Type | Description |
29
+ |------|------|-------------|
30
+ | `file` | string | Relative file path from project root |
31
+
32
+ ## See also
33
+
34
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,52 @@
1
+ # `get_gaps`
2
+
3
+ The current gap list for this repo — grounded findings from the rule engine ("SHOULD − IS"). Each gap ties to a file + rule_id + evidence. Ranked HIGH > MEDIUM > LOW. Dismissed gaps are excluded by default. Call this when the user asks "what should I fix?", when you enter a new repo for the first time, or before recommending changes to a file. If the response is empty and the project is unsupported, tell the user the rule engine only ships for Next.js + Supabase SaaS-with-auth today.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "rule_id": {
12
+ "type": "string",
13
+ "description": "Optional rule filter, e.g. \"money-as-float\"."
14
+ },
15
+ "file": {
16
+ "type": "string",
17
+ "description": "Optional file filter."
18
+ },
19
+ "severity": {
20
+ "type": "string",
21
+ "description": "Optional severity filter: HIGH | MEDIUM | LOW."
22
+ },
23
+ "include_dismissed": {
24
+ "type": "boolean",
25
+ "description": "Include gaps the user has already dismissed (default false)."
26
+ },
27
+ "refresh": {
28
+ "type": "boolean",
29
+ "description": "Re-run the rule engine before returning (default false — uses last cached run)."
30
+ }
31
+ },
32
+ "required": []
33
+ }
34
+ ```
35
+
36
+ ## Required arguments
37
+
38
+ _None._
39
+
40
+ ## Properties
41
+
42
+ | Name | Type | Description |
43
+ |------|------|-------------|
44
+ | `rule_id` | string | Optional rule filter, e.g. "money-as-float". |
45
+ | `file` | string | Optional file filter. |
46
+ | `severity` | string | Optional severity filter: HIGH \| MEDIUM \| LOW. |
47
+ | `include_dismissed` | boolean | Include gaps the user has already dismissed (default false). |
48
+ | `refresh` | boolean | Re-run the rule engine before returning (default false — uses last cached run). |
49
+
50
+ ## See also
51
+
52
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,32 @@
1
+ # `get_high_impact_files`
2
+
3
+ Get the files with the highest blast radius — most other files depend on them. Changing these files is highest risk.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "limit": {
12
+ "type": "number",
13
+ "description": "Number of files to return (default 10)"
14
+ }
15
+ },
16
+ "required": []
17
+ }
18
+ ```
19
+
20
+ ## Required arguments
21
+
22
+ _None._
23
+
24
+ ## Properties
25
+
26
+ | Name | Type | Description |
27
+ |------|------|-------------|
28
+ | `limit` | number | Number of files to return (default 10) |
29
+
30
+ ## See also
31
+
32
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,34 @@
1
+ # `get_hot_in_prod_no_tests`
2
+
3
+ Files whose routes receive >0 runtime hits but have no detected test file. The "ship a test here first" list.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "otlp_path": {
12
+ "type": "string",
13
+ "description": "Path to OTLP file (required)."
14
+ }
15
+ },
16
+ "required": [
17
+ "otlp_path"
18
+ ]
19
+ }
20
+ ```
21
+
22
+ ## Required arguments
23
+
24
+ - `otlp_path`
25
+
26
+ ## Properties
27
+
28
+ | Name | Type | Description |
29
+ |------|------|-------------|
30
+ | `otlp_path` | string | Path to OTLP file (required). |
31
+
32
+ ## See also
33
+
34
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,39 @@
1
+ # `get_hotspot_files`
2
+
3
+ > ⚠️ **Deprecated (CF-7).** Use `history(view="hotspots")` instead. This name still resolves and returns byte-identical output for a deprecation window, but is no longer listed by default and emits a one-line notice.
4
+
5
+ Top files by churn × blast_radius score over a window. The CodeHealth heuristic: high-churn files in high-blast-radius positions are where bugs cluster.
6
+
7
+ ## Input schema
8
+
9
+ ```json
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "time_range": {
14
+ "type": "string",
15
+ "description": "Window like \"30d\", \"90d\" (default \"90d\")."
16
+ },
17
+ "limit": {
18
+ "type": "number",
19
+ "description": "Max rows (default 20)."
20
+ }
21
+ },
22
+ "required": []
23
+ }
24
+ ```
25
+
26
+ ## Required arguments
27
+
28
+ _None._
29
+
30
+ ## Properties
31
+
32
+ | Name | Type | Description |
33
+ |------|------|-------------|
34
+ | `time_range` | string | Window like "30d", "90d" (default "90d"). |
35
+ | `limit` | number | Max rows (default 20). |
36
+
37
+ ## See also
38
+
39
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,25 @@
1
+ # `get_iac_resources`
2
+
3
+ Surface Terraform / Helm / Pulumi / AWS CDK resources discovered in the repo. Returns kind, name, file, dependencies.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {},
11
+ "required": []
12
+ }
13
+ ```
14
+
15
+ ## Required arguments
16
+
17
+ _None._
18
+
19
+ ## Properties
20
+
21
+ _None._
22
+
23
+ ## See also
24
+
25
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,25 @@
1
+ # `get_intent`
2
+
3
+ Return the currently stored intent — product type, stack, notes, updated_at. Use this at the start of a session to know which rules will apply to this project.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {},
11
+ "required": []
12
+ }
13
+ ```
14
+
15
+ ## Required arguments
16
+
17
+ _None._
18
+
19
+ ## Properties
20
+
21
+ _None._
22
+
23
+ ## See also
24
+
25
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,33 @@
1
+ # `get_interface_contract`
2
+
3
+ Exported symbols + models + routes the file exposes. Use to understand a module's public API before consuming it.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "file": {
12
+ "type": "string"
13
+ }
14
+ },
15
+ "required": [
16
+ "file"
17
+ ]
18
+ }
19
+ ```
20
+
21
+ ## Required arguments
22
+
23
+ - `file`
24
+
25
+ ## Properties
26
+
27
+ | Name | Type | Description |
28
+ |------|------|-------------|
29
+ | `file` | string | |
30
+
31
+ ## See also
32
+
33
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,34 @@
1
+ # `get_intervention_history`
2
+
3
+ > ⚠️ **Deprecated (CF-7).** Use `memory(kind="interventions")` instead. This name still resolves and returns byte-identical output for a deprecation window, but is no longer listed by default and emits a one-line notice.
4
+
5
+ List interventions (Carto-issued violations and suggestions) optionally filtered by file. Use to see prior warnings on a file before editing it.
6
+
7
+ ## Input schema
8
+
9
+ ```json
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "file": {
14
+ "type": "string",
15
+ "description": "Optional file filter (relative path from project root)."
16
+ }
17
+ },
18
+ "required": []
19
+ }
20
+ ```
21
+
22
+ ## Required arguments
23
+
24
+ _None._
25
+
26
+ ## Properties
27
+
28
+ | Name | Type | Description |
29
+ |------|------|-------------|
30
+ | `file` | string | Optional file filter (relative path from project root). |
31
+
32
+ ## See also
33
+
34
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,39 @@
1
+ # `get_invariants`
2
+
3
+ > ⚠️ **Deprecated (CF-7).** Use `patterns(kind="invariants")` instead. This name still resolves and returns byte-identical output for a deprecation window, but is no longer listed by default and emits a one-line notice.
4
+
5
+ Architectural invariants mined from the import graph: "Domain X never imports from Y", "Files in Z always export N symbols", etc. Confidence-scored.
6
+
7
+ ## Input schema
8
+
9
+ ```json
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "domain": {
14
+ "type": "string",
15
+ "description": "Optional domain filter."
16
+ },
17
+ "threshold": {
18
+ "type": "number",
19
+ "description": "Confidence threshold 0-1 (default 0.85)."
20
+ }
21
+ },
22
+ "required": []
23
+ }
24
+ ```
25
+
26
+ ## Required arguments
27
+
28
+ _None._
29
+
30
+ ## Properties
31
+
32
+ | Name | Type | Description |
33
+ |------|------|-------------|
34
+ | `domain` | string | Optional domain filter. |
35
+ | `threshold` | number | Confidence threshold 0-1 (default 0.85). |
36
+
37
+ ## See also
38
+
39
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,33 @@
1
+ # `get_llm_enrichment`
2
+
3
+ Per-node summary via a local LLM. Opt-in only; returns disabled stub until `ai.llm` is wired in carto.config.json.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "file": {
12
+ "type": "string"
13
+ }
14
+ },
15
+ "required": [
16
+ "file"
17
+ ]
18
+ }
19
+ ```
20
+
21
+ ## Required arguments
22
+
23
+ - `file`
24
+
25
+ ## Properties
26
+
27
+ | Name | Type | Description |
28
+ |------|------|-------------|
29
+ | `file` | string | |
30
+
31
+ ## See also
32
+
33
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,32 @@
1
+ # `get_microservice_cut_points`
2
+
3
+ Natural microservice cut-points: domains with high cohesion (intra-edges) AND low external coupling. Use to plan extraction-style refactors.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "threshold": {
12
+ "type": "number",
13
+ "description": "Cohesion threshold 0-1 (default 0.7)."
14
+ }
15
+ },
16
+ "required": []
17
+ }
18
+ ```
19
+
20
+ ## Required arguments
21
+
22
+ _None._
23
+
24
+ ## Properties
25
+
26
+ | Name | Type | Description |
27
+ |------|------|-------------|
28
+ | `threshold` | number | Cohesion threshold 0-1 (default 0.7). |
29
+
30
+ ## See also
31
+
32
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,27 @@
1
+ # `get_microservices_migration_cut_points`
2
+
3
+ > ⚠️ **Deprecated (CF-7).** Use `org(view="migration")` instead. This name still resolves and returns byte-identical output for a deprecation window, but is no longer listed by default and emits a one-line notice.
4
+
5
+ Suggested microservices extraction order. Repos with high stability (more incoming than outgoing edges) extract first.
6
+
7
+ ## Input schema
8
+
9
+ ```json
10
+ {
11
+ "type": "object",
12
+ "properties": {},
13
+ "required": []
14
+ }
15
+ ```
16
+
17
+ ## Required arguments
18
+
19
+ _None._
20
+
21
+ ## Properties
22
+
23
+ _None._
24
+
25
+ ## See also
26
+
27
+ - [Index of all MCP tools](./README.md)
@@ -0,0 +1,39 @@
1
+ # `get_minimal_context_for_intent`
2
+
3
+ Token-budgeted context picker. Given a natural-language intent + a budget (default 4000 tokens), returns the minimum file set needed via hybrid retrieval (structural + lexical + semantic) with RRF fusion and high-blast / same-domain / recent-changes boosts. Reports per-file token cost.
4
+
5
+ ## Input schema
6
+
7
+ ```json
8
+ {
9
+ "type": "object",
10
+ "properties": {
11
+ "intent": {
12
+ "type": "string",
13
+ "description": "Natural-language description of the change."
14
+ },
15
+ "budget_tokens": {
16
+ "type": "number",
17
+ "description": "Token budget (default 4000)."
18
+ }
19
+ },
20
+ "required": [
21
+ "intent"
22
+ ]
23
+ }
24
+ ```
25
+
26
+ ## Required arguments
27
+
28
+ - `intent`
29
+
30
+ ## Properties
31
+
32
+ | Name | Type | Description |
33
+ |------|------|-------------|
34
+ | `intent` | string | Natural-language description of the change. |
35
+ | `budget_tokens` | number | Token budget (default 4000). |
36
+
37
+ ## See also
38
+
39
+ - [Index of all MCP tools](./README.md)