ssh-mcp-pro 1.1.4 → 1.2.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 (152) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +58 -10
  3. package/REGISTRY_SUBMISSION.md +3 -3
  4. package/SECURITY.md +4 -0
  5. package/SECURITY_DECISIONS.md +32 -1
  6. package/dist/config.d.ts +1 -0
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +4 -0
  9. package/dist/config.js.map +1 -1
  10. package/dist/connector-profile.d.ts +3 -0
  11. package/dist/connector-profile.d.ts.map +1 -1
  12. package/dist/connector-profile.js +36 -14
  13. package/dist/connector-profile.js.map +1 -1
  14. package/dist/http-security.d.ts.map +1 -1
  15. package/dist/http-security.js +19 -4
  16. package/dist/http-security.js.map +1 -1
  17. package/dist/http-server-lifecycle.d.ts +17 -0
  18. package/dist/http-server-lifecycle.d.ts.map +1 -0
  19. package/dist/http-server-lifecycle.js +122 -0
  20. package/dist/http-server-lifecycle.js.map +1 -0
  21. package/dist/http-server-router.d.ts +28 -0
  22. package/dist/http-server-router.d.ts.map +1 -0
  23. package/dist/http-server-router.js +108 -0
  24. package/dist/http-server-router.js.map +1 -0
  25. package/dist/http-server-runtime.d.ts +21 -0
  26. package/dist/http-server-runtime.d.ts.map +1 -0
  27. package/dist/http-server-runtime.js +415 -0
  28. package/dist/http-server-runtime.js.map +1 -0
  29. package/dist/http-session-registry.d.ts +35 -0
  30. package/dist/http-session-registry.d.ts.map +1 -0
  31. package/dist/http-session-registry.js +96 -0
  32. package/dist/http-session-registry.js.map +1 -0
  33. package/dist/index.js +12 -5
  34. package/dist/index.js.map +1 -1
  35. package/dist/mcp.d.ts +1 -1
  36. package/dist/mcp.js +1 -1
  37. package/dist/prompts.d.ts.map +1 -1
  38. package/dist/prompts.js +8 -1
  39. package/dist/prompts.js.map +1 -1
  40. package/dist/remote/agent-cli.d.ts.map +1 -1
  41. package/dist/remote/agent-cli.js +20 -1
  42. package/dist/remote/agent-cli.js.map +1 -1
  43. package/dist/remote/agent-connection-lifecycle.d.ts +47 -0
  44. package/dist/remote/agent-connection-lifecycle.d.ts.map +1 -0
  45. package/dist/remote/agent-connection-lifecycle.js +304 -0
  46. package/dist/remote/agent-connection-lifecycle.js.map +1 -0
  47. package/dist/remote/agent-executor.d.ts.map +1 -1
  48. package/dist/remote/agent-executor.js +93 -68
  49. package/dist/remote/agent-executor.js.map +1 -1
  50. package/dist/remote/agent-handler.d.ts +22 -8
  51. package/dist/remote/agent-handler.d.ts.map +1 -1
  52. package/dist/remote/agent-handler.js +151 -98
  53. package/dist/remote/agent-handler.js.map +1 -1
  54. package/dist/remote/config.d.ts.map +1 -1
  55. package/dist/remote/config.js +14 -0
  56. package/dist/remote/config.js.map +1 -1
  57. package/dist/remote/control-plane.d.ts.map +1 -1
  58. package/dist/remote/control-plane.js +28 -3
  59. package/dist/remote/control-plane.js.map +1 -1
  60. package/dist/remote/oauth-handler.d.ts +2 -0
  61. package/dist/remote/oauth-handler.d.ts.map +1 -1
  62. package/dist/remote/oauth-handler.js +62 -1
  63. package/dist/remote/oauth-handler.js.map +1 -1
  64. package/dist/remote/policy-update-guard.d.ts +14 -0
  65. package/dist/remote/policy-update-guard.d.ts.map +1 -0
  66. package/dist/remote/policy-update-guard.js +27 -0
  67. package/dist/remote/policy-update-guard.js.map +1 -0
  68. package/dist/remote/policy.d.ts.map +1 -1
  69. package/dist/remote/policy.js +13 -2
  70. package/dist/remote/policy.js.map +1 -1
  71. package/dist/remote/safe-file.d.ts +5 -0
  72. package/dist/remote/safe-file.d.ts.map +1 -0
  73. package/dist/remote/safe-file.js +194 -0
  74. package/dist/remote/safe-file.js.map +1 -0
  75. package/dist/remote/store.d.ts +1 -0
  76. package/dist/remote/store.d.ts.map +1 -1
  77. package/dist/remote/store.js +5 -0
  78. package/dist/remote/store.js.map +1 -1
  79. package/dist/remote/types.d.ts +5 -0
  80. package/dist/remote/types.d.ts.map +1 -1
  81. package/dist/remote/websocket.d.ts +38 -13
  82. package/dist/remote/websocket.d.ts.map +1 -1
  83. package/dist/remote/websocket.js +90 -126
  84. package/dist/remote/websocket.js.map +1 -1
  85. package/dist/render-http.js +2 -1
  86. package/dist/render-http.js.map +1 -1
  87. package/dist/retry.d.ts.map +1 -1
  88. package/dist/retry.js +4 -2
  89. package/dist/retry.js.map +1 -1
  90. package/dist/server-http.d.ts +1 -1
  91. package/dist/server-http.d.ts.map +1 -1
  92. package/dist/server-http.js +1 -431
  93. package/dist/server-http.js.map +1 -1
  94. package/dist/tools/connector.provider.d.ts.map +1 -1
  95. package/dist/tools/connector.provider.js +5 -3
  96. package/dist/tools/connector.provider.js.map +1 -1
  97. package/dist/tools/index.d.ts.map +1 -1
  98. package/dist/tools/index.js +1 -0
  99. package/dist/tools/index.js.map +1 -1
  100. package/dist/tools/output-schemas.d.ts.map +1 -1
  101. package/dist/tools/output-schemas.js +1 -0
  102. package/dist/tools/output-schemas.js.map +1 -1
  103. package/dist/tools/process.provider.d.ts +2 -0
  104. package/dist/tools/process.provider.d.ts.map +1 -1
  105. package/dist/tools/process.provider.js +60 -1
  106. package/dist/tools/process.provider.js.map +1 -1
  107. package/dist/tools/system.provider.d.ts +13 -0
  108. package/dist/tools/system.provider.d.ts.map +1 -1
  109. package/dist/tools/system.provider.js +304 -2
  110. package/dist/tools/system.provider.js.map +1 -1
  111. package/dist/types.d.ts +39 -0
  112. package/dist/types.d.ts.map +1 -1
  113. package/dist/types.js +34 -0
  114. package/dist/types.js.map +1 -1
  115. package/docs/adding-a-device.md +127 -0
  116. package/docs/agent-runtime-config.md +34 -0
  117. package/docs/development/api-stability.md +44 -0
  118. package/docs/development/coding-standards.md +35 -0
  119. package/docs/development/commit-conventions.md +35 -0
  120. package/docs/development/dependency-management.md +60 -0
  121. package/docs/development/deprecation-policy.md +29 -0
  122. package/docs/development/local-setup.md +46 -0
  123. package/docs/development/release-process.md +57 -0
  124. package/docs/development/testing-policy.md +47 -0
  125. package/docs/explanation/architecture.md +44 -0
  126. package/docs/how-to/README.md +14 -0
  127. package/docs/how-to/configure-ssh-policy.md +50 -0
  128. package/docs/openssf-evidence.md +75 -0
  129. package/docs/openssf-gap-analysis.md +63 -0
  130. package/docs/openssf-proposal-links.md +37 -0
  131. package/docs/professionalization-plan.md +81 -0
  132. package/docs/reference/README.md +21 -0
  133. package/docs/reference/cli.md +41 -0
  134. package/docs/reference/compatibility.md +46 -0
  135. package/docs/reference/configuration.md +72 -0
  136. package/docs/remote-mcp-hardening.md +59 -0
  137. package/docs/repo-maturity-report.md +565 -0
  138. package/docs/security/assurance-case.md +58 -0
  139. package/docs/security/dependency-audit-exceptions.json +4 -0
  140. package/docs/security/dependency-audit-exceptions.md +15 -0
  141. package/docs/security/input-validation.md +54 -0
  142. package/docs/security/release-integrity.md +28 -0
  143. package/docs/security/scanning-policy.md +50 -0
  144. package/docs/security/secrets-management.md +49 -0
  145. package/docs/security/threat-model.md +65 -0
  146. package/docs/testing.md +24 -0
  147. package/docs/troubleshooting.md +56 -0
  148. package/docs/tutorials/getting-started.md +84 -0
  149. package/mcp.json +1 -1
  150. package/package.json +37 -18
  151. package/registry/ssh-mcp-pro/mcp.json +1 -1
  152. package/server.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;AACjE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAElE,MAAM,MAAM,cAAc,GACxB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhG,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAC;AAE3F,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,YAAY,GAAG,KAAK,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,YAAY,iBAAiB;CAC9B;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAE3B,IAAI,EAAE,SAAS;IAEf,IAAI,CAAC,EAAE,MAAM;IACb,mBAAmB,CAAC,EAAE,MAAM;IAC5B,WAAW,EAAE,OAAO;IACpB,eAAe,CAAC,EAAE,MAAM;gBALxB,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,mBAAmB,CAAC,EAAE,MAAM,YAAA,EAC5B,WAAW,GAAE,OAAc,EAC3B,eAAe,CAAC,EAAE,MAAM,YAAA;IAMjC;;OAEG;IACH,MAAM;;;;;;;;CAUP;AAMD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiBjC,CAAC;AAEH,eAAO,MAAM,eAAe;;iBAE1B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;iBAMrB,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;iBAKrB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;iBAKvB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;iBAKxB,CAAC;AAEH,eAAO,MAAM,YAAY;;;iBAGvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;iBAKvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;iBAGvB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;iBAI9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAI9B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;iBAM5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AAEH,eAAO,MAAM,eAAe;;iBAE1B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;iBAE9B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;iBAM3B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;iBAKnC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;iBAKpC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;iBAE3B,CAAC;AAEH,eAAO,MAAM,cAAc;;iBAEzB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;iBAMzB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAEH,eAAO,MAAM,eAAe;;;iBAG1B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;iBAI1B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;iBAKxB,CAAC"}
