@pome-sh/cli 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/README.md +5 -6
  2. package/dist/build-info.json +3 -3
  3. package/dist/src/cli/eval.js +26 -8
  4. package/dist/src/cli/init-sdk.d.ts +0 -3
  5. package/dist/src/cli/init-sdk.js +117 -24
  6. package/dist/src/cli/main.js +23 -69
  7. package/dist/src/cli/register.d.ts +9 -0
  8. package/dist/src/cli/register.js +51 -5
  9. package/dist/src/cli/session.d.ts +7 -1
  10. package/dist/src/cli/session.js +87 -27
  11. package/dist/src/demo/runDemo.js +3 -2
  12. package/dist/src/hosted/client.d.ts +41 -5
  13. package/dist/src/hosted/client.js +333 -19
  14. package/dist/src/hosted/errors.d.ts +11 -1
  15. package/dist/src/hosted/errors.js +8 -1
  16. package/dist/src/hosted/evalResultView.d.ts +2 -0
  17. package/dist/src/hosted/evalResultView.js +22 -0
  18. package/dist/src/hosted/uploadAndFinalize.d.ts +18 -1
  19. package/dist/src/hosted/uploadAndFinalize.js +51 -3
  20. package/dist/src/recorder/inspect.js +20 -2
  21. package/dist/src/runner/mergeAdapterSignals.js +2 -2
  22. package/dist/src/runner/ports.js +3 -0
  23. package/dist/src/runner/runScenario.d.ts +79 -2
  24. package/dist/src/runner/runScenario.js +94 -36
  25. package/dist/src/runner/runScenarioHosted.d.ts +37 -0
  26. package/dist/src/runner/runScenarioHosted.js +257 -58
  27. package/dist/src/runner/runTrialGroup.d.ts +1 -3
  28. package/dist/src/runner/runTrialGroup.js +1 -3
  29. package/dist/src/scenario/parseScenario.d.ts +5 -0
  30. package/dist/src/scenario/parseScenario.js +135 -8
  31. package/dist/src/scenario/scenarioSchema.d.ts +200 -3
  32. package/dist/src/scenario/scenarioSchema.js +12 -1
  33. package/dist/src/twin/twinHarness.d.ts +10 -0
  34. package/dist/src/twin/twinHarness.js +6 -2
  35. package/dist/src/twin/twinStart.d.ts +19 -0
  36. package/dist/src/twin/twinStart.js +156 -0
  37. package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.d.ts +121 -0
  38. package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js +204 -0
  39. package/node_modules/@pome-sh/sdk/dist/fidelity-inventory.js.map +1 -0
  40. package/node_modules/@pome-sh/sdk/dist/parity.d.ts +55 -0
  41. package/node_modules/@pome-sh/sdk/dist/parity.js +112 -0
  42. package/node_modules/@pome-sh/sdk/dist/parity.js.map +1 -0
  43. package/node_modules/@pome-sh/sdk/dist/server-helpers.d.ts +15 -0
  44. package/node_modules/@pome-sh/sdk/dist/server-helpers.js +96 -0
  45. package/node_modules/@pome-sh/sdk/dist/server-helpers.js.map +1 -1
  46. package/node_modules/@pome-sh/sdk/dist/server.d.ts +1 -1
  47. package/node_modules/@pome-sh/sdk/dist/server.js +9 -7
  48. package/node_modules/@pome-sh/sdk/dist/server.js.map +1 -1
  49. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  50. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  51. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  52. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.d.ts +13 -0
  53. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js +6 -0
  54. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/evaluator-hooks.js.map +1 -0
  55. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +215 -0
  56. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +83 -0
  57. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  58. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.d.ts +175 -0
  59. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.js +182 -0
  60. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/github-access-control.js.map +1 -0
  61. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  62. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  63. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  64. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.d.ts +27 -0
  65. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js +34 -0
  66. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -0
  67. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +286 -0
  68. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js +33 -0
  69. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/event-schema.js.map +1 -0
  70. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.d.ts +65 -0
  71. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js +455 -0
  72. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/data.js.map +1 -0
  73. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.d.ts +39 -0
  74. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js +47 -0
  75. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/fixtures/index.js.map +1 -0
  76. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.d.ts +25 -0
  77. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.js +27 -0
  78. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/index.js.map +1 -0
  79. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.d.ts +100 -0
  80. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +185 -0
  81. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -0
  82. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.d.ts +64 -0
  83. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.js +112 -0
  84. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/map-span.js.map +1 -0
  85. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.d.ts +26 -0
  86. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.js +61 -0
  87. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/nano.js.map +1 -0
  88. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.d.ts +42 -0
  89. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js +96 -0
  90. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/project.js.map +1 -0
  91. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.d.ts +51 -0
  92. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +74 -0
  93. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -0
  94. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.d.ts +134 -0
  95. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.js +152 -0
  96. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/otel/span-event.js.map +1 -0
  97. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +418 -0
  98. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js +234 -0
  99. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -0
  100. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.d.ts +2 -0
  101. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.js +152 -0
  102. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/redaction.js.map +1 -0
  103. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.d.ts +198 -0
  104. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js +225 -0
  105. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  106. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.d.ts +201 -0
  107. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js +166 -0
  108. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -0
  109. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  110. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  111. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  112. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  113. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  114. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  115. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.d.ts +66 -0
  116. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js +84 -0
  117. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task-vocab.js.map +1 -0
  118. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.d.ts +483 -0
  119. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  120. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  121. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/package.json +54 -0
  122. package/node_modules/@pome-sh/sdk/node_modules/@pome-sh/shared-types/trace-contract.json +41 -0
  123. package/node_modules/@pome-sh/sdk/package.json +6 -2
  124. package/node_modules/@pome-sh/shared-types/dist/errors.d.ts +39 -0
  125. package/node_modules/@pome-sh/shared-types/dist/errors.js +33 -0
  126. package/node_modules/@pome-sh/shared-types/dist/errors.js.map +1 -0
  127. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.d.ts +252 -0
  128. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js +122 -0
  129. package/node_modules/@pome-sh/shared-types/dist/finalize-shapes.js.map +1 -0
  130. package/node_modules/@pome-sh/shared-types/dist/identity.d.ts +90 -0
  131. package/node_modules/@pome-sh/shared-types/dist/identity.js +72 -0
  132. package/node_modules/@pome-sh/shared-types/dist/identity.js.map +1 -0
  133. package/node_modules/@pome-sh/shared-types/dist/index.d.ts +13 -1353
  134. package/node_modules/@pome-sh/shared-types/dist/index.js +14 -568
  135. package/node_modules/@pome-sh/shared-types/dist/index.js.map +1 -1
  136. package/node_modules/@pome-sh/shared-types/dist/otel/event-schema.d.ts +45 -0
  137. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js +8 -0
  138. package/node_modules/@pome-sh/shared-types/dist/otel/legacy-shim.js.map +1 -1
  139. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js +7 -0
  140. package/node_modules/@pome-sh/shared-types/dist/otel/semconv.js.map +1 -1
  141. package/node_modules/@pome-sh/shared-types/dist/recorder-events.d.ts +62 -0
  142. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js +36 -0
  143. package/node_modules/@pome-sh/shared-types/dist/recorder-events.js.map +1 -1
  144. package/node_modules/@pome-sh/shared-types/dist/rest.d.ts +245 -0
  145. package/node_modules/@pome-sh/shared-types/dist/rest.js +303 -0
  146. package/node_modules/@pome-sh/shared-types/dist/rest.js.map +1 -0
  147. package/node_modules/@pome-sh/shared-types/dist/run.d.ts +7 -0
  148. package/node_modules/@pome-sh/shared-types/dist/run.js +4 -0
  149. package/node_modules/@pome-sh/shared-types/dist/run.js.map +1 -1
  150. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.d.ts +14 -0
  151. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.js +46 -0
  152. package/node_modules/@pome-sh/shared-types/dist/seed-envelope.js.map +1 -0
  153. package/node_modules/@pome-sh/shared-types/dist/seed-state.d.ts +446 -0
  154. package/node_modules/@pome-sh/shared-types/dist/seed-state.js +167 -0
  155. package/node_modules/@pome-sh/shared-types/dist/seed-state.js.map +1 -0
  156. package/node_modules/@pome-sh/shared-types/dist/sessions.d.ts +53 -0
  157. package/node_modules/@pome-sh/shared-types/dist/sessions.js +51 -0
  158. package/node_modules/@pome-sh/shared-types/dist/sessions.js.map +1 -0
  159. package/node_modules/@pome-sh/shared-types/dist/task.d.ts +485 -0
  160. package/node_modules/@pome-sh/shared-types/dist/task.js +60 -0
  161. package/node_modules/@pome-sh/shared-types/dist/task.js.map +1 -0
  162. package/node_modules/@pome-sh/shared-types/package.json +2 -1
  163. package/node_modules/@pome-sh/shared-types/trace-contract.json +1 -1
  164. package/node_modules/@pome-sh/twin-github/FIDELITY.md +127 -67
  165. package/node_modules/@pome-sh/twin-github/README.md +3 -7
  166. package/node_modules/@pome-sh/twin-github/dist/examples/claude-github-agent.js +4 -20
  167. package/node_modules/@pome-sh/twin-github/dist/examples/claude-github-agent.js.map +1 -1
  168. package/node_modules/@pome-sh/twin-github/dist/src/access-control.d.ts +3 -3
  169. package/node_modules/@pome-sh/twin-github/dist/src/domain.d.ts +141 -3
  170. package/node_modules/@pome-sh/twin-github/dist/src/domain.js +0 -0
  171. package/node_modules/@pome-sh/twin-github/dist/src/domain.js.map +1 -1
  172. package/node_modules/@pome-sh/twin-github/dist/src/routes.js +2 -0
  173. package/node_modules/@pome-sh/twin-github/dist/src/routes.js.map +1 -1
  174. package/node_modules/@pome-sh/twin-github/dist/src/seed.d.ts +1 -1
  175. package/node_modules/@pome-sh/twin-github/dist/src/serializers.d.ts +2 -2
  176. package/node_modules/@pome-sh/twin-github/dist/src/server.js +7 -6
  177. package/node_modules/@pome-sh/twin-github/dist/src/server.js.map +1 -1
  178. package/node_modules/@pome-sh/twin-github/dist/src/tools.d.ts +168 -18
  179. package/node_modules/@pome-sh/twin-github/dist/src/tools.js +23 -0
  180. package/node_modules/@pome-sh/twin-github/dist/src/tools.js.map +1 -1
  181. package/node_modules/@pome-sh/twin-github/fidelity.inventory.json +773 -0
  182. package/node_modules/@pome-sh/twin-github/package.json +5 -4
  183. package/node_modules/@pome-sh/twin-slack/FIDELITY.md +121 -35
  184. package/node_modules/@pome-sh/twin-slack/README.md +2 -6
  185. package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.d.ts +1 -0
  186. package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.js +92 -0
  187. package/node_modules/@pome-sh/twin-slack/dist/scripts/fidelity-parity.js.map +1 -0
  188. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js +3 -3
  189. package/node_modules/@pome-sh/twin-slack/dist/scripts/smoke.js.map +1 -1
  190. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js +1 -1
  191. package/node_modules/@pome-sh/twin-slack/dist/scripts/validate-mcp.js.map +1 -1
  192. package/node_modules/@pome-sh/twin-slack/dist/src/server.js +7 -6
  193. package/node_modules/@pome-sh/twin-slack/dist/src/server.js.map +1 -1
  194. package/node_modules/@pome-sh/twin-slack/dist/src/tools.d.ts +30 -4
  195. package/node_modules/@pome-sh/twin-slack/dist/src/tools.js +48 -1
  196. package/node_modules/@pome-sh/twin-slack/dist/src/tools.js.map +1 -1
  197. package/node_modules/@pome-sh/twin-slack/fidelity.inventory.json +377 -0
  198. package/node_modules/@pome-sh/twin-slack/package.json +5 -4
  199. package/node_modules/@pome-sh/twin-stripe/FIDELITY.md +151 -50
  200. package/node_modules/@pome-sh/twin-stripe/README.md +42 -45
  201. package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.d.ts +1 -0
  202. package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.js +186 -0
  203. package/node_modules/@pome-sh/twin-stripe/dist/scripts/fidelity-parity.js.map +1 -0
  204. package/node_modules/@pome-sh/twin-stripe/dist/scripts/smoke.js +8 -4
  205. package/node_modules/@pome-sh/twin-stripe/dist/scripts/smoke.js.map +1 -1
  206. package/node_modules/@pome-sh/twin-stripe/dist/src/db.js +26 -2
  207. package/node_modules/@pome-sh/twin-stripe/dist/src/db.js.map +1 -1
  208. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.d.ts +101 -0
  209. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.js +195 -0
  210. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/billing.js.map +1 -0
  211. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.d.ts +15 -1
  212. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.js +17 -5
  213. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/charges.js.map +1 -1
  214. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.d.ts +47 -0
  215. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.js +103 -0
  216. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/customers.js.map +1 -0
  217. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/events.d.ts +1 -1
  218. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/events.js.map +1 -1
  219. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.d.ts +6 -0
  220. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.js +3 -0
  221. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/index.js.map +1 -1
  222. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.d.ts +61 -2
  223. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.js +214 -52
  224. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-intents.js.map +1 -1
  225. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.d.ts +45 -0
  226. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.js +159 -0
  227. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/payment-methods.js.map +1 -0
  228. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.d.ts +6 -0
  229. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.js +16 -0
  230. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/refunds.js.map +1 -1
  231. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.d.ts +1 -0
  232. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.js +144 -1
  233. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/schema.js.map +1 -1
  234. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.d.ts +420 -43
  235. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.js +442 -13
  236. package/node_modules/@pome-sh/twin-stripe/dist/src/domain/stripe-domain.js.map +1 -1
  237. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.d.ts +19 -0
  238. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.js +15 -1
  239. package/node_modules/@pome-sh/twin-stripe/dist/src/errors.js.map +1 -1
  240. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.d.ts +2 -0
  241. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.js +2 -0
  242. package/node_modules/@pome-sh/twin-stripe/dist/src/ids.js.map +1 -1
  243. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.d.ts +8 -0
  244. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js +105 -1
  245. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/_helpers.js.map +1 -1
  246. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.d.ts +4 -0
  247. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.js +117 -0
  248. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/billing.js.map +1 -0
  249. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.d.ts +4 -0
  250. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.js +47 -0
  251. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/customers.js.map +1 -0
  252. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/index.js +6 -0
  253. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/index.js.map +1 -1
  254. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-intents.js +28 -102
  255. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-intents.js.map +1 -1
  256. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.d.ts +4 -0
  257. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.js +33 -0
  258. package/node_modules/@pome-sh/twin-stripe/dist/src/routes/payment-methods.js.map +1 -0
  259. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.d.ts +10 -8
  260. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.js +3 -2
  261. package/node_modules/@pome-sh/twin-stripe/dist/src/seed.js.map +1 -1
  262. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.d.ts +181 -21
  263. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.js +257 -34
  264. package/node_modules/@pome-sh/twin-stripe/dist/src/serializers.js.map +1 -1
  265. package/node_modules/@pome-sh/twin-stripe/dist/src/server.js +7 -6
  266. package/node_modules/@pome-sh/twin-stripe/dist/src/server.js.map +1 -1
  267. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.d.ts +107 -5
  268. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.js +139 -6
  269. package/node_modules/@pome-sh/twin-stripe/dist/src/tools.js.map +1 -1
  270. package/node_modules/@pome-sh/twin-stripe/dist/src/types.d.ts +73 -0
  271. package/node_modules/@pome-sh/twin-stripe/dist/src/upstream-types.d.ts +8 -0
  272. package/node_modules/@pome-sh/twin-stripe/dist/src/x402.js +6 -1
  273. package/node_modules/@pome-sh/twin-stripe/dist/src/x402.js.map +1 -1
  274. package/node_modules/@pome-sh/twin-stripe/fidelity.inventory.json +425 -0
  275. package/node_modules/@pome-sh/twin-stripe/package.json +5 -4
  276. package/package.json +8 -8
  277. package/skills/pome-setup/SKILL.md +1 -1
@@ -0,0 +1,773 @@
1
+ {
2
+ "twin": "github",
3
+ "package": "@pome-sh/twin-github",
4
+ "updated": "2026-07-12",
5
+ "notes": "Tool surface lints 1:1 against FIDELITY.md; REST surface lints 1:1 against FIDELITY_MATRIX.md (FIDELITY.md documents REST as prose). Heat tiers ruled 2026-07-11 on F-729 (list 2/3 + [DECISION], approve-as-drafted); annotations landed via F-735. Evidence codes per packages/sdk/ENDPOINT-TIERS.md. Warm surfaces implemented at semantic stay code-unchanged per the M5 additive-only ruling and are listed in FIDELITY.md's tier-mismatch ledger.",
6
+ "tools": [
7
+ {
8
+ "name": "search_repositories",
9
+ "heat": "hot",
10
+ "fidelity": "semantic",
11
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
12
+ },
13
+ {
14
+ "name": "create_repository",
15
+ "heat": "hot",
16
+ "fidelity": "semantic",
17
+ "justification": "TC:authoring (ruled F-729); MCP:repos."
18
+ },
19
+ {
20
+ "name": "fork_repository",
21
+ "heat": "hot",
22
+ "fidelity": "semantic",
23
+ "justification": "TC:authoring (ruled F-729); MCP:repos."
24
+ },
25
+ {
26
+ "name": "get_repository",
27
+ "heat": "hot",
28
+ "fidelity": "semantic",
29
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
30
+ },
31
+ {
32
+ "name": "search_code",
33
+ "heat": "hot",
34
+ "fidelity": "semantic",
35
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
36
+ },
37
+ {
38
+ "name": "search_users",
39
+ "heat": "hot",
40
+ "fidelity": "semantic",
41
+ "justification": "TC:code-read (ruled F-729); MCP:users."
42
+ },
43
+ {
44
+ "name": "get_file_contents",
45
+ "heat": "hot",
46
+ "fidelity": "semantic",
47
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
48
+ },
49
+ {
50
+ "name": "list_commits",
51
+ "heat": "hot",
52
+ "fidelity": "semantic",
53
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
54
+ },
55
+ {
56
+ "name": "create_or_update_file",
57
+ "heat": "hot",
58
+ "fidelity": "semantic",
59
+ "justification": "TC:authoring (ruled F-729); MCP:repos."
60
+ },
61
+ {
62
+ "name": "create_branch",
63
+ "heat": "hot",
64
+ "fidelity": "semantic",
65
+ "justification": "TC:authoring (ruled F-729); MCP:repos."
66
+ },
67
+ {
68
+ "name": "push_files",
69
+ "heat": "hot",
70
+ "fidelity": "semantic",
71
+ "justification": "TC:authoring (ruled F-729); MCP:repos. MCP-only surface — no REST route backs it, which the rubric treats as legal (kind: mcp, ruled F-729)."
72
+ },
73
+ {
74
+ "name": "get_issue",
75
+ "heat": "hot",
76
+ "fidelity": "semantic",
77
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
78
+ },
79
+ {
80
+ "name": "update_issue",
81
+ "heat": "hot",
82
+ "fidelity": "semantic",
83
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
84
+ },
85
+ {
86
+ "name": "search_issues",
87
+ "heat": "hot",
88
+ "fidelity": "semantic",
89
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
90
+ },
91
+ {
92
+ "name": "list_issues",
93
+ "heat": "hot",
94
+ "fidelity": "semantic",
95
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
96
+ },
97
+ {
98
+ "name": "add_issue_comment",
99
+ "heat": "hot",
100
+ "fidelity": "semantic",
101
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
102
+ },
103
+ {
104
+ "name": "list_issue_comments",
105
+ "heat": "hot",
106
+ "fidelity": "semantic",
107
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
108
+ },
109
+ {
110
+ "name": "create_issue",
111
+ "heat": "hot",
112
+ "fidelity": "semantic",
113
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
114
+ },
115
+ {
116
+ "name": "list_repository_labels",
117
+ "heat": "hot",
118
+ "fidelity": "semantic",
119
+ "justification": "TC:issue-triage (ruled F-729): label reads+apply are on the triage chain; vendor puts label writes opt-in — task chain wins (disagreement noted)."
120
+ },
121
+ {
122
+ "name": "create_label",
123
+ "heat": "warm",
124
+ "fidelity": "semantic",
125
+ "justification": "Warm (ruled F-729, G4): taxonomy authoring, a rare side step off TC:issue-triage; MCP: vendor label writes are opt-in. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
126
+ },
127
+ {
128
+ "name": "list_issue_labels",
129
+ "heat": "hot",
130
+ "fidelity": "semantic",
131
+ "justification": "TC:issue-triage (ruled F-729)."
132
+ },
133
+ {
134
+ "name": "add_issue_labels",
135
+ "heat": "hot",
136
+ "fidelity": "semantic",
137
+ "justification": "TC:issue-triage (ruled F-729); vendor label writes are opt-in — task chain wins (disagreement noted)."
138
+ },
139
+ {
140
+ "name": "remove_issue_label",
141
+ "heat": "hot",
142
+ "fidelity": "semantic",
143
+ "justification": "TC:issue-triage (ruled F-729); vendor label writes are opt-in — task chain wins (disagreement noted)."
144
+ },
145
+ {
146
+ "name": "list_collaborators",
147
+ "heat": "hot",
148
+ "fidelity": "semantic",
149
+ "justification": "MCP:repos (ruled F-729); collaborator reads sit on triage and review chains."
150
+ },
151
+ {
152
+ "name": "add_assignees",
153
+ "heat": "hot",
154
+ "fidelity": "semantic",
155
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
156
+ },
157
+ {
158
+ "name": "get_pull_request",
159
+ "heat": "hot",
160
+ "fidelity": "semantic",
161
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
162
+ },
163
+ {
164
+ "name": "get_pull_request_reviews",
165
+ "heat": "hot",
166
+ "fidelity": "semantic",
167
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
168
+ },
169
+ {
170
+ "name": "create_pull_request_review",
171
+ "heat": "hot",
172
+ "fidelity": "semantic",
173
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
174
+ },
175
+ {
176
+ "name": "get_pull_request_comments",
177
+ "heat": "hot",
178
+ "fidelity": "semantic",
179
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
180
+ },
181
+ {
182
+ "name": "get_pull_request_files",
183
+ "heat": "hot",
184
+ "fidelity": "semantic",
185
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
186
+ },
187
+ {
188
+ "name": "get_pull_request_status",
189
+ "heat": "hot",
190
+ "fidelity": "semantic",
191
+ "justification": "TC:merge-gate (ruled F-729); MCP:pull_requests."
192
+ },
193
+ {
194
+ "name": "list_pull_requests",
195
+ "heat": "hot",
196
+ "fidelity": "semantic",
197
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
198
+ },
199
+ {
200
+ "name": "merge_pull_request",
201
+ "heat": "hot",
202
+ "fidelity": "semantic",
203
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
204
+ },
205
+ {
206
+ "name": "update_pull_request_branch",
207
+ "heat": "hot",
208
+ "fidelity": "semantic",
209
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests (default-on). Hot gap filled by F-735: semantic merge of base into head with a real merge commit."
210
+ },
211
+ {
212
+ "name": "create_pull_request",
213
+ "heat": "hot",
214
+ "fidelity": "semantic",
215
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
216
+ },
217
+ {
218
+ "name": "list_branches",
219
+ "heat": "hot",
220
+ "fidelity": "semantic",
221
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
222
+ },
223
+ {
224
+ "name": "get_branch",
225
+ "heat": "hot",
226
+ "fidelity": "semantic",
227
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
228
+ },
229
+ {
230
+ "name": "delete_branch",
231
+ "heat": "hot",
232
+ "fidelity": "semantic",
233
+ "justification": "TC:cleanup-after-merge (ruled F-729); no vendor tool — task chain wins (disagreement noted)."
234
+ },
235
+ {
236
+ "name": "delete_file",
237
+ "heat": "hot",
238
+ "fidelity": "semantic",
239
+ "justification": "TC:authoring (ruled F-729); MCP:repos."
240
+ },
241
+ {
242
+ "name": "get_commit",
243
+ "heat": "hot",
244
+ "fidelity": "semantic",
245
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
246
+ },
247
+ {
248
+ "name": "compare_commits",
249
+ "heat": "warm",
250
+ "fidelity": "shape",
251
+ "justification": "Warm (ruled F-729): occasional cross-branch inspection off the TC:code-read chain. Shape is exactly at target."
252
+ },
253
+ {
254
+ "name": "get_pull_request_diff",
255
+ "heat": "hot",
256
+ "fidelity": "shape",
257
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests. Hot gap, explicitly deferred (F-729 ruling point G1): byte-accurate patch modeling is out of the M5 window; placeholder patches remain (divergence #2). Follow-up post-M5."
258
+ },
259
+ {
260
+ "name": "update_pull_request",
261
+ "heat": "hot",
262
+ "fidelity": "semantic",
263
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
264
+ },
265
+ {
266
+ "name": "get_pull_request_commits",
267
+ "heat": "hot",
268
+ "fidelity": "semantic",
269
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
270
+ },
271
+ {
272
+ "name": "create_pull_request_review_comment",
273
+ "heat": "hot",
274
+ "fidelity": "semantic",
275
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
276
+ },
277
+ {
278
+ "name": "add_reply_to_pull_request_comment",
279
+ "heat": "hot",
280
+ "fidelity": "semantic",
281
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
282
+ },
283
+ {
284
+ "name": "update_issue_comment",
285
+ "heat": "hot",
286
+ "fidelity": "semantic",
287
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
288
+ },
289
+ {
290
+ "name": "delete_issue_comment",
291
+ "heat": "hot",
292
+ "fidelity": "semantic",
293
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
294
+ },
295
+ {
296
+ "name": "list_milestones",
297
+ "heat": "warm",
298
+ "fidelity": "semantic",
299
+ "justification": "Warm (ruled F-729, G2): adjacent to TC:issue-triage (triage-filter reads), warm over cold; MCP: no vendor milestone tools. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
300
+ },
301
+ {
302
+ "name": "create_milestone",
303
+ "heat": "warm",
304
+ "fidelity": "semantic",
305
+ "justification": "Warm (ruled F-729, G2): weak chain adjacent to TC:issue-triage; MCP: no vendor milestone tools. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
306
+ },
307
+ {
308
+ "name": "update_milestone",
309
+ "heat": "warm",
310
+ "fidelity": "semantic",
311
+ "justification": "Warm (ruled F-729, G2): weak chain adjacent to TC:issue-triage; MCP: no vendor milestone tools. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
312
+ },
313
+ {
314
+ "name": "delete_milestone",
315
+ "heat": "warm",
316
+ "fidelity": "semantic",
317
+ "justification": "Warm (ruled F-729, G2): weak chain adjacent to TC:issue-triage; MCP: no vendor milestone tools. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
318
+ },
319
+ {
320
+ "name": "create_commit_status",
321
+ "heat": "hot",
322
+ "fidelity": "semantic",
323
+ "justification": "SB (ruled F-729): the sealed twin must mint CI state for the merge-gate chain to be exercisable; vendor actions toolset is opt-in — task chain wins (disagreement noted)."
324
+ },
325
+ {
326
+ "name": "get_combined_status_for_ref",
327
+ "heat": "hot",
328
+ "fidelity": "semantic",
329
+ "justification": "TC:merge-gate (ruled F-729)."
330
+ },
331
+ {
332
+ "name": "create_check_run",
333
+ "heat": "hot",
334
+ "fidelity": "semantic",
335
+ "justification": "SB (ruled F-729): mints check state so the merge-gate chain is exercisable; vendor actions toolset is opt-in — task chain wins (disagreement noted)."
336
+ },
337
+ {
338
+ "name": "list_check_runs_for_ref",
339
+ "heat": "hot",
340
+ "fidelity": "semantic",
341
+ "justification": "TC:merge-gate (ruled F-729)."
342
+ },
343
+ {
344
+ "name": "list_tags",
345
+ "heat": "hot",
346
+ "fidelity": "semantic",
347
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
348
+ },
349
+ {
350
+ "name": "list_releases",
351
+ "heat": "hot",
352
+ "fidelity": "semantic",
353
+ "justification": "TC:release-notes (ruled F-729); MCP:repos."
354
+ },
355
+ {
356
+ "name": "get_latest_release",
357
+ "heat": "hot",
358
+ "fidelity": "semantic",
359
+ "justification": "TC:release-notes (ruled F-729); MCP:repos."
360
+ },
361
+ {
362
+ "name": "create_release",
363
+ "heat": "warm",
364
+ "fidelity": "semantic",
365
+ "justification": "Warm (ruled F-729, G4): rarer chain adjacent to TC:release-notes; MCP: no vendor write tool. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
366
+ },
367
+ {
368
+ "name": "get_me",
369
+ "heat": "hot",
370
+ "fidelity": "semantic",
371
+ "justification": "TC:bootstrap (ruled F-729); MCP:context."
372
+ },
373
+ {
374
+ "name": "add_collaborator",
375
+ "heat": "warm",
376
+ "fidelity": "semantic",
377
+ "justification": "Warm (ruled F-729, G4): admin-flavored and rare; MCP: no vendor tool. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
378
+ },
379
+ {
380
+ "name": "search_commits",
381
+ "heat": "hot",
382
+ "fidelity": "semantic",
383
+ "justification": "TC:code-read (ruled F-729, G3); MCP:repos (default-on). Hot gap filled by F-735: substring search over default-branch commit messages and authors."
384
+ },
385
+ {
386
+ "name": "get_release_by_tag",
387
+ "heat": "hot",
388
+ "fidelity": "semantic",
389
+ "justification": "TC:release-notes (ruled F-729, G3); MCP:repos (default-on). Hot gap filled by F-735."
390
+ },
391
+ {
392
+ "name": "get_tag",
393
+ "heat": "hot",
394
+ "fidelity": "semantic",
395
+ "justification": "TC:release-notes (ruled F-729, G3); MCP:repos (default-on). Hot gap filled by F-735. MCP-only surface (kind: mcp): backed by the tags table; git-plumbing REST stays cold per the ruling."
396
+ }
397
+ ],
398
+ "rest": [
399
+ {
400
+ "name": "GET /repos/:owner/:repo",
401
+ "heat": "hot",
402
+ "fidelity": "semantic",
403
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
404
+ },
405
+ {
406
+ "name": "POST /user/repos",
407
+ "heat": "hot",
408
+ "fidelity": "semantic",
409
+ "justification": "TC:authoring (ruled F-729); MCP:repos. Row added by F-735 (doc-drift fix: implemented route was missing from FIDELITY_MATRIX.md)."
410
+ },
411
+ {
412
+ "name": "POST /orgs/:owner/repos",
413
+ "heat": "hot",
414
+ "fidelity": "semantic",
415
+ "justification": "TC:authoring (ruled F-729); MCP:repos. Row added by F-735 (doc-drift fix)."
416
+ },
417
+ {
418
+ "name": "POST /repos/:owner/:repo/forks",
419
+ "heat": "hot",
420
+ "fidelity": "semantic",
421
+ "justification": "TC:authoring (ruled F-729); MCP:repos. Row added by F-735 (doc-drift fix)."
422
+ },
423
+ {
424
+ "name": "GET /repos/:owner/:repo/commits",
425
+ "heat": "hot",
426
+ "fidelity": "semantic",
427
+ "justification": "TC:code-read (ruled F-729); MCP:repos. Row added by F-735 (doc-drift fix)."
428
+ },
429
+ {
430
+ "name": "POST /repos/:owner/:repo/git/refs",
431
+ "heat": "hot",
432
+ "fidelity": "semantic",
433
+ "justification": "TC:authoring (ruled F-729); MCP:repos (create_branch counterpart). Row added by F-735 (doc-drift fix)."
434
+ },
435
+ {
436
+ "name": "GET /repos/:owner/:repo/issues",
437
+ "heat": "hot",
438
+ "fidelity": "semantic",
439
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
440
+ },
441
+ {
442
+ "name": "POST /repos/:owner/:repo/issues",
443
+ "heat": "hot",
444
+ "fidelity": "semantic",
445
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
446
+ },
447
+ {
448
+ "name": "GET /repos/:owner/:repo/issues/:number",
449
+ "heat": "hot",
450
+ "fidelity": "semantic",
451
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
452
+ },
453
+ {
454
+ "name": "PATCH /repos/:owner/:repo/issues/:number",
455
+ "heat": "hot",
456
+ "fidelity": "semantic",
457
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
458
+ },
459
+ {
460
+ "name": "GET /repos/:owner/:repo/issues/:number/comments",
461
+ "heat": "hot",
462
+ "fidelity": "semantic",
463
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues. Row added by F-735 (doc-drift fix)."
464
+ },
465
+ {
466
+ "name": "POST /repos/:owner/:repo/issues/:number/comments",
467
+ "heat": "hot",
468
+ "fidelity": "semantic",
469
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues. Row added by F-735 (doc-drift fix)."
470
+ },
471
+ {
472
+ "name": "PATCH /repos/:owner/:repo/issues/comments/:comment_id",
473
+ "heat": "hot",
474
+ "fidelity": "semantic",
475
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
476
+ },
477
+ {
478
+ "name": "DELETE /repos/:owner/:repo/issues/comments/:comment_id",
479
+ "heat": "hot",
480
+ "fidelity": "semantic",
481
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues."
482
+ },
483
+ {
484
+ "name": "GET /repos/:owner/:repo/labels",
485
+ "heat": "hot",
486
+ "fidelity": "semantic",
487
+ "justification": "TC:issue-triage (ruled F-729): label reads are on the triage chain. Row added by F-735 (doc-drift fix)."
488
+ },
489
+ {
490
+ "name": "POST /repos/:owner/:repo/labels",
491
+ "heat": "warm",
492
+ "fidelity": "semantic",
493
+ "justification": "Warm (ruled F-729, G4, create_label counterpart): taxonomy authoring, a rare side step off TC:issue-triage; MCP: vendor label writes are opt-in. Fidelity semantic > shape target → tier-mismatch ledger. Row added by F-735 (doc-drift fix)."
494
+ },
495
+ {
496
+ "name": "GET /repos/:owner/:repo/issues/:number/labels",
497
+ "heat": "hot",
498
+ "fidelity": "semantic",
499
+ "justification": "TC:issue-triage (ruled F-729). Row added by F-735 (doc-drift fix)."
500
+ },
501
+ {
502
+ "name": "POST /repos/:owner/:repo/issues/:number/labels",
503
+ "heat": "hot",
504
+ "fidelity": "semantic",
505
+ "justification": "TC:issue-triage (ruled F-729); vendor label writes are opt-in — task chain wins (disagreement noted). Row added by F-735 (doc-drift fix)."
506
+ },
507
+ {
508
+ "name": "DELETE /repos/:owner/:repo/issues/:number/labels/:name",
509
+ "heat": "hot",
510
+ "fidelity": "semantic",
511
+ "justification": "TC:issue-triage (ruled F-729); vendor label writes are opt-in — task chain wins (disagreement noted). Row added by F-735 (doc-drift fix)."
512
+ },
513
+ {
514
+ "name": "POST /repos/:owner/:repo/issues/:number/assignees",
515
+ "heat": "hot",
516
+ "fidelity": "semantic",
517
+ "justification": "TC:issue-triage (ruled F-729); MCP:issues. Row added by F-735 (doc-drift fix)."
518
+ },
519
+ {
520
+ "name": "GET /repos/:owner/:repo/collaborators",
521
+ "heat": "hot",
522
+ "fidelity": "semantic",
523
+ "justification": "MCP:repos (ruled F-729); collaborator reads sit on triage and review chains."
524
+ },
525
+ {
526
+ "name": "GET /repos/:owner/:repo/collaborators/:username",
527
+ "heat": "hot",
528
+ "fidelity": "semantic",
529
+ "justification": "MCP:repos (ruled F-729); collaborator membership probe on review chains."
530
+ },
531
+ {
532
+ "name": "PUT /repos/:owner/:repo/collaborators/:username",
533
+ "heat": "warm",
534
+ "fidelity": "semantic",
535
+ "justification": "Warm (ruled F-729, G4, add_collaborator counterpart): admin-flavored and rare; MCP: no vendor tool. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
536
+ },
537
+ {
538
+ "name": "GET /repos/:owner/:repo/pulls",
539
+ "heat": "hot",
540
+ "fidelity": "semantic",
541
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
542
+ },
543
+ {
544
+ "name": "POST /repos/:owner/:repo/pulls",
545
+ "heat": "hot",
546
+ "fidelity": "semantic",
547
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
548
+ },
549
+ {
550
+ "name": "PATCH /repos/:owner/:repo/pulls/:number",
551
+ "heat": "hot",
552
+ "fidelity": "semantic",
553
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
554
+ },
555
+ {
556
+ "name": "GET /repos/:owner/:repo/pulls/:number/*",
557
+ "heat": "hot",
558
+ "fidelity": "semantic",
559
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests. Covers PR detail/files/reviews/comments/status reads plus the PUT merge and update-branch mutations; update-branch upgraded to a semantic merge by F-735."
560
+ },
561
+ {
562
+ "name": "GET /repos/:owner/:repo/pulls/:number/commits",
563
+ "heat": "hot",
564
+ "fidelity": "semantic",
565
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
566
+ },
567
+ {
568
+ "name": "GET /repos/:owner/:repo/pulls/:number/diff",
569
+ "heat": "hot",
570
+ "fidelity": "shape",
571
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests. Hot gap, explicitly deferred (F-729 ruling point G1): byte-accurate patches are out of the M5 window (divergence #2). Follow-up post-M5."
572
+ },
573
+ {
574
+ "name": "POST /repos/:owner/:repo/pulls/:number/comments",
575
+ "heat": "hot",
576
+ "fidelity": "semantic",
577
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
578
+ },
579
+ {
580
+ "name": "POST /repos/:owner/:repo/pulls/:number/comments/:comment_id/replies",
581
+ "heat": "hot",
582
+ "fidelity": "semantic",
583
+ "justification": "TC:author-review-merge (ruled F-729); MCP:pull_requests."
584
+ },
585
+ {
586
+ "name": "GET /repos/:owner/:repo/branches",
587
+ "heat": "hot",
588
+ "fidelity": "semantic",
589
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
590
+ },
591
+ {
592
+ "name": "GET /repos/:owner/:repo/branches/:branch",
593
+ "heat": "hot",
594
+ "fidelity": "semantic",
595
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
596
+ },
597
+ {
598
+ "name": "DELETE /repos/:owner/:repo/git/refs/heads/:branch",
599
+ "heat": "hot",
600
+ "fidelity": "semantic",
601
+ "justification": "TC:cleanup-after-merge (ruled F-729); no vendor tool — task chain wins (disagreement noted)."
602
+ },
603
+ {
604
+ "name": "GET /repos/:owner/:repo/contents/*",
605
+ "heat": "hot",
606
+ "fidelity": "semantic",
607
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
608
+ },
609
+ {
610
+ "name": "PUT /repos/:owner/:repo/contents/*",
611
+ "heat": "hot",
612
+ "fidelity": "semantic",
613
+ "justification": "TC:authoring (ruled F-729); MCP:repos."
614
+ },
615
+ {
616
+ "name": "DELETE /repos/:owner/:repo/contents/*",
617
+ "heat": "hot",
618
+ "fidelity": "semantic",
619
+ "justification": "TC:authoring (ruled F-729); MCP:repos."
620
+ },
621
+ {
622
+ "name": "GET /repos/:owner/:repo/commits/:ref",
623
+ "heat": "hot",
624
+ "fidelity": "semantic",
625
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
626
+ },
627
+ {
628
+ "name": "GET /repos/:owner/:repo/compare/:basehead",
629
+ "heat": "warm",
630
+ "fidelity": "shape",
631
+ "justification": "Warm (ruled F-729): occasional cross-branch inspection off the TC:code-read chain. Shape is exactly at target."
632
+ },
633
+ {
634
+ "name": "POST /repos/:owner/:repo/statuses/:sha",
635
+ "heat": "hot",
636
+ "fidelity": "semantic",
637
+ "justification": "SB (ruled F-729): mints CI state so the merge-gate chain is exercisable; vendor actions toolset is opt-in — task chain wins (disagreement noted)."
638
+ },
639
+ {
640
+ "name": "GET /repos/:owner/:repo/commits/:ref/status",
641
+ "heat": "hot",
642
+ "fidelity": "semantic",
643
+ "justification": "TC:merge-gate (ruled F-729)."
644
+ },
645
+ {
646
+ "name": "POST /repos/:owner/:repo/check-runs",
647
+ "heat": "hot",
648
+ "fidelity": "semantic",
649
+ "justification": "SB (ruled F-729): mints check state so the merge-gate chain is exercisable."
650
+ },
651
+ {
652
+ "name": "GET /repos/:owner/:repo/commits/:ref/check-runs",
653
+ "heat": "hot",
654
+ "fidelity": "semantic",
655
+ "justification": "TC:merge-gate (ruled F-729)."
656
+ },
657
+ {
658
+ "name": "GET /repos/:owner/:repo/milestones",
659
+ "heat": "warm",
660
+ "fidelity": "semantic",
661
+ "justification": "Warm (ruled F-729, G2): adjacent to TC:issue-triage (triage-filter reads), warm over cold; MCP: no vendor milestone tools. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
662
+ },
663
+ {
664
+ "name": "POST /repos/:owner/:repo/milestones",
665
+ "heat": "warm",
666
+ "fidelity": "semantic",
667
+ "justification": "Warm (ruled F-729, G2): weak chain adjacent to TC:issue-triage; MCP: no vendor milestone tools. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
668
+ },
669
+ {
670
+ "name": "PATCH /repos/:owner/:repo/milestones/:number",
671
+ "heat": "warm",
672
+ "fidelity": "semantic",
673
+ "justification": "Warm (ruled F-729, G2): weak chain adjacent to TC:issue-triage; MCP: no vendor milestone tools. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
674
+ },
675
+ {
676
+ "name": "DELETE /repos/:owner/:repo/milestones/:number",
677
+ "heat": "warm",
678
+ "fidelity": "semantic",
679
+ "justification": "Warm (ruled F-729, G2): weak chain adjacent to TC:issue-triage; MCP: no vendor milestone tools. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
680
+ },
681
+ {
682
+ "name": "GET /repos/:owner/:repo/tags",
683
+ "heat": "hot",
684
+ "fidelity": "semantic",
685
+ "justification": "TC:code-read (ruled F-729); MCP:repos."
686
+ },
687
+ {
688
+ "name": "GET /repos/:owner/:repo/releases",
689
+ "heat": "hot",
690
+ "fidelity": "semantic",
691
+ "justification": "TC:release-notes (ruled F-729); MCP:repos."
692
+ },
693
+ {
694
+ "name": "GET /repos/:owner/:repo/releases/latest",
695
+ "heat": "hot",
696
+ "fidelity": "semantic",
697
+ "justification": "TC:release-notes (ruled F-729); MCP:repos."
698
+ },
699
+ {
700
+ "name": "GET /repos/:owner/:repo/releases/tags/:tag",
701
+ "heat": "hot",
702
+ "fidelity": "semantic",
703
+ "justification": "TC:release-notes (ruled F-729, G3); MCP:repos (default-on). Hot gap filled by F-735 (get_release_by_tag counterpart)."
704
+ },
705
+ {
706
+ "name": "POST /repos/:owner/:repo/releases",
707
+ "heat": "warm",
708
+ "fidelity": "semantic",
709
+ "justification": "Warm (ruled F-729, G4, create_release counterpart): rarer chain adjacent to TC:release-notes; MCP: no vendor write tool. Fidelity semantic > shape target → tier-mismatch ledger (additive-only, no demotion this milestone)."
710
+ },
711
+ {
712
+ "name": "GET /user",
713
+ "heat": "hot",
714
+ "fidelity": "semantic",
715
+ "justification": "TC:bootstrap (ruled F-729); MCP:context."
716
+ },
717
+ {
718
+ "name": "GET /search/*",
719
+ "heat": "hot",
720
+ "fidelity": "semantic",
721
+ "justification": "TC:code-read + TC:issue-triage (ruled F-729); MCP:repos,issues,users. Covers /search/repositories, /search/code, /search/issues, /search/users and, since F-735, /search/commits."
722
+ },
723
+ {
724
+ "name": "GET /repos/:owner/:repo/actions/*",
725
+ "heat": "cold",
726
+ "fidelity": "unsupported",
727
+ "justification": "PS (ruled F-729): Actions runs/jobs/logs are cold now — top post-M5 promotion candidate (CI-debugging chain is real; vendor ships an opt-in toolset). Named cold row: agents probe it, so the loud 501 is documented and test-backed."
728
+ },
729
+ {
730
+ "name": "GET /repos/:owner/:repo/git/trees/:sha",
731
+ "heat": "cold",
732
+ "fidelity": "unsupported",
733
+ "justification": "PS (ruled F-729): git plumbing (trees/blobs) stays cold; agents probe occasionally. Named cold row: loud 501 documented and test-backed."
734
+ },
735
+ {
736
+ "name": "GET /orgs/:org/teams",
737
+ "heat": "cold",
738
+ "fidelity": "unsupported",
739
+ "justification": "PS (ruled F-729, G5): the twin models a single-actor repo sandbox, so teams/orgs stay cold despite the vendor's default-on get_teams — disagreement recorded as input to the next ruling. Named cold row: loud 501 documented and test-backed."
740
+ },
741
+ {
742
+ "name": "GET /repos/:owner/:repo/issues/:number/sub_issues",
743
+ "heat": "cold",
744
+ "fidelity": "unsupported",
745
+ "justification": "PS (ruled F-729, G5): sub-issues stay cold despite the vendor's default-on sub_issue_write — disagreement recorded. Named cold row: loud 501 documented and test-backed."
746
+ },
747
+ {
748
+ "name": "GET /orgs/:org/issue-types",
749
+ "heat": "cold",
750
+ "fidelity": "unsupported",
751
+ "justification": "PS (ruled F-729, G5): issue types/fields stay cold despite the vendor's default-on list_issue_types — disagreement recorded. Named cold row: loud 501 documented and test-backed."
752
+ },
753
+ {
754
+ "name": "POST /mcp/call",
755
+ "heat": "unclassified",
756
+ "fidelity": "semantic",
757
+ "justification": "Engine introspection (pome transport, not upstream GitHub surface) — outside the rubric's inventory scope per ENDPOINT-TIERS.md. Row retained until the post-F-440 surface-count reconcile (additive-only, same rationale as the twin-slack denominator deferral)."
758
+ },
759
+ {
760
+ "name": "POST /mcp/tools/:name",
761
+ "heat": "unclassified",
762
+ "fidelity": "semantic",
763
+ "justification": "Engine introspection (pome transport, not upstream GitHub surface) — outside the rubric's inventory scope per ENDPOINT-TIERS.md. Row retained until the post-F-440 surface-count reconcile (additive-only)."
764
+ },
765
+ {
766
+ "name": "Any unsupported path",
767
+ "heat": "cold",
768
+ "fidelity": "unsupported",
769
+ "justification": "PS (ruled F-729): the loud-501 catch-all is the documented cold tail; unlisted surfaces (notifications, gists, discussions, projects, security families, stargazers) are implicitly cold and gain named rows only if traces show probes."
770
+ }
771
+ ],
772
+ "doc_drift": []
773
+ }