package/dist/types.js CHANGED
@@ -181,4 +181,38 @@ export const TunnelCloseSchema = z.object({
181
181
  export const TunnelListSchema = z.object({
182
182
  sessionId: z.string().min(1).optional(),
183
183
  });
184
+ export const ProcListSchema = z.object({
185
+ sessionId: z.string().min(1),
186
+ });
187
+ export const ProcKillSchema = z.object({
188
+ sessionId: z.string().min(1),
189
+ pid: z.number().int().positive(),
190
+ signal: z
191
+ .enum(["SIGTERM", "SIGKILL", "SIGHUP", "SIGINT", "SIGUSR1", "SIGUSR2"])
192
+ .default("SIGTERM"),
193
+ });
194
+ export const ServiceNameSchema = z.object({
195
+ sessionId: z.string().min(1),
196
+ name: z.string().min(1),
197
+ });
198
+ export const ServiceLogsSchema = z.object({
199
+ sessionId: z.string().min(1),
200
+ name: z.string().min(1),
201
+ lines: z.number().int().positive().max(1000).default(50),
202
+ });
203
+ export const DiskUsageSchema = z.object({
204
+ sessionId: z.string().min(1),
205
+ path: z.string().optional(),
206
+ });
207
+ export const PortCheckSchema = z.object({
208
+ sessionId: z.string().min(1),
209
+ port: z.number().int().min(1).max(65535),
210
+ host: z.string().default("127.0.0.1"),
211
+ });
212
+ export const LogTailSchema = z.object({
213
+ sessionId: z.string().min(1),
214
+ path: z.string().optional(),
215
+ service: z.string().optional(),
216
+ lines: z.number().int().positive().max(1000).default(50),
217
+ });
184
218
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,127 @@
1
+ # Adding a device (agent enrollment)
2
+
3
+ This guide explains the professional, repeatable way to connect a new
4
+ machine ("device") to the ssh-mcp-pro control plane. You never edit the
5
+ database by hand — every device is onboarded with a one-time enrollment
6
+ token and a chosen capability profile.
7
+
8
+ ## Mental model
9
+
10
+ - The **control plane** is the always-on HTTP/WebSocket service that ChatGPT
11
+ (or any MCP client) talks to. It holds the agent registry, policies, and
12
+ the audit log.
13
+ - An **agent** is a small outbound process running on each device. It dials
14
+ the control plane over WebSocket and executes only the actions its policy
15
+ allows. Devices never accept inbound connections.
16
+ - A **profile** is the capability set granted to an agent. It is chosen when
17
+ the enrollment token is created, and can be changed later without
18
+ re-enrolling.
19
+
20
+ ## Profiles
21
+
22
+ | Profile | Capabilities | Use it for |
23
+ | ------------ | -------------------------------------------------------- | -------------------------------- |
24
+ | `read-only` | host/system/log/audit read | Monitoring, safe default |
25
+ | `operations` | read + service management + docker + file read | Day-to-day administration |
26
+ | `full-admin` | everything, including `shell.exec` and `sudo.exec` | Full remote control of a machine |
27
+
28
+ Start with the least privilege a device needs. You can raise the profile
29
+ later (see [Changing a policy later](#changing-a-policy-later)).
30
+
31
+ ## Step 1 — Create an enrollment token (on the control plane side)
32
+
33
+ Tokens are one-time and short-lived. Pick the profile here.
34
+
35
+ ### Option A: HTTP API
36
+
37
+ ```bash
38
+ curl -sS -X POST "https://your-control-plane.example.com/api/agents/enrollment-tokens" \
39
+ -H "Authorization: Bearer <admin-access-token>" \
40
+ -H "Content-Type: application/json" \
41
+ -d '{"alias":"office-pc","requested_profile":"operations"}'
42
+ ```
43
+
44
+ The response includes a one-time `enrollment_token` and a ready-to-paste
45
+ install command. The calling identity must have the `agents:admin` scope.
46
+
47
+ ### Option B: From ChatGPT
48
+
49
+ If your connector has the `agents:admin` scope, ask it to call the
50
+ `create_enrollment_token` tool with the alias and requested profile. It
51
+ returns the same token and install command.
52
+
53
+ ## Step 2 — Run the bootstrap on the new device
54
+
55
+ The bootstrap installs the package, enrolls the machine, and registers a
56
+ service so the agent reconnects on boot. It needs Node 22.22+ or 24+.
57
+
58
+ ### Linux / WSL
59
+
60
+ ```bash
61
+ curl -fsSL https://raw.githubusercontent.com/oaslananka/ssh-mcp-pro/main/scripts/install-agent.sh -o install-agent.sh
62
+ bash install-agent.sh \
63
+ --server https://your-control-plane.example.com \
64
+ --token <one-time-token> \
65
+ --alias office-pc
66
+ ```
67
+
68
+ This creates a **user** systemd service and enables linger so it survives
69
+ logout and starts at boot. Pass `--system` (with `sudo`) to install a
70
+ system-wide service instead.
71
+
72
+ ### Windows (PowerShell)
73
+
74
+ ```powershell
75
+ irm https://raw.githubusercontent.com/oaslananka/ssh-mcp-pro/main/scripts/install-agent.ps1 -OutFile install-agent.ps1
76
+ ./install-agent.ps1 -Server https://your-control-plane.example.com -Token <one-time-token> -Alias office-pc
77
+ ```
78
+
79
+ This registers a Scheduled Task that runs the agent at logon and restarts it
80
+ on failure. For a fully headless host that must run before any user logs in,
81
+ run the agent under a service manager such as NSSM instead.
82
+
83
+ ## Step 3 — Verify
84
+
85
+ On the device:
86
+
87
+ ```bash
88
+ ssh-mcp-pro-agent status
89
+ ```
90
+
91
+ It prints the agent id, alias, server, and active profile. On the control
92
+ plane side the agent shows up as `online` in the fleet list, and the audit
93
+ log records `enrollment_token_created` and `agent_connected`.
94
+
95
+ ## Changing a policy later
96
+
97
+ Capabilities are server-authoritative and pushed live to a connected agent —
98
+ you do **not** re-enroll to change them. Use the proper management path so
99
+ the change is validated and audited:
100
+
101
+ ```bash
102
+ curl -sS -X PATCH "https://your-control-plane.example.com/api/agents/<agent-id>/policy" \
103
+ -H "Authorization: Bearer <admin-access-token>" \
104
+ -H "Content-Type: application/json" \
105
+ -d '{"policy":{"profile":"full-admin"}}'
106
+ ```
107
+
108
+ or call the `update_agent_policy` tool from an admin-scoped connector. The
109
+ control plane pushes a `policy.update` to the running agent within seconds; no
110
+ restart is required.
111
+
112
+ > Do not edit `data/sshautomator.db` directly to change capabilities. The
113
+ > database is an implementation detail; the API and tools are the supported
114
+ > interface and they keep the audit trail intact.
115
+
116
+ ## Troubleshooting
117
+
118
+ - **`shell.exec` denied / tool call fails**: the agent profile is too low.
119
+ Raise it with the policy API above. Read-only agents intentionally cannot
120
+ run shell commands, and a connection cannot grant itself more access.
121
+ - **Agent shows offline**: check the service
122
+ (`systemctl --user status ssh-mcp-pro-agent` on Linux, the Scheduled Task on
123
+ Windows) and that the device can reach the control plane URL over HTTPS.
124
+ - **Enrollment fails with an expired token**: tokens are single-use and
125
+ short-lived. Create a fresh one and retry.
126
+ - **WebSocket error on start**: the runtime is too old. Install Node 22.22+
127
+ or 24+.
@@ -0,0 +1,34 @@
1
+ # Agent Runtime Configuration
2
+
3
+ This document gives copyable configuration examples for running `ssh-mcp-pro` from popular MCP-capable agent runtimes.
4
+
5
+ ## Claude Code
6
+
7
+ The repository includes `.claude-plugin/plugin.json`, `.mcp.json`, and product skills under `skills/`.
8
+
9
+ ```bash
10
+ claude plugin validate .
11
+ claude --plugin-dir .
12
+ ```
13
+
14
+ ## Codex CLI
15
+
16
+ Copy `.codex/config.example.toml` into your Codex config and adjust environment values if needed.
17
+
18
+ ## VS Code / GitHub Copilot
19
+
20
+ Use `.vscode/mcp.example.json` as a workspace MCP configuration example.
21
+
22
+ ## OpenCode
23
+
24
+ Copy `opencode.example.jsonc` to `opencode.json`, or merge the `mcp` block into an existing OpenCode config. OpenCode skills are mirrored under `.opencode/skills/`.
25
+
26
+ ## Generic MCP clients
27
+
28
+ ```bash
29
+ npx ssh-mcp-pro
30
+ ```
31
+
32
+ ## Safety
33
+
34
+ `ssh-mcp-pro` can affect remote systems. Treat privileged, destructive, service-affecting, or persistent changes as requiring explicit human approval.
@@ -0,0 +1,44 @@
1
+ # API Stability
2
+
3
+ This project has never made an explicit stability statement before this document. It's
4
+ written now to describe intent going forward, not to claim a history of enforcement
5
+ that doesn't exist — see [docs/repo-maturity-report.md](../repo-maturity-report.md)
6
+ ("API/CLI stability") for the audit that identified this gap.
7
+
8
+ ## What is considered "the public API"
9
+
10
+ For SemVer purposes, going forward:
11
+
12
+ 1. **MCP tool/resource/prompt schemas** exposed by the `full` profile — names, required
13
+ parameters, and result shapes. Covered by `test/unit/mcp-contract.test.ts`.
14
+ 2. **CLI flags** in `docs/reference/cli.md` (mirrors `src/cli.ts`).
15
+ 3. **`SSH_MCP_*` environment variables** and their default values.
16
+ 4. **The two published binaries' existence and basic invocation** (`ssh-mcp-pro`,
17
+ `ssh-mcp-pro-agent`).
18
+
19
+ ## What is explicitly not covered
20
+
21
+ - Internal module structure under `src/` (anything not re-exported).
22
+ - Exact wording of error messages and log lines.
23
+ - The shape of `SSH_MCP_POLICY_FILE` beyond what's documented — see the config-schema
24
+ gap noted in the maturity report; this will need its own versioning story before it
25
+ can be a stability guarantee.
26
+ - Tool profiles *other than* `full` gaining new tools without a version bump — adding a
27
+ tool to a restricted profile is additive from that profile's consumer's perspective,
28
+ but is still called out here as unresolved: **Needs human confirmation** on whether
29
+ profile membership changes should be treated as SemVer-significant.
30
+
31
+ ## What counts as breaking
32
+
33
+ Per Conventional Commits (`!` / `BREAKING CHANGE:` — see
34
+ [commit-conventions.md](commit-conventions.md)): removing or renaming a tool/flag/env
35
+ var, changing a tool's required parameters, changing a default value that changes
36
+ security posture (e.g. flipping a deny-by-default to allow-by-default), or removing a
37
+ supported Node.js version ahead of its own EOL.
38
+
39
+ ## Current honest caveat
40
+
41
+ The project is on `1.x` but is 5 days old with zero external consumers on record. This
42
+ policy is aspirational until it's been exercised against a real breaking change and a
43
+ real major version bump — that will be the first real test of whether this document
44
+ holds up in practice.
@@ -0,0 +1,35 @@
1
+ # Coding Standards
2
+
3
+ This is a reference index, not a new rulebook — every rule below is already enforced by
4
+ a config file or CI job. It exists so "what are the coding standards" has one answer
5
+ instead of requiring a tour of five config files.
6
+
7
+ | Concern | Enforced by | Command |
8
+ | --- | --- | --- |
9
+ | Formatting | [.prettierrc.json](../../.prettierrc.json), [.editorconfig](../../.editorconfig) | `pnpm run format:check` |
10
+ | Linting | [eslint.config.mjs](../../eslint.config.mjs) | `pnpm run lint` |
11
+ | Type safety | [tsconfig.json](../../tsconfig.json) (`strict` mode) | `pnpm run typecheck` |
12
+ | Module size | [scripts/check-module-size.mjs](../../scripts/check-module-size.mjs) | `pnpm run check:module-size` |
13
+ | Circular dependencies | [.dependency-cruiser.mjs](../../.dependency-cruiser.mjs) | `pnpm run check:circular` |
14
+ | Unused code/exports | [knip.jsonc](../../knip.jsonc) | `pnpm run check:knip` |
15
+ | Commit messages | [.commitlintrc.json](../../.commitlintrc.json) | see [commit-conventions.md](commit-conventions.md) |
16
+ | Documentation prose | [scripts/check-doc-language.mjs](../../scripts/check-doc-language.mjs) | `pnpm run check:doc-language` |
17
+
18
+ Run everything at once with `pnpm run check:maintainability` (module size + circular
19
+ deps + unused exports) or `pnpm run check:quality` (formatting, lint, typecheck, audit,
20
+ licenses, and more — see [CONTRIBUTING.md](../../CONTRIBUTING.md) for the full gate).
21
+
22
+ ## Security-sensitive code
23
+
24
+ Files covered by [.github/CODEOWNERS](../../.github/CODEOWNERS) (`src/safety.ts`,
25
+ `src/session.ts`, `src/logging.ts`, `src/tools/`) and the mutation-tested surfaces listed
26
+ in [testing-policy.md](testing-policy.md) receive extra scrutiny. Changes there should
27
+ be justified against [SECURITY_DECISIONS.md](../../SECURITY_DECISIONS.md), not just
28
+ against passing tests.
29
+
30
+ ## Pre-commit / pre-push hooks
31
+
32
+ [.pre-commit-config.yaml](../../.pre-commit-config.yaml) and the git hooks installed by
33
+ `scripts/setup-git-hooks.mjs` (run automatically via the `prepare` npm script) run a
34
+ subset of the above on staged files before commit, and the full `check:push` gate before
35
+ push. See [CONTRIBUTING.md](../../CONTRIBUTING.md#git-hooks) for details.
@@ -0,0 +1,35 @@
1
+ # Commit Conventions
2
+
3
+ ssh-mcp-pro uses [Conventional Commits](https://www.conventionalcommits.org/), enforced
4
+ by [.commitlintrc.json](../../.commitlintrc.json) and
5
+ [scripts/lint-commits.mjs](../../scripts/lint-commits.mjs) (`pnpm run lint:commits`).
6
+ PR titles are additionally linted by
7
+ [scripts/lint-pr-title.mjs](../../scripts/lint-pr-title.mjs) (`pnpm run lint:pr-title`),
8
+ since release-please derives the changelog and version bump from these.
9
+
10
+ ## Format
11
+
12
+ ```
13
+ <type>[optional !][: ]<description>
14
+
15
+ [optional body]
16
+
17
+ [optional footer(s)]
18
+ ```
19
+
20
+ ## Types in use
21
+
22
+ `feat`, `fix`, `docs`, `test`, `refactor`, `build`, `ci`, `chore` — see
23
+ [CONTRIBUTING.md](../../CONTRIBUTING.md) for the authoritative list and examples.
24
+
25
+ ## Breaking changes
26
+
27
+ Mark with `!` after the type (e.g. `feat!:`) or a `BREAKING CHANGE:` footer.
28
+ Release-please uses this to trigger a major version bump and a distinct CHANGELOG
29
+ section — see [docs/development/release-process.md](release-process.md) and
30
+ [MIGRATION.md](../../MIGRATION.md).
31
+
32
+ ## Branch naming
33
+
34
+ `feature/*`, `fix/*`, `docs/*`, `chore/*` (and project-specific prefixes such as
35
+ `codex/SSH-*`) — see [CONTRIBUTING.md](../../CONTRIBUTING.md) for current conventions.
@@ -0,0 +1,60 @@
1
+ # Dependency Management
2
+
3
+ ## Two update bots, two ecosystems, by design
4
+
5
+ - **[renovate.json](../../renovate.json)** manages the `npm` ecosystem (production and
6
+ dev dependencies). Patch/minor devDependency updates automerge; the MCP SDK
7
+ (`@modelcontextprotocol/sdk`) is explicitly excluded from automerge given how central
8
+ it is; typescript-eslint packages are grouped.
9
+ - **[.github/dependabot.yml](../../.github/dependabot.yml)** manages the
10
+ `github-actions` ecosystem only, weekly, capped at 5 open PRs.
11
+
12
+ npm dependencies are deliberately **not** duplicated into `dependabot.yml` — running two
13
+ bots against the same ecosystem tends to produce competing PRs for the same bump. If
14
+ you're looking for why Dependabot doesn't also open npm PRs, this is why; it's a design
15
+ choice, not an oversight (see the corresponding row in
16
+ [docs/repo-maturity-report.md](../repo-maturity-report.md)).
17
+
18
+ ## Vulnerability response
19
+
20
+ - `pnpm audit --audit-level moderate` (the `audit` script) runs as part of
21
+ `check:quality`.
22
+ - The `Dependency Review` job in [ci.yml](../../.github/workflows/ci.yml) is the single
23
+ canonical dependency review for pull requests. It uses
24
+ `dependency-review-action` with `fail-on-severity: moderate`, so a newly introduced
25
+ advisory rated moderate, high, or critical blocks the pull request. A second standalone
26
+ dependency-review workflow is intentionally not used because duplicate checks can apply
27
+ contradictory thresholds and create ambiguous merge signals.
28
+ - The same job enforces the repository license allowlist. The allowlist is kept identical
29
+ to [scripts/check-licenses.mjs](../../scripts/check-licenses.mjs) by a regression test;
30
+ changing either policy requires a reviewed pull request that updates both surfaces.
31
+ - GitHub Dependabot alerts (vulnerability scanning, distinct from the version-update
32
+ bot config above) apply automatically on a public GitHub repository. Whether
33
+ "Dependabot security updates" (automatic fix PRs) is enabled is a repository Settings
34
+ toggle — see the manual actions list in the maturity report.
35
+
36
+ ### Published artifact verification
37
+
38
+ `pnpm run audit:packed` installs the generated npm tarball in a clean consumer project
39
+ and audits the resolved production graph without inheriting workspace overrides. Any
40
+ remaining finding must match the machine-readable, time-bounded policy in
41
+ [dependency-audit-exceptions.json](../security/dependency-audit-exceptions.json) and the
42
+ public rationale in [Dependency Audit Exceptions](../security/dependency-audit-exceptions.md).
43
+ Unexpected, expired, or stale exceptions fail the package gate.
44
+
45
+ ## License compliance
46
+
47
+ [scripts/check-licenses.mjs](../../scripts/check-licenses.mjs) enforces an allowlist
48
+ (MIT, Apache-2.0, BSD-2/3-Clause, BlueOak-1.0.0, CC-\*, ISC, Python-2.0, Unlicense)
49
+ against every resolved dependency, run via `pnpm run licenses:check` as part of
50
+ `check:quality`.
51
+
52
+ ## Freshness (advisory)
53
+
54
+ `pnpm run check:freshness` (`scripts/check-dependency-freshness.mjs`) compares the
55
+ pinned Node.js floor, pnpm version, and dependency versions against upstream metadata,
56
+ producing `artifacts/dependency-freshness.{json,md}`. It's advisory unless a pinned
57
+ version is unsupported, EOL, deprecated, or vulnerable — see
58
+ [CONTRIBUTING.md](../../CONTRIBUTING.md) for the exact policy and
59
+ [docs/audit/2026-06-05-ecosystem-audit.md](../audit/2026-06-05-ecosystem-audit.md) for
60
+ the most recent full audit.
@@ -0,0 +1,29 @@
1
+ # Deprecation Policy
2
+
3
+ No formal deprecation has ever happened in this project's history (it's 5 days old at
4
+ time of writing), so this document states intent, not a track record — consistent with
5
+ [docs/development/api-stability.md](api-stability.md).
6
+
7
+ ## Policy going forward
8
+
9
+ 1. **Announce before removing.** A deprecated tool, flag, or environment variable is
10
+ marked as such in `CHANGELOG.md` and, where feasible, the tool/flag continues to
11
+ function with a warning for at least one minor release before removal.
12
+ 2. **Removal is a breaking change.** Per
13
+ [docs/development/api-stability.md](api-stability.md), actual removal happens in a
14
+ major version bump, using Conventional Commits' `!`/`BREAKING CHANGE:` convention.
15
+ 3. **Security-driven deprecation is the exception.** If a default or feature is found
16
+ to be actively unsafe (not just superseded), it may be deprecated and disabled faster
17
+ than the normal window, with the rationale documented in
18
+ [SECURITY_DECISIONS.md](../../SECURITY_DECISIONS.md) — safety takes priority over the
19
+ standard notice period.
20
+ 4. **`MIGRATION.md` is the landing page** for any deprecation that requires action from
21
+ users upgrading between versions.
22
+
23
+ ## What this policy does not yet cover
24
+
25
+ - A specific minimum notice period (e.g. "one minor version" vs. "90 days") — left
26
+ unspecified until there's a real deprecation to calibrate against.
27
+ - Deprecation of MCP tool schema fields specifically (as opposed to whole tools) — see
28
+ the open question in [docs/development/api-stability.md](api-stability.md) about
29
+ whether profile/schema changes are SemVer-significant.
@@ -0,0 +1,46 @@
1
+ # Local Setup
2
+
3
+ The authoritative setup steps are in
4
+ [CONTRIBUTING.md#setup](../../CONTRIBUTING.md#setup) — this page doesn't duplicate them,
5
+ it adds the one-command shortcuts.
6
+
7
+ ## Fastest path
8
+
9
+ ```bash
10
+ git clone https://github.com/oaslananka/ssh-mcp-pro.git
11
+ cd ssh-mcp-pro
12
+ task install # or: corepack enable && corepack prepare pnpm@11.5.1 --activate && pnpm install --frozen-lockfile
13
+ task verify # lint + format:check + typecheck + test + build
14
+ ```
15
+
16
+ [Taskfile.yml](../../Taskfile.yml) wraps the same pnpm scripts CONTRIBUTING.md documents
17
+ — use whichever you prefer; there is no behavioral difference between `task lint` and
18
+ `pnpm run lint`.
19
+
20
+ ## What `pnpm run prepare` does
21
+
22
+ Configures `core.hooksPath=.githooks` so pre-commit/pre-push hooks
23
+ (`pnpm run hook:pre-commit`, `pnpm run hook:pre-push`) run automatically. This runs
24
+ automatically after `pnpm install` via the `prepare` script — you don't need to invoke
25
+ it manually unless hooks stop working.
26
+
27
+ ## Docker-based integration tests
28
+
29
+ Integration/E2E tests exercise a real SSH fixture via Docker, not a mock:
30
+
31
+ ```bash
32
+ pnpm run docker:ssh-fixture:up
33
+ pnpm run test:integration
34
+ pnpm run docker:ssh-fixture:down
35
+ ```
36
+
37
+ See [docker-compose.yml](../../docker-compose.yml) and
38
+ [Dockerfile.test](../../Dockerfile.test).
39
+
40
+ ## No `.devcontainer` (by design, for now)
41
+
42
+ This repo doesn't ship a `.devcontainer/`. Given the toolchain is one `pnpm install`
43
+ away from working and Docker is only needed for integration tests, this was assessed as
44
+ optional rather than required — see "Developer experience maturity" in
45
+ [docs/repo-maturity-report.md](../repo-maturity-report.md). Revisit if Windows/macOS
46
+ contributors report toolchain friction that a devcontainer would solve.
@@ -0,0 +1,57 @@
1
+ # Release Process
2
+
3
+ ## Versioning
4
+
5
+ Semantic Versioning, automated by [release-please](https://github.com/googleapis/release-please)
6
+ per [release-please-config.json](../../release-please-config.json) (`node` release
7
+ type). Conventional Commit types on `main` (see
8
+ [commit-conventions.md](commit-conventions.md)) drive whether the next release is a
9
+ patch, minor, or major bump.
10
+
11
+ ## How a release happens
12
+
13
+ 1. Conventional commits land on `main`.
14
+ 2. The `release` job in [.github/workflows/release.yml](../../.github/workflows/release.yml)
15
+ runs `googleapis/release-please-action`, which opens or updates a release PR
16
+ (updating `CHANGELOG.md`, `.release-please-manifest.json`, and the version fields
17
+ release-please is configured to touch — see `extra-files` in
18
+ `release-please-config.json`, which includes `mcp.json`, `server.json`, and the MCP
19
+ registry record).
20
+ 3. Merging that PR triggers `release_created`, which runs the `release-assets` job:
21
+ - `pnpm run check` (full quality gate) must pass.
22
+ - `pnpm run sbom` generates a CycloneDX SBOM.
23
+ - The package is packed with `pnpm pack`, and both the tarball and the SBOM get a
24
+ `sha256sum` checksum file.
25
+ - `actions/attest-build-provenance` runs twice — once for the package, once for the
26
+ SBOM — producing verifiable build provenance attestations.
27
+ - All artifacts (tarball, SBOM, checksums) are attached to the GitHub Release.
28
+ - npm publish only happens if the repository variable `AUTO_RELEASE_PUBLISH` is
29
+ `"true"`; otherwise the step is a documented no-op ("npm publishing is disabled by
30
+ AUTO_RELEASE_PUBLISH").
31
+
32
+ ## Verifying a release artifact
33
+
34
+ ```bash
35
+ sha256sum -c ssh-mcp-pro-<version>.tgz.sha256
36
+ ```
37
+
38
+ For provenance, use [GitHub CLI attestation verification](https://cli.github.com/manual/gh_attestation_verify):
39
+
40
+ ```bash
41
+ gh attestation verify ssh-mcp-pro-<version>.tgz --owner oaslananka
42
+ ```
43
+
44
+ See [docs/security/release-integrity.md](../security/release-integrity.md) for the full
45
+ supply-chain rationale.
46
+
47
+ ## Current status
48
+
49
+ No release has been published yet (repository created 2026-06-28). Release PR #1
50
+ (`chore(main): release ssh-mcp-pro 1.2.0`) is open and is the first opportunity to
51
+ exercise this pipeline end-to-end — see [ROADMAP.md](../../ROADMAP.md).
52
+
53
+ ## Container images
54
+
55
+ Published separately by [.github/workflows/docker.yml](../../.github/workflows/docker.yml)
56
+ on tagged releases; see [docs/docker.md](../docker.md) for tag policy and digest-pinned
57
+ usage.
@@ -0,0 +1,47 @@
1
+ # Testing Policy
2
+
3
+ ## Test layers
4
+
5
+ Defined in [vitest.config.ts](../../vitest.config.ts) as separate projects:
6
+
7
+ | Project | Location | Run with |
8
+ | --- | --- | --- |
9
+ | Unit | `test/unit/**` | `pnpm test` |
10
+ | Integration | `test/integration/**` | `pnpm run test:integration` |
11
+ | Windows command-path integration | `test/integration/windows-ssh.integration.test.ts` | `pnpm run test:integration:windows` |
12
+ | E2E | `test/e2e/**` | `pnpm run test:e2e` |
13
+ | Performance | `test/perf/**` | `pnpm run test:perf` (baseline: `test:perf:baseline`) |
14
+
15
+ Integration and E2E projects run sequentially (single worker, no file parallelism) —
16
+ they exercise a real SSH fixture (see `scripts/docker-ssh-fixture.mjs` and
17
+ [docker-compose.yml](../../docker-compose.yml)) and aren't safe to parallelize against
18
+ shared fixture state. Protected CI verifies the Docker fixture before each Linux suite and then checks the generated JUnit report to ensure the env-gated tests executed instead of being silently skipped. Failure runs retain sanitized container state, fixture logs, and JUnit evidence for 14 days.
19
+
20
+ The `Windows Command-Path Integration` job executes PowerShell-capable command selection and Windows package-manager paths locally on a Windows runner. It does not claim a network connection to a real Windows OpenSSH server.
21
+
22
+ ## Coverage policy
23
+
24
+ `pnpm run test:coverage` enforces the thresholds in `vitest.config.ts`: 85% branches,
25
+ 85% functions, 90% lines, 90% statements repo-wide, with a scoped 75/80/85/85 threshold
26
+ for `src/remote/**` (the remote control-plane surface, which has more integration-only
27
+ paths that are harder to unit-test in isolation). These thresholds are a CI gate, not a
28
+ suggestion — `check:quality`'s downstream `check` script fails the build below them.
29
+
30
+ ## Mutation testing
31
+
32
+ `pnpm run test:mutation` runs [Stryker](../../stryker.conf.mjs) against specific line
33
+ ranges in the highest-consequence files: `auth.ts`, `policy.ts`, `safety.ts`,
34
+ `config.ts`, `session.ts`, `http-security.ts`, `oauth.ts`, and the `remote/*` control
35
+ plane. Thresholds are 80% mutation score to be considered healthy, 60% as the floor
36
+ (`break: null`, i.e. advisory rather than a hard CI failure today). See
37
+ [docs/testing.md](../testing.md) for the rationale behind the line-range allowlist and
38
+ promotion criteria for adding more files to it.
39
+
40
+ ## What a PR is expected to include
41
+
42
+ Per [CONTRIBUTING.md](../../CONTRIBUTING.md): new functionality needs accompanying
43
+ tests, and `pnpm run check` (which includes `test:coverage`) must pass before a PR is
44
+ considered ready. There is currently no CI gate that *requires* a human reviewer's
45
+ approval before merge (see the branch-protection gap in
46
+ [docs/repo-maturity-report.md](../repo-maturity-report.md)) — treat the automated gate
47
+ as necessary, not sufficient.