@ponythewhite/base-context 1.0.0 → 1.0.2

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 (285) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/NOTICE +0 -5
  3. package/README.md +44 -27
  4. package/dist/NOTICE +0 -5
  5. package/dist/base-context-runtime/pyproject.toml +1 -1
  6. package/dist/base-context-runtime/src/rlm/__init__.py +7 -5
  7. package/dist/base-context-runtime/test/test_subagent_registry.py +28 -1
  8. package/dist/base-context-runtime/uv.lock +1 -1
  9. package/dist/build-info.json +1 -1
  10. package/dist/bundle/amazon-bedrock.js +21 -0
  11. package/dist/bundle/{anthropic-YY4S534V.js → anthropic-UV5GZDGU.js} +5 -5
  12. package/dist/bundle/{azure-openai-responses-JRP6MIM3.js → azure-openai-responses-WSNPXLYC.js} +6 -6
  13. package/dist/bundle/{bundled-modules-P5HARVZA.js → bundled-modules-PWOGKUQQ.js} +71 -16
  14. package/dist/bundle/chunk-27QCJ2AZ.js +2578 -0
  15. package/dist/bundle/{chunk-BYVP7LWV.js → chunk-44PEHPOG.js} +1916 -4689
  16. package/dist/bundle/{chunk-MZHTNNVA.js → chunk-4GXPNXOJ.js} +8 -0
  17. package/dist/bundle/{chunk-SC5KG5R4.js → chunk-DGNX7HQ3.js} +1 -7
  18. package/dist/bundle/{chunk-A53O363M.js → chunk-GRJFXLBM.js} +0 -1
  19. package/dist/bundle/chunk-HKINIBP4.js +29 -0
  20. package/dist/bundle/{chunk-73DCPU3D.js → chunk-IADCPVEI.js} +1019 -3427
  21. package/dist/bundle/{chunk-UDSW6FNG.js → chunk-KTNETTHI.js} +1 -1
  22. package/dist/bundle/{chunk-U7AUVG3B.js → chunk-VSIYFWYI.js} +24 -6
  23. package/dist/bundle/{chunk-IW77OXFS.js → chunk-W46VZFI6.js} +0 -2099
  24. package/dist/bundle/{cli-main-O4X7GFGY.js → cli-main-4DS7Y3PI.js} +8 -6
  25. package/dist/bundle/cli.js +2 -2
  26. package/dist/bundle/{google-AUTVGDGZ.js → google-T32FMD4G.js} +6 -6
  27. package/dist/bundle/{google-vertex-Q75D7RKS.js → google-vertex-56KP6I3B.js} +3 -3
  28. package/dist/bundle/{main-XKOW2BV6.js → main-SV7JLVEB.js} +7 -5
  29. package/dist/bundle/{mistral-7ESB7QUD.js → mistral-WGBMYIVU.js} +5 -5
  30. package/dist/bundle/{openai-codex-responses-LV3QRPN4.js → openai-codex-responses-PIV2RQ3G.js} +6 -6
  31. package/dist/bundle/{openai-completions-OJECLPXJ.js → openai-completions-64C3JPR4.js} +11 -22
  32. package/dist/bundle/{openai-responses-FN6HZMBC.js → openai-responses-UI7RSTDV.js} +6 -6
  33. package/dist/cli/args.d.ts.map +1 -1
  34. package/dist/cli/args.js +108 -59
  35. package/dist/cli/args.js.map +1 -1
  36. package/dist/cli/daemon-ps.d.ts +4 -3
  37. package/dist/cli/daemon-ps.d.ts.map +1 -1
  38. package/dist/cli/daemon-ps.js +6 -1
  39. package/dist/cli/daemon-ps.js.map +1 -1
  40. package/dist/cli/product-doctor.d.ts +0 -1
  41. package/dist/cli/product-doctor.d.ts.map +1 -1
  42. package/dist/cli/product-doctor.js +6 -3
  43. package/dist/cli/product-doctor.js.map +1 -1
  44. package/dist/config.d.ts +0 -3
  45. package/dist/config.d.ts.map +1 -1
  46. package/dist/config.js +0 -8
  47. package/dist/config.js.map +1 -1
  48. package/dist/core/agent-session-config.d.ts +1 -2
  49. package/dist/core/agent-session-config.d.ts.map +1 -1
  50. package/dist/core/agent-session-config.js +0 -3
  51. package/dist/core/agent-session-config.js.map +1 -1
  52. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  53. package/dist/core/agent-session-runtime.js +5 -4
  54. package/dist/core/agent-session-runtime.js.map +1 -1
  55. package/dist/core/agent-session-services.d.ts +5 -3
  56. package/dist/core/agent-session-services.d.ts.map +1 -1
  57. package/dist/core/agent-session-services.js +2 -27
  58. package/dist/core/agent-session-services.js.map +1 -1
  59. package/dist/core/agent-session.d.ts +10 -6
  60. package/dist/core/agent-session.d.ts.map +1 -1
  61. package/dist/core/agent-session.js +107 -107
  62. package/dist/core/agent-session.js.map +1 -1
  63. package/dist/core/auth-storage.d.ts +8 -35
  64. package/dist/core/auth-storage.d.ts.map +1 -1
  65. package/dist/core/auth-storage.js +33 -243
  66. package/dist/core/auth-storage.js.map +1 -1
  67. package/dist/core/cron-jobs.d.ts.map +1 -1
  68. package/dist/core/cron-jobs.js +7 -1
  69. package/dist/core/cron-jobs.js.map +1 -1
  70. package/dist/core/inference-coordinator.d.ts +6 -1
  71. package/dist/core/inference-coordinator.d.ts.map +1 -1
  72. package/dist/core/inference-coordinator.js +18 -2
  73. package/dist/core/inference-coordinator.js.map +1 -1
  74. package/dist/core/kernel/bootstrap.d.ts.map +1 -1
  75. package/dist/core/kernel/bootstrap.js +2 -2
  76. package/dist/core/kernel/bootstrap.js.map +1 -1
  77. package/dist/core/kernel/repl-manager.d.ts +2 -0
  78. package/dist/core/kernel/repl-manager.d.ts.map +1 -1
  79. package/dist/core/kernel/repl-manager.js +44 -1
  80. package/dist/core/kernel/repl-manager.js.map +1 -1
  81. package/dist/core/logging.d.ts +4 -3
  82. package/dist/core/logging.d.ts.map +1 -1
  83. package/dist/core/logging.js +6 -6
  84. package/dist/core/logging.js.map +1 -1
  85. package/dist/core/mcp/mcp-manager.d.ts.map +1 -1
  86. package/dist/core/mcp/mcp-manager.js +3 -3
  87. package/dist/core/mcp/mcp-manager.js.map +1 -1
  88. package/dist/core/model-registry.d.ts +1 -16
  89. package/dist/core/model-registry.d.ts.map +1 -1
  90. package/dist/core/model-registry.js +88 -196
  91. package/dist/core/model-registry.js.map +1 -1
  92. package/dist/core/model-resolver.d.ts +2 -19
  93. package/dist/core/model-resolver.d.ts.map +1 -1
  94. package/dist/core/model-resolver.js +36 -266
  95. package/dist/core/model-resolver.js.map +1 -1
  96. package/dist/core/provider-contracts.d.ts +5 -6
  97. package/dist/core/provider-contracts.d.ts.map +1 -1
  98. package/dist/core/provider-contracts.js +25 -36
  99. package/dist/core/provider-contracts.js.map +1 -1
  100. package/dist/core/provider-display-names.d.ts.map +1 -1
  101. package/dist/core/provider-display-names.js +0 -2
  102. package/dist/core/provider-display-names.js.map +1 -1
  103. package/dist/core/rlm-max-subagents.d.ts +32 -0
  104. package/dist/core/rlm-max-subagents.d.ts.map +1 -0
  105. package/dist/core/rlm-max-subagents.js +50 -0
  106. package/dist/core/rlm-max-subagents.js.map +1 -0
  107. package/dist/core/rlm-runtime.d.ts +3 -3
  108. package/dist/core/rlm-runtime.d.ts.map +1 -1
  109. package/dist/core/rlm-runtime.js.map +1 -1
  110. package/dist/core/sdk.d.ts +4 -3
  111. package/dist/core/sdk.d.ts.map +1 -1
  112. package/dist/core/sdk.js +27 -14
  113. package/dist/core/sdk.js.map +1 -1
  114. package/dist/core/settings-manager.d.ts +3 -16
  115. package/dist/core/settings-manager.d.ts.map +1 -1
  116. package/dist/core/settings-manager.js +12 -44
  117. package/dist/core/settings-manager.js.map +1 -1
  118. package/dist/core/slash-commands.d.ts.map +1 -1
  119. package/dist/core/slash-commands.js +6 -6
  120. package/dist/core/slash-commands.js.map +1 -1
  121. package/dist/index.d.ts +1 -1
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js.map +1 -1
  124. package/dist/installer.mjs +2 -3
  125. package/dist/main.d.ts.map +1 -1
  126. package/dist/main.js +39 -34
  127. package/dist/main.js.map +1 -1
  128. package/dist/modes/acp/acp-mode.d.ts.map +1 -1
  129. package/dist/modes/acp/acp-mode.js +1 -1
  130. package/dist/modes/acp/acp-mode.js.map +1 -1
  131. package/dist/modes/agent-connection/daemon-agent-connection.d.ts +6 -2
  132. package/dist/modes/agent-connection/daemon-agent-connection.d.ts.map +1 -1
  133. package/dist/modes/agent-connection/daemon-agent-connection.js +13 -2
  134. package/dist/modes/agent-connection/daemon-agent-connection.js.map +1 -1
  135. package/dist/modes/agent-connection/in-process-agent-connection.d.ts +2 -0
  136. package/dist/modes/agent-connection/in-process-agent-connection.d.ts.map +1 -1
  137. package/dist/modes/agent-connection/in-process-agent-connection.js +6 -0
  138. package/dist/modes/agent-connection/in-process-agent-connection.js.map +1 -1
  139. package/dist/modes/agent-connection/types.d.ts +3 -0
  140. package/dist/modes/agent-connection/types.d.ts.map +1 -1
  141. package/dist/modes/agent-connection/types.js.map +1 -1
  142. package/dist/modes/agents-view/agents-view-mode.d.ts.map +1 -1
  143. package/dist/modes/agents-view/agents-view-mode.js +2 -19
  144. package/dist/modes/agents-view/agents-view-mode.js.map +1 -1
  145. package/dist/modes/daemon/daemon-mode.d.ts +5 -0
  146. package/dist/modes/daemon/daemon-mode.d.ts.map +1 -1
  147. package/dist/modes/daemon/daemon-mode.js +107 -12
  148. package/dist/modes/daemon/daemon-mode.js.map +1 -1
  149. package/dist/modes/daemon/daemon-protocol.d.ts +194 -165
  150. package/dist/modes/daemon/daemon-protocol.d.ts.map +1 -1
  151. package/dist/modes/daemon/daemon-protocol.js +16 -11
  152. package/dist/modes/daemon/daemon-protocol.js.map +1 -1
  153. package/dist/modes/daemon/daemon-rlm-capacity-coordinator.d.ts +19 -0
  154. package/dist/modes/daemon/daemon-rlm-capacity-coordinator.d.ts.map +1 -0
  155. package/dist/modes/daemon/daemon-rlm-capacity-coordinator.js +74 -0
  156. package/dist/modes/daemon/daemon-rlm-capacity-coordinator.js.map +1 -0
  157. package/dist/modes/daemon/daemon-rlm-capacity.d.ts +19 -0
  158. package/dist/modes/daemon/daemon-rlm-capacity.d.ts.map +1 -0
  159. package/dist/modes/daemon/daemon-rlm-capacity.js +85 -0
  160. package/dist/modes/daemon/daemon-rlm-capacity.js.map +1 -0
  161. package/dist/modes/daemon/daemon-session-summarizer.d.ts +2 -3
  162. package/dist/modes/daemon/daemon-session-summarizer.d.ts.map +1 -1
  163. package/dist/modes/daemon/daemon-session-summarizer.js +32 -23
  164. package/dist/modes/daemon/daemon-session-summarizer.js.map +1 -1
  165. package/dist/modes/daemon/daemon-state-root.d.ts +15 -0
  166. package/dist/modes/daemon/daemon-state-root.d.ts.map +1 -0
  167. package/dist/modes/daemon/daemon-state-root.js +40 -0
  168. package/dist/modes/daemon/daemon-state-root.js.map +1 -0
  169. package/dist/modes/daemon/daemon-supervisor-ownership.d.ts +2 -0
  170. package/dist/modes/daemon/daemon-supervisor-ownership.d.ts.map +1 -1
  171. package/dist/modes/daemon/daemon-supervisor-ownership.js +27 -0
  172. package/dist/modes/daemon/daemon-supervisor-ownership.js.map +1 -1
  173. package/dist/modes/daemon/daemon-supervisor.d.ts +10 -1
  174. package/dist/modes/daemon/daemon-supervisor.d.ts.map +1 -1
  175. package/dist/modes/daemon/daemon-supervisor.js +213 -20
  176. package/dist/modes/daemon/daemon-supervisor.js.map +1 -1
  177. package/dist/modes/daemon/daemon-worker-protocol.d.ts +28 -1
  178. package/dist/modes/daemon/daemon-worker-protocol.d.ts.map +1 -1
  179. package/dist/modes/daemon/daemon-worker-protocol.js +16 -2
  180. package/dist/modes/daemon/daemon-worker-protocol.js.map +1 -1
  181. package/dist/modes/daemon/saved-session-catalog.d.ts.map +1 -1
  182. package/dist/modes/daemon/saved-session-catalog.js +2 -0
  183. package/dist/modes/daemon/saved-session-catalog.js.map +1 -1
  184. package/dist/modes/interactive/auth-flows.d.ts +0 -6
  185. package/dist/modes/interactive/auth-flows.d.ts.map +1 -1
  186. package/dist/modes/interactive/auth-flows.js +6 -126
  187. package/dist/modes/interactive/auth-flows.js.map +1 -1
  188. package/dist/modes/interactive/components/configuration-menu.d.ts +3 -0
  189. package/dist/modes/interactive/components/configuration-menu.d.ts.map +1 -1
  190. package/dist/modes/interactive/components/configuration-menu.js +13 -2
  191. package/dist/modes/interactive/components/configuration-menu.js.map +1 -1
  192. package/dist/modes/interactive/components/footer.d.ts +1 -1
  193. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  194. package/dist/modes/interactive/components/footer.js +2 -2
  195. package/dist/modes/interactive/components/footer.js.map +1 -1
  196. package/dist/modes/interactive/components/index.d.ts +0 -1
  197. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  198. package/dist/modes/interactive/components/index.js +0 -1
  199. package/dist/modes/interactive/components/index.js.map +1 -1
  200. package/dist/modes/interactive/components/login-dialog.d.ts +0 -1
  201. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  202. package/dist/modes/interactive/components/login-dialog.js +3 -40
  203. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  204. package/dist/modes/interactive/components/model-selector.d.ts +2 -0
  205. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  206. package/dist/modes/interactive/components/model-selector.js +13 -2
  207. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  208. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  209. package/dist/modes/interactive/components/oauth-selector.js +2 -11
  210. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  211. package/dist/modes/interactive/feature-hints.d.ts.map +1 -1
  212. package/dist/modes/interactive/feature-hints.js +0 -4
  213. package/dist/modes/interactive/feature-hints.js.map +1 -1
  214. package/dist/modes/interactive/interactive-mode.d.ts +3 -12
  215. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  216. package/dist/modes/interactive/interactive-mode.js +81 -507
  217. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  218. package/dist/modes/interactive/onboarding.d.ts +0 -3
  219. package/dist/modes/interactive/onboarding.d.ts.map +1 -1
  220. package/dist/modes/interactive/onboarding.js +0 -17
  221. package/dist/modes/interactive/onboarding.js.map +1 -1
  222. package/dist/modes/rpc/rpc-client.d.ts +4 -1
  223. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  224. package/dist/modes/rpc/rpc-client.js +82 -42
  225. package/dist/modes/rpc/rpc-client.js.map +1 -1
  226. package/dist/node/amazon-bedrock.d.ts +2 -0
  227. package/dist/node/amazon-bedrock.d.ts.map +1 -0
  228. package/dist/node/amazon-bedrock.js +6 -0
  229. package/dist/node/amazon-bedrock.js.map +1 -0
  230. package/dist/product-identity.d.ts +0 -1
  231. package/dist/product-identity.d.ts.map +1 -1
  232. package/dist/product-identity.js +0 -1
  233. package/dist/product-identity.js.map +1 -1
  234. package/docs/development.md +1 -1
  235. package/docs/fork-philosophy.md +4 -8
  236. package/docs/installation.md +83 -62
  237. package/docs/providers.md +23 -25
  238. package/docs/quickstart.md +19 -10
  239. package/docs/rlm-runtime.md +13 -5
  240. package/docs/rpc.md +4 -4
  241. package/docs/sdk.md +20 -11
  242. package/docs/sessions.md +0 -1
  243. package/docs/settings.md +9 -42
  244. package/docs/skills.md +0 -1
  245. package/docs/upstream-0.9.5.md +171 -0
  246. package/docs/usage.md +14 -10
  247. package/package.json +4 -4
  248. package/dist/core/agent-traces.d.ts +0 -149
  249. package/dist/core/agent-traces.d.ts.map +0 -1
  250. package/dist/core/agent-traces.js +0 -904
  251. package/dist/core/agent-traces.js.map +0 -1
  252. package/dist/core/prime-inference-auth.d.ts +0 -70
  253. package/dist/core/prime-inference-auth.d.ts.map +0 -1
  254. package/dist/core/prime-inference-auth.js +0 -352
  255. package/dist/core/prime-inference-auth.js.map +0 -1
  256. package/dist/core/prime-inference-model-selection.d.ts +0 -16
  257. package/dist/core/prime-inference-model-selection.d.ts.map +0 -1
  258. package/dist/core/prime-inference-model-selection.js +0 -16
  259. package/dist/core/prime-inference-model-selection.js.map +0 -1
  260. package/dist/core/prime-inference-models.d.ts +0 -6
  261. package/dist/core/prime-inference-models.d.ts.map +0 -1
  262. package/dist/core/prime-inference-models.js +0 -62
  263. package/dist/core/prime-inference-models.js.map +0 -1
  264. package/dist/core/telemetry.d.ts +0 -95
  265. package/dist/core/telemetry.d.ts.map +0 -1
  266. package/dist/core/telemetry.js +0 -637
  267. package/dist/core/telemetry.js.map +0 -1
  268. package/dist/modes/interactive/components/prime-onboarding-splash.d.ts +0 -39
  269. package/dist/modes/interactive/components/prime-onboarding-splash.d.ts.map +0 -1
  270. package/dist/modes/interactive/components/prime-onboarding-splash.js +0 -286
  271. package/dist/modes/interactive/components/prime-onboarding-splash.js.map +0 -1
  272. package/dist/modes/interactive/components/prime-team-selector.d.ts +0 -30
  273. package/dist/modes/interactive/components/prime-team-selector.d.ts.map +0 -1
  274. package/dist/modes/interactive/components/prime-team-selector.js +0 -166
  275. package/dist/modes/interactive/components/prime-team-selector.js.map +0 -1
  276. package/dist/skills/prime-intellect/SKILL.md +0 -87
  277. package/dist/skills/prime-intellect/references/compute.md +0 -45
  278. package/dist/skills/prime-intellect/references/environments.md +0 -73
  279. package/dist/skills/prime-intellect/references/inference.md +0 -47
  280. package/dist/skills/prime-intellect/references/sandboxes.md +0 -75
  281. package/skills/prime-intellect/SKILL.md +0 -87
  282. package/skills/prime-intellect/references/compute.md +0 -45
  283. package/skills/prime-intellect/references/environments.md +0 -73
  284. package/skills/prime-intellect/references/inference.md +0 -47
  285. package/skills/prime-intellect/references/sandboxes.md +0 -75
package/docs/providers.md CHANGED
@@ -1,35 +1,39 @@
1
1
  # Providers
2
2
 
3
- Base Context resolves providers through their actual API and credential routes. API keys can come from environment variables or the owned auth file. A model catalog entry does not establish subscription entitlement, OAuth-client permission or native context capabilities.
3
+ Choose a supported **provider**, authenticate, then select a **model**. Base Context does not choose a provider or model automatically. Accounts, usage limits, and billing belong to the provider you select.
4
4
 
5
- ## Table of Contents
5
+ ## First-time setup
6
6
 
7
- - [Subscriptions](#subscriptions)
8
- - [API Keys](#api-keys)
9
- - [Auth File](#auth-file)
10
- - [Cloud Providers](#cloud-providers)
11
- - [Custom Providers](#custom-providers)
12
- - [Resolution Order](#resolution-order)
7
+ 1. Start `base-context`.
8
+ 2. Open `/login` and select a provider. For a supported subscription, follow its browser authorization link. For API-key authentication, enter that provider's key. Bearer and cloud credentials use the provider-specific setup below.
9
+ 3. Open `/model` and choose a supported model. The selected provider/model is saved for later sessions.
13
10
 
14
- ## Subscriptions
11
+ For command-line selection, list the supported models and name both parts:
15
12
 
16
- Use only the provider/auth routes authorized for your setup. `/login` exposes the available configured routes; a fork does not inherit permission to use upstream OAuth clients. Where writable credential storage is supported, it belongs under `~/.base-context/auth.json` (or `BASE_CONTEXT_HOME`), not Prime's root. Login, refresh and logout behavior follows the selected route's permissions.
13
+ ```bash
14
+ base-context model list
15
+ base-context --provider openai --model gpt-5.4
16
+ # Equivalent:
17
+ base-context --model openai/gpt-5.4
18
+ ```
17
19
 
18
- Do not copy a Prime credential store or enable an API-key billing fallback to bypass a subscription refusal. The offline migration command excludes credentials.
20
+ An API key alone does not select a model. A missing or unavailable saved model is not silently replaced with another provider. For models outside the built-in list, register the provider/model in [models.json](models.md) first.
19
21
 
20
- ### OpenAI Codex
22
+ ## Authentication availability
21
23
 
22
- An existing authorized OpenAI Codex subscription can be supplied to an individual SDK instance through an explicitly injected read-only backend. See [SDK authentication](sdk.md#api-keys-and-oauth).
24
+ Use `/login` for supported subscription OAuth or API-key authentication. The built-in subscription routes are **OpenAI Codex (ChatGPT)**, **Anthropic (Claude Pro/Max)**, and **GitHub Copilot**. Open the provider's browser link and complete its authorization steps. Access and usage limits depend on your provider account.
23
25
 
24
- That mode uses the official `openai-codex` / `openai-codex-responses` route. It refuses missing, stale or expired credentials and disables login, refresh, credential writes and API-key fallback. Keep the backend outside tools. This is an instance-scoped permission, not a global OAuth-client approval or an OpenAI endorsement of this fork.
26
+ Credentials are stored in `~/.base-context/auth.json` (`BASE_CONTEXT_HOME` can select another state root). Normal OAuth storage persists credentials and refreshes them when needed. Provider-specific bearer and cloud credentials are described below. Prime integrations are disabled; this does not disable other registered OAuth providers.
25
27
 
26
- ### Claude Pro/Max
28
+ ### ChatGPT / Codex subscription
27
29
 
28
- Use this route only where the exact client and account are authorized. This guide does not establish Claude subscription access, included usage or billing terms for the fork. An Anthropic API key is a separate credential route.
30
+ 1. Open `/login` and choose **OpenAI Codex**.
31
+ 2. Open the displayed browser link and sign in with the ChatGPT account that has Codex access. Complete the callback or paste the requested authorization response when prompted.
32
+ 3. Open `/model` and explicitly choose an `openai-codex` model available to your account.
29
33
 
30
- ### GitHub Copilot
34
+ An OpenAI API key belongs to the separate `openai` provider; it is not required for the Codex subscription route. Anthropic API-key authentication is likewise separate from Claude subscription login. Logging in does not automatically select or replace a model.
31
35
 
32
- If the authorized Copilot login route is available, use the correct github.com or GitHub Enterprise domain. Model availability also depends on the account and enabled models. This guide does not grant the fork access to a Copilot subscription.
36
+ The SDK also offers an optional, explicitly injected read-only Codex backend for existing credentials. Only that mode disables login, refresh, credential writes, and API-key fallback. It does not restrict normal interactive subscription login. See [SDK authentication](sdk.md#api-keys-and-oauth).
33
37
 
34
38
  ## API Keys
35
39
 
@@ -47,7 +51,6 @@ base-context
47
51
  | Anthropic | `ANTHROPIC_API_KEY` | `anthropic` |
48
52
  | Azure OpenAI Responses | `AZURE_OPENAI_API_KEY` | `azure-openai-responses` |
49
53
  | OpenAI | `OPENAI_API_KEY` | `openai` |
50
- | Prime Inference | `PRIME_API_KEY` | `prime-inference` |
51
54
  | DeepSeek | `DEEPSEEK_API_KEY` | `deepseek` |
52
55
  | Google Gemini | `GEMINI_API_KEY` | `google` |
53
56
  | Mistral | `MISTRAL_API_KEY` | `mistral` |
@@ -81,7 +84,6 @@ Store credentials in the owned `~/.base-context/auth.json` (`BASE_CONTEXT_HOME`
81
84
  {
82
85
  "anthropic": { "type": "api_key", "key": "sk-ant-..." },
83
86
  "openai": { "type": "api_key", "key": "sk-..." },
84
- "prime-inference": { "type": "api_key", "key": "..." },
85
87
  "deepseek": { "type": "api_key", "key": "sk-..." },
86
88
  "google": { "type": "api_key", "key": "..." },
87
89
  "opencode": { "type": "api_key", "key": "..." },
@@ -115,10 +117,6 @@ The `key` field supports three formats:
115
117
 
116
118
  Writable OAuth storage is used only when the configured route permits it. The read-only existing-Codex subscription mode does not write this file or refresh credentials. Shell-backed API-key entries execute commands; use only trusted local configuration, never unreviewed imported instructions.
117
119
 
118
- ### Prime Inference
119
-
120
- Prime Inference uses the OpenAI-compatible endpoint at `https://api.pinference.ai/api/v1`. Set `PRIME_API_KEY` or store an API key for `prime-inference` via `/login`.
121
-
122
120
  ## Cloud Providers
123
121
 
124
122
  ### Azure OpenAI
@@ -159,7 +157,7 @@ Also supports ECS task roles (`AWS_CONTAINER_CREDENTIALS_*`) and IRSA (`AWS_WEB_
159
157
  base-context --provider amazon-bedrock --model us.anthropic.claude-sonnet-4-20250514-v1:0
160
158
  ```
161
159
 
162
- Prompt caching is enabled automatically for Claude models whose ID contains a recognizable model name (base models and system-defined inference profiles). For application inference profiles (whose ARNs don't contain the model name), set `AWS_BEDROCK_FORCE_CACHE=1` to enable cache points:
160
+ Register custom application inference profile IDs in [models.json](models.md) before selecting them. Prompt caching is enabled automatically for Claude models whose ID contains a recognizable model name (base models and system-defined inference profiles). For application inference profiles (whose ARNs don't contain the model name), set `AWS_BEDROCK_FORCE_CACHE=1` to enable cache points:
163
161
 
164
162
  ```bash
165
163
  export AWS_BEDROCK_FORCE_CACHE=1
@@ -2,17 +2,24 @@
2
2
 
3
3
  This page gets you to a useful first Base Context session. Base Context is a fork of Prime Agent, which descends from pi-mono; it uses its own command, packages and state.
4
4
 
5
- ## Install
5
+ ## Install and launch
6
6
 
7
- Use Node.js `^22.12.0 || >=23.3.0` and a compatible npm version:
7
+ On macOS or Linux, use the interactive **Synerise base-context installer**:
8
+
9
+ ```bash
10
+ curl -fsSL https://github.com/BaseModelAI/base-context/releases/latest/download/install.sh | bash
11
+ ```
12
+
13
+ It checks Node.js/npm and offers to install them if needed, installs `uv` when needed, and prepares the agent's Python environment before activation. **Do not install Python or `uv` manually before this command. Do not also run `npm install -g` unless you intentionally want a separate installation.**
14
+
15
+ Follow the installer's final PATH/activation instruction, then launch:
8
16
 
9
17
  ```bash
10
- npm install -g @ponythewhite/base-context
11
18
  cd /path/to/project
12
19
  base-context
13
20
  ```
14
21
 
15
- Install [uv](https://docs.astral.sh/uv/getting-started/installation/) for the managed Python workspace. First use prepares Python 3.11 and the bundled `base-context-runtime`; initial setup can download dependencies.
22
+ The next step is provider login below. The installer prepares the application, not your model-provider account. If you prefer npm or need Windows instructions, use the clearly separate [npm installation route](installation.md#npm-alternative).
16
23
 
17
24
  ### Build from source
18
25
 
@@ -35,7 +42,9 @@ For a source build, replace `base-context` in the examples below with that Node
35
42
 
36
43
  ## Authenticate
37
44
 
38
- Base Context uses `~/.base-context/auth.json` under its own product root. Do not copy Prime credential stores or assume that upstream OAuth clients are authorized for the fork. Choose an explicitly supported route in the [provider guide](providers.md).
45
+ On first launch, choose a provider, authenticate if needed, then choose one of that provider's models. Existing credentials do not choose a provider or model for you. Cancelling leaves setup incomplete.
46
+
47
+ Base Context stores credentials entered through `/login` in `~/.base-context/auth.json` and saves your explicit provider/model selection in settings. Later launches reuse that choice. If its credentials need renewal, authenticate the same provider; Base Context does not substitute another model. Environment credentials stay in the environment. See the [provider guide](providers.md) for supported routes.
39
48
 
40
49
  ### Subscription or Stored API Credentials
41
50
 
@@ -45,7 +54,7 @@ Start Base Context and run:
45
54
  /login
46
55
  ```
47
56
 
48
- Use only the provider/auth routes supported for your setup. A model catalog entry does not establish subscription entitlement or authentication. See [SDK authentication](sdk.md) for explicit subscription configuration.
57
+ After login, choose a model in `/model`. Base Context does not pick a provider or model automatically. A saved selection is reused on later launches. See [SDK authentication](sdk.md) for programmatic setup.
49
58
 
50
59
  ### API Key
51
60
 
@@ -56,17 +65,17 @@ export ANTHROPIC_API_KEY=sk-ant-...
56
65
  base-context
57
66
  ```
58
67
 
59
- You can also select a supported API-key provider in `/login` to store its credential under `~/.base-context/auth.json`. `BASE_CONTEXT_HOME` changes that product root. Provider variables such as `ANTHROPIC_API_KEY` and `PRIME_API_KEY` keep their real provider names; they are not product-prefix aliases.
68
+ You can also select a supported API-key provider in `/login` to store its credential under `~/.base-context/auth.json`. `BASE_CONTEXT_HOME` changes that product root. Provider variables such as `ANTHROPIC_API_KEY` and `OPENAI_API_KEY` keep their real provider names; they are not product-prefix aliases.
60
69
 
61
70
  ## First Session
62
71
 
63
- Once Base Context starts, type a request and press Enter:
72
+ Once you have authenticated and selected a model, type a request and press Enter:
64
73
 
65
74
  ```text
66
75
  Summarize this repository and tell me how to run its checks.
67
76
  ```
68
77
 
69
- Base Context uses the persistent `ipython` kernel for file operations, project commands, data analysis and installed skills. The owned installer prepares a fresh release-local Python environment before activation. A non-owned source setup bootstraps its default environment under `~/.base-context/runtime` on first use. `BASE_CONTEXT_KERNEL_PYTHON` selects an explicit manual Python executable with a current `base-context-runtime`; the Python import remains `rlm`. An upstream `prime-agent-runtime` environment is not a substitute.
78
+ Base Context uses the persistent `ipython` kernel for file operations, project commands, data analysis and installed skills. The owned installer prepares a fresh release-local Python 3.13 environment before activation. A source launch starts preparing its default environment under `~/.base-context/runtime` in the background. Set `BASE_CONTEXT_INSTALL_UV=1` before launching if `uv` must be installed automatically. `BASE_CONTEXT_KERNEL_PYTHON` selects an explicit manual Python executable with a current `base-context-runtime`; the Python import remains `rlm`. An upstream `prime-agent-runtime` environment is not a substitute.
70
79
 
71
80
  Base Context runs in your current working directory and can modify files there. Use git or another checkpointing workflow if you want easy rollback.
72
81
 
@@ -146,7 +155,7 @@ For legacy data, use the [offline migration steps](usage.md#import-an-offline-pr
146
155
  For one-shot prompts:
147
156
 
148
157
  ```bash
149
- base-context -p "Summarize this codebase"
158
+ base-context --provider anthropic --model claude-sonnet-4-6 -p "Summarize this codebase"
150
159
  cat README.md | base-context -p "Summarize this text"
151
160
  base-context -p @screenshot.png "What's in this image?"
152
161
  ```
@@ -73,16 +73,16 @@ The Python side does not call providers or implement an agent loop.
73
73
 
74
74
  ## Kernel Lifecycle
75
75
 
76
- The kernel is created lazily on first Python REPL use. Python resolution is:
76
+ SDK and child sessions normally start the kernel lazily on first Python REPL use. The CLI root starts preparing it in the background; saved snapshots can also trigger prewarming. Python resolution is:
77
77
 
78
- 1. `BASE_CONTEXT_KERNEL_PYTHON`, when it has a current `base-context-runtime`; otherwise
79
- 2. the managed environment selected by `BASE_CONTEXT_KERNEL_VENV`, an owned release-local environment, or `~/.base-context/runtime`.
78
+ 1. An explicit `BASE_CONTEXT_KERNEL_PYTHON` takes precedence and must provide a current `base-context-runtime`. An invalid override reports an error rather than selecting another interpreter.
79
+ 2. Without an interpreter override, use the managed environment selected by `BASE_CONTEXT_KERNEL_VENV`, an owned release-local environment, or `~/.base-context/runtime`.
80
80
 
81
- The default managed environment includes Python 3.11, `base-context-runtime`, `dill`, and the default Python packages. Bootstrap uses `uv`; install it first or opt in with `BASE_CONTEXT_INSTALL_UV=1`. The owned installer prepares its release-local default environment before activation. A bootstrap marker detects stale environments. There is no fallback into upstream Prime state. See [installation](installation.md#python-setup).
81
+ The default managed environment includes Python 3.13, `base-context-runtime`, `dill`, and the default Python packages. Bootstrap uses `uv`; install it first or opt in with `BASE_CONTEXT_INSTALL_UV=1`. The owned installer prepares its release-local default environment before activation. A bootstrap marker detects stale environments. There is no fallback into upstream Prime state. See [installation](installation.md#python-setup).
82
82
 
83
83
  Startup spawns `python -m rlm.repl` and exchanges newline-delimited JSON over stdio: the runtime announces itself with a single `ready` event, then requests and events flow one JSON object per line (see `prime-agent-runtime/src/rlm/repl.md`).
84
84
 
85
- The manager owns the child process and a bounded stderr tail. Shutdown sends a `shutdown` request, waits for the process to exit, and terminates it as a fallback. Persistent sessions may snapshot the kernel namespace into their session artifact directory for revival.
85
+ The manager owns the child process and a bounded stderr tail. Shutdown sends a `shutdown` request, waits for the process to exit, and terminates it as a fallback. Persistent sessions may snapshot the kernel namespace into their session artifact directory for revival. Startup refuses snapshots from a different Python major/minor before restoring them and leaves those files unchanged.
86
86
 
87
87
  ## Stdio Transport
88
88
 
@@ -155,6 +155,14 @@ Unknown options fail instead of being ignored. Model search is bounded to active
155
155
 
156
156
  Children receive incremented `RLM_DEPTH`, the inherited maximum depth, and their own `RLM_SESSION_DIR`. The default maximum depth is 2, so root sessions may create children and grandchildren; grandchildren may not create another generation unless the limit is configured higher.
157
157
 
158
+ ## Concurrent Subagent Limit
159
+
160
+ A root agent and its descendants share one live-subagent cap, independent of the recursion-depth limit. The default is **4**. Running and idle subagents at every depth count; the main/root agent and inactive saved sessions do not. Admission fails when there are no free slots.
161
+
162
+ [`/agents N`](usage.md#limit-concurrent-subagents) updates the current family cap and saves the global `rlmMaxSubagents` preference for later sessions and restarts. `N` must be a non-negative safe integer; `0` blocks new subagent spawns. `/agents` queries the effective current family value rather than displaying the default.
163
+
164
+ Lowering the cap never cancels, kills, or passivates existing subagents. It only prevents new admissions while the live count is at or above the cap. Existing running and idle agents retain their state.
165
+
158
166
  ## Independent Delegation
159
167
 
160
168
  Each direct call admits an independent child and returns its handle immediately:
package/docs/rpc.md CHANGED
@@ -9,10 +9,10 @@ RPC mode enables headless operation of the coding agent via a JSON protocol over
9
9
  ## Starting RPC Mode
10
10
 
11
11
  ```bash
12
- base-context --mode rpc --rpc-protocol-version 11 [options]
12
+ base-context --mode rpc --rpc-protocol-version 13 [options]
13
13
  ```
14
14
 
15
- `--rpc-protocol-version 11` is required. It declares that the client handles both successful `agent_end` events and refusal-only terminal events as described below. A missing or different marker is rejected before a session starts. The typed RpcClient also verifies protocol 11 and schema revision at least 45 through the existing `get_state` response before use. Hosts below the current canonical-session ownership minimum are refused; an incompatible startup uses the existing process cleanup path. Custom RPC server entry points `runRpcMode` and `runRpcModeWithConnection` require the caller's protocol version as their second argument.
15
+ `--rpc-protocol-version 13` is required. It declares that the client handles both successful `agent_end` events and refusal-only terminal events as described below. A missing or different marker is rejected before a session starts. The typed RpcClient also verifies protocol 13 and schema revision at least 49 through the existing `get_state` response before use. Hosts below the current canonical-session ownership minimum are refused; an incompatible startup uses the existing process cleanup path. Custom RPC server entry points `runRpcMode` and `runRpcModeWithConnection` require the caller's protocol version as their second argument.
16
16
 
17
17
  This uses the current Base Context daemon protocol marker, not the package version. Updating only the server cannot make an old client understand a new terminal event.
18
18
 
@@ -1392,7 +1392,7 @@ import subprocess
1392
1392
  import json
1393
1393
 
1394
1394
  proc = subprocess.Popen(
1395
- ["base-context", "--mode", "rpc", "--rpc-protocol-version", "11", "--no-session"],
1395
+ ["base-context", "--mode", "rpc", "--rpc-protocol-version", "13", "--no-session"],
1396
1396
  stdin=subprocess.PIPE,
1397
1397
  stdout=subprocess.PIPE,
1398
1398
  text=True
@@ -1433,7 +1433,7 @@ For a complete example of handling the extension UI protocol, see [`examples/rpc
1433
1433
  const { spawn } = require("child_process");
1434
1434
  const { StringDecoder } = require("string_decoder");
1435
1435
 
1436
- const agent = spawn("base-context", ["--mode", "rpc", "--rpc-protocol-version", "11", "--no-session"]);
1436
+ const agent = spawn("base-context", ["--mode", "rpc", "--rpc-protocol-version", "13", "--no-session"]);
1437
1437
 
1438
1438
  function attachJsonlReader(stream, onLine) {
1439
1439
  const decoder = new StringDecoder("utf8");
package/docs/sdk.md CHANGED
@@ -15,7 +15,10 @@ See [examples/sdk/](../examples/sdk/) for working examples from minimal to full
15
15
 
16
16
  ## Quick Start
17
17
 
18
+ Choose a supported provider and model explicitly. This example uses Anthropic; configure `ANTHROPIC_API_KEY` or its saved authentication before running it.
19
+
18
20
  ```typescript
21
+ import { getModel } from "@ponythewhite/base-context-ai";
19
22
  import { AuthStorage, createAgentSession, ModelRegistry, SessionManager } from "@ponythewhite/base-context";
20
23
 
21
24
  // Set up credential storage and model registry
@@ -26,6 +29,7 @@ const { session } = await createAgentSession({
26
29
  sessionManager: SessionManager.inMemory(),
27
30
  authStorage,
28
31
  modelRegistry,
32
+ model: getModel("anthropic", "claude-sonnet-4-5"),
29
33
  });
30
34
 
31
35
  session.subscribe((event) => {
@@ -422,33 +426,38 @@ const { session } = await createAgentSession({
422
426
  });
423
427
  ```
424
428
 
425
- If no model is provided:
426
- 1. Tries to restore from session (if continuing)
427
- 2. Uses default from settings
428
- 3. Falls back to first available model
429
+ Pass a supported `model` explicitly, or omit it to reuse an explicit selection saved in the session or settings. Pass `model: null` to leave the session unselected without restoring a saved choice. Base Context never chooses the first available model or switches providers because another credential exists.
430
+
431
+ A supported saved model remains selected when its authentication needs setup. Requests fail before transport until that provider is authenticated. An unavailable saved model produces a diagnostic and requires a new explicit selection.
429
432
 
430
433
  > See [examples/sdk/02-custom-model.ts](../examples/sdk/02-custom-model.ts)
431
434
 
432
435
  ### API Keys and OAuth
433
436
 
437
+ `AuthStorage.create()` uses normal writable credential storage. Supported subscription
438
+ providers can log in through `/login` in the CLI, or through `authStorage.login(providerId,
439
+ callbacks)` in an SDK application. Supply the browser/prompt callbacks for the provider
440
+ flow. Normal storage persists credentials and refreshes OAuth tokens when needed.
441
+ Authentication does not select a model; choose one explicitly or reuse a saved choice.
442
+ Prime integrations remain disabled.
434
443
 
435
- For an existing OpenAI Codex subscription, explicitly inject a read-only backend:
444
+ For **optional read-only** use of an existing OpenAI Codex subscription, explicitly inject a backend:
436
445
 
437
446
  ```typescript
438
447
  import { AuthStorage } from "@ponythewhite/base-context";
439
448
 
440
449
  const authStorage = AuthStorage.fromStorage(readOnlyBackend, {
441
450
  existingOpenAICodexSubscription: true,
442
- usePrimeCliConfig: false,
443
451
  });
444
452
  ```
445
453
 
446
454
  The backend implements `AuthStorageBackend` and supplies only the existing OAuth access
447
455
  credential and expiry. File-backed writable storage is rejected in this mode. Missing,
448
456
  stale or expired credentials refuse use; login, refresh, storage writes and API-key
449
- fallback are disabled. This authorizes only this instance's official
450
- `openai-codex` / `openai-codex-responses` route. It does not globally validate OAuth clients
451
- or protect against trusted in-process code. Keep the credential backend outside tools.
457
+ fallback are disabled. This mode is limited to this instance's
458
+ `openai-codex` / `openai-codex-responses` route. These restrictions do not apply to normal
459
+ writable OAuth storage, and do not protect against trusted in-process code. Keep the
460
+ credential backend outside tools.
452
461
 
453
462
  API key resolution priority (handled by AuthStorage):
454
463
  1. Runtime overrides (via `setRuntimeApiKey`, not persisted)
@@ -1321,7 +1330,7 @@ const runtime = await createAgentSessionRuntime(createRuntime, {
1321
1330
  sessionManager: await SessionManager.create(process.cwd()),
1322
1331
  });
1323
1332
 
1324
- await runRpcMode(runtime, 11);
1333
+ await runRpcMode(runtime, 13);
1325
1334
  ```
1326
1335
 
1327
1336
  See [RPC documentation](rpc.md) for the JSON protocol.
@@ -1331,7 +1340,7 @@ See [RPC documentation](rpc.md) for the JSON protocol.
1331
1340
  For subprocess-based integration without building with the SDK, use the CLI directly:
1332
1341
 
1333
1342
  ```bash
1334
- base-context --mode rpc --rpc-protocol-version 11 --no-session
1343
+ base-context --mode rpc --rpc-protocol-version 13 --no-session
1335
1344
  ```
1336
1345
 
1337
1346
  See [RPC documentation](rpc.md) for the JSON protocol.
package/docs/sessions.md CHANGED
@@ -41,7 +41,6 @@ For native journal storage and the SessionManager API, see [Session Format](sess
41
41
  | `/clone` | Duplicate the current active branch into a new session |
42
42
  | `/compact [prompt]` | Summarize older context; see [Compaction](compaction.md) |
43
43
  | `/export [file]` | Export session to HTML |
44
- | `/share` | Upload as private GitHub gist with shareable HTML link |
45
44
 
46
45
  ## Importing an External Session
47
46
 
package/docs/settings.md CHANGED
@@ -19,12 +19,14 @@ The sections below cover user-facing settings. Onboarding flags, recent-model hi
19
19
 
20
20
  ### Model & Thinking
21
21
 
22
+ There is no built-in default provider or model. The `defaultProvider` and `defaultModel` keys store your explicit selection for later launches. Authentication is stored separately. A missing or unavailable choice does not select a fallback.
23
+
22
24
  | Setting | Type | Default | Description |
23
25
  |---------|------|---------|-------------|
24
- | `defaultProvider` | string | - | Default provider (e.g., `"anthropic"`, `"openai"`) |
25
- | `defaultModel` | string | - | Default model ID |
26
+ | `defaultProvider` | string | - | Saved explicitly selected provider (e.g., `"anthropic"`, `"openai"`) |
27
+ | `defaultModel` | string | - | Saved explicitly selected model ID |
26
28
  | `defaultServiceTier` | string or null | `"default"` | Provider service-tier preference: `"auto"`, `"default"`, `"flex"`, `"scale"`, `"priority"`, or null; actual support and billing depend on the provider |
27
- | `defaultThinkingLevel` | string | `"xhigh"` | `"off"`, `"minimal"`, `"low"`, `"medium"`, `"high"`, `"xhigh"`, `"max"` |
29
+ | `defaultThinkingLevel` | string | `"medium"` | `"off"`, `"minimal"`, `"low"`, `"medium"`, `"high"`, `"xhigh"`, `"max"` |
28
30
  | `hideThinkingBlock` | boolean | `false` | Hide thinking blocks in output |
29
31
  | `thinkingBudgets` | object | - | Custom token budgets per thinking level |
30
32
 
@@ -71,44 +73,6 @@ The stable `latest.json` and beta `beta.json` manifests use the same JSON shape:
71
73
 
72
74
  Private download manifests require `version` and `package` (or `packageName`) set to the active package name. Version-only manifests and manifests naming another product are refused. `tarball` is optional; when present, Base Context installs that tarball instead of the package name. Relative tarball paths resolve against `BASE_CONTEXT_DOWNLOAD_BASE_URL`. The default owned npm registry lookup is unchanged.
73
75
 
74
- ### Pseudonymous usage analytics
75
-
76
- Analytics are off by default. Remote analytics require explicit opt-in, `BASE_CONTEXT_TELEMETRY_ENDPOINT`, and a dedicated `BASE_CONTEXT_TELEMETRY_API_KEY`. There is no inherited endpoint or inference-key fallback. When enabled, events include aggregate usage and performance data such as execution mode, token usage, tool counts, retries, and compactions.
77
-
78
- Base Context does not send prompts, responses, thinking, tool arguments or results, command text, filenames, paths, repository information, environment variables, credentials, raw error messages, hostnames, usernames, emails, or hardware identifiers. A random installation ID is stored as `telemetry.json` in the configured agent directory (normally `~/.base-context/`).
79
-
80
- Telemetry can be disabled globally or for an individual project. Project settings can only further restrict telemetry: they cannot re-enable a global opt-out or suppress the global one-time disclosure.
81
-
82
- | Setting | Type | Default | Description |
83
- |---------|------|---------|-------------|
84
- | `telemetry.enabled` | boolean | `false` | Opt in to aggregate events at an explicitly configured destination |
85
-
86
- Disable analytics with any of:
87
-
88
- ```json
89
- {
90
- "telemetry": {
91
- "enabled": false
92
- }
93
- }
94
- ```
95
-
96
- ```bash
97
- BASE_CONTEXT_TELEMETRY=0 base-context
98
- DO_NOT_TRACK=1 base-context
99
- base-context --offline
100
- ```
101
-
102
- Opt-in alone does not send events without both the explicit endpoint and dedicated key.
103
-
104
- ### Trace sharing
105
-
106
- | Setting | Type | Default | Description |
107
- | --- | --- | --- | --- |
108
- | `agentTraces.enabled` | boolean | `false` | Opt in to automatic trace sharing at an explicitly configured destination |
109
-
110
- Trace sharing is separate from aggregate telemetry. It requires an explicit `BASE_CONTEXT_TRACES_BASE_URL` and a dedicated credential such as `BASE_CONTEXT_TRACES_API_KEY`; `PRIME_API_KEY` is not a trace credential. Use `/traces status` and `/traces preview` before opting in. Trace exports can contain conversation and tool content. Do not assume that turning on aggregate analytics also enables traces, or that retained work is safe to upload without review.
111
-
112
76
  ### Warnings
113
77
 
114
78
  | Setting | Type | Default | Description |
@@ -315,8 +279,11 @@ Normally the package manager's global modules location is queried using `root -g
315
279
  | Setting | Type | Default | Description |
316
280
  | --- | --- | --- | --- |
317
281
  | `rlmMaxDepth` | number | Falls through to `BASE_CONTEXT_RLM_MAX_DEPTH`, then `2` | Global default recursion-depth limit for new sessions |
282
+ | `rlmMaxSubagents` | number | `4` | Maximum live subagents in a root-agent family; non-negative safe integer |
283
+
284
+ These are global settings, not project overrides. Session-local and inherited depth limits can differ from the creation default. See [RLM programming](rlm.md) and [long-running agents](long-running-agents.md).
318
285
 
319
- This is a global setting, not a project override. Session-local and inherited limits can differ from the creation default. See [RLM programming](rlm.md) and [long-running agents](long-running-agents.md).
286
+ Use [`/agents N`](usage.md#limit-concurrent-subagents) to apply and save `rlmMaxSubagents`; `/agents` reports the current family limit. This preference survives restarts. Running and idle descendants count, but the main agent and inactive saved sessions do not. `0` disables new spawns. Lowering the limit only blocks new admissions; it never kills or passivates existing agents.
320
287
 
321
288
  ### Daemon
322
289
 
package/docs/skills.md CHANGED
@@ -48,7 +48,6 @@ Disable discovery with `--no-skills` (explicit `--skill` paths still load).
48
48
 
49
49
  Base Context ships with built-in skills that load by default:
50
50
 
51
- - `prime-intellect` - Prime Intellect products and workflows via the prime CLI: verifiers environments and the Environments Hub, evaluations (local and hosted), Hosted Training and prime-rl, sandboxes, tunnels, Prime Inference, GPU compute, and storage. Reference docs for each area load on demand from the skill's `references/` directory.
52
51
  - `skill-creator` - teaches the agent to create new skills: markdown skill layout, frontmatter rules, placement and precedence, and the full Python-backed skill contract (package layout, `run()` convention, optional CLI, kernel venv behavior) with a working template in `references/python-skills.md`.
53
52
  - `websearch` - a Python-backed Google search skill using the [Serper](https://serper.dev) API.
54
53
 
@@ -0,0 +1,171 @@
1
+ # Prime Agent 0.9.5 selection for base-context 1.0.1
2
+
3
+ Base-context forked Prime Agent 0.9.3 at
4
+ `915c78f42c248b08238dd27fcd4bcab32c60beab`. The selection range below is separate
5
+ from that fork ancestor. We reviewed all **113 commits** between
6
+ upstream `v0.9.4` (`f771dfcedd684d1afff84ca2c6fa95c7a21efbc2`) and
7
+ `v0.9.5` (`a7d791bc1be09793ed5f3ec05bf4cccbc60679ea`). This is a selective
8
+ adaptation, not a merge of the release's 500-file net change.
9
+
10
+ The fork keeps explicit provider, authentication and model selection; its native
11
+ context, request-budget and source-ownership rules; family-wide `/agents` limits;
12
+ and the Node/npm installer with managed Python 3.13. See [fork philosophy](fork-philosophy.md).
13
+
14
+ ## Selected fixes
15
+
16
+ Thirteen focused groups come from fourteen upstream commits. Some mixed commits
17
+ supply only a few generic lines:
18
+
19
+ - Kernel pipe errors do not crash the worker.
20
+ - LiteLLM context-overflow messages are recognized, without mistaking rate limits for overflow.
21
+ - The packaged Node CLI has the missing lazy Bedrock entry and keeps native request-attempt accounting.
22
+ - Responses streams track interleaved output slots, use final tool arguments, and retain incomplete-response usage.
23
+ - Blocked input-pump idle waits yield instead of starving I/O.
24
+ - Draft disposal handles teardown failures and respects pending attaches.
25
+ - Daemon discovery stays inside the current state root, including owned custom sockets.
26
+ - Python child deletion accepts the returned spawn handle; `await rlm(...)` remains the spawn API.
27
+ - Required CLI values and invalid mode/thinking selections produce errors.
28
+ - Provider projection drops orphan tool results without rewriting canonical history or granting an invalid native projection.
29
+ - Anthropic budget-based thinking respects its minimum while keeping the previously computed total token cap. Impossible totals fail before transport.
30
+ - Startup navigation observes initialization and connection lifetime without replacing provider-first onboarding.
31
+ - A terminal model error gets a factual `needs_input` recap without another model request or a new wire enum.
32
+
33
+ The separate candidate review also led to an effective-authentication-header
34
+ attribution fix: rejecting an overriding credential must not invalidate an unused
35
+ stored API key. Provider and RPC documentation follow the retained interfaces.
36
+
37
+ ## What stays out
38
+
39
+ Prime Inference/account/team/credits integrations, telemetry and sharing do not
40
+ return. Neither do implicit default/backup models, the compiled Bun installer,
41
+ new `rlm.spawn`/`collect` APIs, broad retry-policy changes, or unrelated UI and
42
+ performance redesigns. The native protocol remains 13/schema49. Lawful upstream
43
+ copyright and MIT attribution remain intact.
44
+
45
+ Optional WebSocket retry policy is deferred rather than bypassing native attempt
46
+ admission and captured-context accounting. SSE remains the default. The other
47
+ explicit deferrals below are not claims that those upstream ideas are useless;
48
+ they are outside this release's selected adaptations.
49
+
50
+ ## Complete decision table
51
+
52
+ “Select subset” does not mean cherry-pick the whole commit. “Already” identifies
53
+ local behavior that needed no transplant. “Defer” is outside 1.0.1; “Skip” is
54
+ irrelevant or incompatible with the retained product. Upstream commits can be
55
+ viewed at `https://github.com/PrimeIntellect-ai/prime-agent/commit/<commit>`.
56
+
57
+ | # | Full upstream commit | Decision | Reason |
58
+ |---:|---|---|---|
59
+ | 1 | `363eb61920621c53bd4313deb91360fa3d188e5c` | Defer | Agents-view visual redesign; no correctness dependency. |
60
+ | 2 | `e6b79144c23e2d73df41cbba5335a8db65ddffe3` | Skip | Upstream contribution-ticket CI only. |
61
+ | 3 | `71766abb2c1e427382871c77d2dc3896164a3456` | Defer | Harness/system-prompt architecture change; do not replace native TaskFrame/epoch/source authority. |
62
+ | 4 | `31ebd50c791d6e016b059c9bc35e9ba4d845672d` | Defer | OpenCode session/app headers are attribution/affinity, not a demonstrated failing request; upstream user-agent identity is wrong for fork. |
63
+ | 5 | `24519c30856965a832551206b3e9ed87e814d602` | Already | Single-pass substituteArgs is already local; retain current prompt-template tests. |
64
+ | 6 | `a6625e17a042716fca4527c9297b972da3eb2142` | Select subset | Reject incomplete/orphan tool exchanges without mutating canonical source or granting invalid native projection. |
65
+ | 7 | `55ade48b73f636d992855b7cab797d71dc1f6f1c` | Select | LiteLLM maximum-context recognition; keep native overflow policy and rate-limit exclusion. |
66
+ | 8 | `bcdcd6e65e10959c9904ec4467747528303493b0` | Defer | Manual-compaction goal resume is relevant but local captured-owner compaction is substantially rewritten; not a direct transplant. |
67
+ | 9 | `427ea4c72cc606ac061a14287c0c15c471eff002` | Skip | Test adjustment for upstream harness-digest architecture. |
68
+ | 10 | `f9c7e06b58b9760944abb33b81f758ce5df1a1b3` | Skip | Upstream performance CI/harness, not product fixes; historical benchmark stays immutable. |
69
+ | 11 | `d4bc773d85348220b9134a646bcaa03b3bba74d2` | Skip | Upstream PR benchmark comment UI. |
70
+ | 12 | `163dd5798cd40e86b540aa9ecb68201920a83a1b` | Defer | Inactive-session model display, optional roster UI. |
71
+ | 13 | `e8b7168cc9972694232a9ed9c0a6a51655e44abf` | Select subset | Packaged Node Bedrock entry is missing; drop unrelated Linear-ticket/CI changes. |
72
+ | 14 | `81cd5390dbc871afb87be0d2012d205dd633bae3` | Select subset | Keep preexisting computed output cap/default arithmetic. Reject impossible budget before transport; floor thinking within same computed cap. |
73
+ | 15 | `ea7dbd1f103ffc9457e3f4a06ed1845ca5aa0a21` | Skip | Breaks retained callable await rlm(...) contract by switching to rlm.spawn. |
74
+ | 16 | `5a843023781b461b8cd7c7b45718f133b61e16b0` | Defer | Synthetic-message grammar churn changes prompt semantics and source classification. |
75
+ | 17 | `4f4d51c5b5e1d29a95ac0391556898910e1e01c7` | Defer | Roster API consolidation is not required by current family-wide /agents admission. |
76
+ | 18 | `27daf22125a188067768244bee04aba3ef74bafb` | Defer | New /autonomous budget-command UX; not necessary for selected correctness fixes. |
77
+ | 19 | `55c611fbf6300366c4edf204a79e4f7e8b99f5cf` | Skip | Removed /traces feature. |
78
+ | 20 | `1eee2938b4eeb7a4d72e17035adda669a89b63de` | Skip | Upstream stacked-PR benchmark CI. |
79
+ | 21 | `656747485307acb5f24e9a75ebac321dfe27acf7` | Defer | Provider-path display polish; preserve exact selector semantics. |
80
+ | 22 | `fb2db8ee1b61c69d53a84404e617bc74d6f205c9` | Skip | Subtree UI counts are not family-wide pending/running/idle admission; keep fork /agents implementation. |
81
+ | 23 | `ecd60e3cd4313643dede3cb2fcf13b4e2e9a2a75` | Defer | Consumed Bash notice withdrawal changes Python/host event delivery and native action/source state; not needed for selected fixes. |
82
+ | 24 | `48d7fca76b1f7a6f6cf7326c9e0392b82a245634` | Defer | Side-question tool declarations change cache/replay behavior; blocked execution must not become native replay permission. |
83
+ | 25 | `5255a6b88002d60ff810e27b33d104eb424c5e07` | Defer | /btw cache-effort change depends on side-question redesign; no core runtime dependency. |
84
+ | 26 | `b53c2e9d0666d62ac72b94b754fd649f1f9ff366` | Skip | GitHub discussion investigation automation. |
85
+ | 27 | `2aab9d466739f4f9c280c8800c40a32977197ce5` | Skip | Benchmark infrastructure for compiled upstream installs. |
86
+ | 28 | `fc782b8a431838c4376578664cf9218d4a5710b1` | Defer | Compaction/refinement visual redesign. |
87
+ | 29 | `a38ad5d538a06a42d845d52024db0b631b788b9b` | Defer | Inline configuration picker redesign conflicts with qualified provider-first flow. |
88
+ | 30 | `126b43c0ce4f51c49cbb3036a3507ece06bfcc8e` | Defer | Prompt-bar UX redesign. |
89
+ | 31 | `5c14169759736add628d7fce28eb97b3baa85ce9` | Defer | Agents/chat UI redesign; preserve local /agents controls. |
90
+ | 32 | `370c56235dce1f52b89c4e20b25f714b6f4e8dc1` | Defer | Large verbosity/UI/theme redesign, not needed for selected correctness fixes. |
91
+ | 33 | `46c60b7500923be9e77022cb85c731241f35e2ac` | Skip | Upstream PR contribution gate. |
92
+ | 34 | `ca67580b524800a971f92420d4c665bd83df1dfa` | Select subset | Generic Responses interleaving/final arguments/incomplete parsing only; reject Grok subscription and auth/model expansion. |
93
+ | 35 | `a329e744b23fcf7efee2a43661e996a82b5ee5a3` | Skip | Upstream benchmark startup/cleanup harness. |
94
+ | 36 | `0badc0f52edf3e6b56981ad8b2ac6178d1fe392d` | Defer | Subagent expand-affordance UI polish. |
95
+ | 37 | `dd760d310886d9ae771c3f563b148fa1caf23125` | Skip | Compiled Bun distribution/installer migration; fork uses Node/npm + owned Python3.13 runtime. |
96
+ | 38 | `5a3b922a9d1cb8ae416d96de9e99e4b39817b882` | Skip | Migrates npm users to upstream compiled distribution and paths. |
97
+ | 39 | `df6c709a06d85805cebb1c2a1001e144754cab9e` | Skip | Prime CLI/profile/Inference config isolation; these integrations are removed locally. |
98
+ | 40 | `19f959ba2311abdafc297337fe5846494494daa5` | Skip | Discussion notification state automation. |
99
+ | 41 | `011574e4111baa466f30079136853f230a152d33` | Skip | Compiled-install update/rollback architecture; not fork installer. |
100
+ | 42 | `c872594b758882ed7f814815f1e002e85033a657` | Skip | Upstream benchmark readiness/reporting harness. |
101
+ | 43 | `66658d2cf73153340f23133fbc16eafac31423e8` | Defer | Maintenance identity for OpenCode; native request coordinator already owns identity/capture, inspect through native path if needed. |
102
+ | 44 | `a487fa4191357334f669691d06ea694efa1678df` | Defer | Spawn-ledger stat cache is performance-only and touches admission/recovery authority. |
103
+ | 45 | `878410b3981f20c6d685faa210ad0e43426cf483` | Defer | Roster rebuild optimization; optional UI performance change. |
104
+ | 46 | `9661a1151525d5c967ec43774736eb14a39dc12a` | Defer | Large snapshot/transport/recovery change; not a minimal patch and interacts with protocol13/schema49. |
105
+ | 47 | `748ed685911cfeca9d9049aec2c91e1a0114b507` | Defer | Independent startup/list deadline policy overlaps fork-specific global admission and owned recovery; selected changes do not require adopting new scheduling. |
106
+ | 48 | `dbd29e948af43fcf2a64992ed31025faa19e7598` | Defer | Optional extension-render fallback changes UI restoration policy and does not change retained canonical history. Not required by selected startup fix. |
107
+ | 49 | `64a3d5205d3aebe69538034ef9e96810feda4485` | Defer | New timed orphan-worker shutdown policy; lifecycle/capacity/recovery changes exceed minimal fixes. |
108
+ | 50 | `b043f6ef125ff4bcd6664c96aef5f0c3a642a0d1` | Select subset | Normal back-navigation during initialization must not crash or update a disposed UI. Keep provider-first onboarding. |
109
+ | 51 | `90ca4a457e0fef0bd925215d4c973abd6264f067` | Select | Missing kernel pipe error listeners can crash worker; tiny isolated fix. |
110
+ | 52 | `9150cc28a3e1989b44ce5070910d1c7cfb052340` | Skip | New rlm.collect feature and fan-in protocol; retained workflow is admission + messages/files. |
111
+ | 53 | `766ddce2ce03b61636e8c10223542e9b3a534802` | Defer | Broad shell environment override changes user commands; upstream GIT_TERMINAL_PROMPTS is also misspelled (Git uses singular PROMPT). |
112
+ | 54 | `292ae3028e1b0ad376059bee65d5cf8c5e8d29fd` | Defer | Slash usage UX changes include commands removed/repurposed locally. |
113
+ | 55 | `59a074f511f583e68d0cea5ca6e37fecd0ffa7df` | Skip | Global daemon formatting-only churn. |
114
+ | 56 | `bb772f361084c793174cfe1d9bb5d6526dc7e3a5` | Select subset | Best-effort draft disposal and pending-attach check only; retain fork roster and family-capacity authority, without optional roster merge. |
115
+ | 57 | `2e43ebca3753c82ed0ef2064cb14081588ebd4d3` | Skip | Blanket autonomous pause while children run conflicts with continue-independent-work directive and fork lifecycle semantics. |
116
+ | 58 | `1316d187b7d73484265edd5276d7a21f1342f6b8` | Already | Provider-first runStartupOnboarding marks shown only after successful configured-model completion. |
117
+ | 59 | `5362cf3005126f9413a610eb9b610eb34a07c258` | Skip | Wait/backup model retry overhaul duplicates/conflicts with native coordinator recovery and explicit selected model. |
118
+ | 60 | `4535c87e5112f1c976b6f6dabb831f0d2ef93edf` | Defer | Reject 250ms stdin truncation because slow producers could lose input. Non-TTY/cross-project confirmation changes are independent of selected strict parser and qualified installer. |
119
+ | 61 | `9fcda876f501a66d19e5d45e78981c2595386697` | Defer | New model-cycling keybinding UX; preserve explicit persistence and configurable keys if later added. |
120
+ | 62 | `1fc1adb6e8062bf871a9b59705c1d15468e589f0` | Defer | Slash typo heuristic is not a demonstrated runtime bug and may reject intentional prompt text. |
121
+ | 63 | `7a049d50c61ed5a93e65060255e54d752f56dbf2` | Skip | Upstream UI interaction benchmark CI. |
122
+ | 64 | `215e7a7409b2931b49d3aad62d29fa8e94345973` | Defer | Goal monotonicity idea relevant, but local native _reloadBranchRuntimeState replaces patched helper; adapt only with source-boundary evidence. |
123
+ | 65 | `6be5d4f297f112df8b57b6807de9405c5444fc0f` | Defer | Head-plus-tail summary serialization changes prompt content rather than repairing canonical source. Keep native selection/budget behavior stable for regression comparison. |
124
+ | 66 | `f31c440c788499a4ba49736acbf1504a25e3ad4c` | Defer | Kernel diff path extraction plus silent 200-file cap changes summary semantics; not required and must not promote tool data to authority. |
125
+ | 67 | `2f5cd0cc163149ad8345f2c7eefe9ce08278cb0a` | Skip | Refinement backup model plus Prime catalog default change; no implicit model or Prime dependency. |
126
+ | 68 | `292a3eb35a338e6a7b204eb094a7b722246b0a7b` | Select subset | Hard-error invalid --thinking in args.ts; stale --no-daemon text cleanup only if still present. Combine with strict flag parsing. |
127
+ | 69 | `ad4df9364daa7efbb98226dfe1ecb8565635d0e6` | Defer | Harness relevance ranking/search is a new architecture/API, not native public retrieval. |
128
+ | 70 | `5c42f8549f3b21f99140a01d5f287e20ee99e19b` | Defer | Session append/fork optimization touches durable native source lifecycle; not blindly compatible. |
129
+ | 71 | `13f52b01cdf0332c02005602268332c77353326a` | Defer | New autonomous/subagent model settings; optional feature, preserve explicit supported provider/auth selection. |
130
+ | 72 | `6af0e1a4efdfa4f20b1e680f57797397f38090db` | Skip | Upstream swarm capability eval harness, not requested benchmark/control protocol. |
131
+ | 73 | `9e7ac5d5e36a9bd3aae6ee10b7cd61ffa002a573` | Select subset | Accept RLMSpawnHandle for delete_subagent only; do not require rlm.spawn or collect. |
132
+ | 74 | `284eebc2d09b67264b52b757f43a579286afc380` | Defer | Helpful selector errors coupled to implicit short-form fallback and Prime example; retain exact explicit selectors. |
133
+ | 75 | `c0de2eb29e72e44036574ca226ac1452f85c6bea` | Already | Dead ./hooks subpath is already absent from local coding-agent exports. |
134
+ | 76 | `b6b9b0b4220db54dd067efd956208318550d804f` | Skip | Private Prime Inference template route and enable_thinking fix; route removed locally. |
135
+ | 77 | `7d1913969d33fa5a31366321e3f5db0070dcf2bf` | Defer | SSE remains default. Upstream automatic WebSocket replay/retry is not a direct fit for native physical-attempt admission and captured-prefix budgets; keep current explicit transport failure rather than bypass coordinator. |
136
+ | 78 | `8f52777f2d3778c28c97fb438ca9f6bf07310b75` | Select subset | Latest terminal assistant error produces factual needs_input recap without classifier/model request; preserve async owned persistence and protocol13/schema49; later successful turn uses normal classification. |
137
+ | 79 | `598eebe8cd6645983c43d50647af9e36e9b07bc0` | Skip | Compiled macOS signing/notarization distribution. |
138
+ | 80 | `fb90167a9a061c4585522a973f809a8c0b2c55ab` | Skip | Generic MCP/service catalog merge reverted by commit99; no net feature to transplant. |
139
+ | 81 | `5d66ab91326db0b93a8f0044e0fff51834b19929` | Defer | Host-owned extension timer API/lifecycle expansion; not prerequisite. |
140
+ | 82 | `8eaa00c37385c6b25fed9d46584b50ffc2e87f9c` | Select | Park waitForIdle on actual blocked-pump predicate; preserve native owner/current/settlement guards. |
141
+ | 83 | `807ff048eb53506be7add0116c17f3047292ac8f` | Skip | Readiness wait is for removed Prime private catalog and fallback-model route. |
142
+ | 84 | `9bd6a9bc0fbc1e4072cfd7162f855a305c39efb0` | Defer | Queued goal mutation at delivery must respect fork persisted action/source pins; do not mutate frozen records directly. |
143
+ | 85 | `2a461b0de77c47d780639c680ca898939a9afda2` | Skip | Remote trace upload test fix; feature removed. |
144
+ | 86 | `f87021bf2de379855e0bedc55ac67bad57d825a0` | Defer | Persistent cross-worker link is a transport redesign; preserve worker claim/family capacity behavior. |
145
+ | 87 | `ec56defc1c9d121c571988b1ad0f2027283825ff` | Skip | 431-line Git-command policy guard plus813-line suite is an unrequested guardrail; not minimal correctness transplant. |
146
+ | 88 | `849ab8599809d1f48fd11f32f58fc4b7de0434ae` | Skip | Upstream benchmark terminal wait CI. |
147
+ | 89 | `4a4a2305eb58ab1081f72b3a85da4c962acf70bd` | Skip | Upstream benchmark marker CI. |
148
+ | 90 | `5d25a44bd22e1c1fe8321e141cd6c3932563d14c` | Skip | Upstream benchmark UI navigation harness. |
149
+ | 91 | `cfb2d3fe35c7c23cf6678ec235412b0d3f286fae` | Defer | Catalog read/write queue performance; depends on ledger changes and fork capacity/source authority. |
150
+ | 92 | `327139f7a153388fbe9f90366d8ab944a73d867c` | Defer | Further transcript download optimization depends on46 snapshot redesign. |
151
+ | 93 | `6ceb046fe059502c7c617ba8f97ad530df639a41` | Skip | Upstream compiled-release CI download paths. |
152
+ | 94 | `27bd07994e3acb96dcde82a1cd8b91e9168a6bc0` | Defer | Catalog canonicalization memo/performance; depends on44/91 and native session file rules. |
153
+ | 95 | `c8a631e5de703ab9f50efcf3503359489a2e9be8` | Skip | Upstream cold-worker/catalog benchmark fixtures. |
154
+ | 96 | `1a891aa1b765cc351db03547857f4ba9370eb3d5` | Skip | Upstream resident-chat UI benchmark fixtures. |
155
+ | 97 | `0cf1314d196d5db4d0918b4fb3d991c9a5b7a2da` | Defer | Model picker effort arrows depend on inline-picker UI; not needed. |
156
+ | 98 | `683a2d431bd0600048c0bc83c7429c83ed0df2b5` | Defer | Markdown heading/error icon polish, low impact. |
157
+ | 99 | `350ddbaa467d1e1fb8e11a97a1545d251a70afb6` | Skip | Reverts80; keep existing MCP architecture. |
158
+ | 100 | `e334a8b460f0ff8791810fac0c9e66a1b4757298` | Select subset | Strict required-value/invalid-mode parsing; keep fork --rpc-protocol-version, prime_context, exports and unknown extension flags. |
159
+ | 101 | `a5cc2371ec597560990393b7801a559eda2af0fd` | Defer | Sticky chat name/top bar UI feature. |
160
+ | 102 | `dca77ecfe450adbd61c2555c3f1e8c5b70f6cf3f` | Defer | Human-priority scheduling is useful but rewrites action ordering/admission; needs native source ordering adaptation. |
161
+ | 103 | `4bf122bb6fd3455b09511791a16a00022098f8a7` | Skip | Upstream nightly channel/release infrastructure. |
162
+ | 104 | `f5859162cc5c983090a753222b554a880207dd68` | Defer | Inline provider login UI refactor; provider-first fork is already qualified and removes upstream Prime flows. |
163
+ | 105 | `ad426c672327696c42d641379840212ca5a8b85b` | Defer | Depends on deferred catalog scheduling change; do not silently add new timeout semantics. |
164
+ | 106 | `83b2d32545d6ad37d4be460031db6df3ae8058e6` | Skip | Prime-specific first-run onboarding rewrite reintroduces unwanted product integration. |
165
+ | 107 | `ebe530d28c9f24fb03353085c05a68dcd29e7fbc` | Defer | New child progress/snapshot API and prompt messages; unnecessary wire/runtime feature expansion. |
166
+ | 108 | `ebe299ee599d2e7444c034d1b38af38808036e74` | Skip | Compiled Linux musl/baseline artifact matrix, not fork Node runtime installer. |
167
+ | 109 | `9c59b394cac2bad490a38d7eee55efe8b0d03d86` | Select subset | State-root-scoped daemon discovery only; reject telemetry/platform fidelity, compiled installer and unrelated CLI refactor. |
168
+ | 110 | `ca82b869b5a20fd385bb9c8585b0bd07d47da186` | Skip | Trace-onboarding prompt; remote traces removed. |
169
+ | 111 | `8d64d3e1cd1b16dc77a736126f8757673138d0b7` | Skip | Embed native clipboard addon in compiled Bun binaries; not current Node distribution. |
170
+ | 112 | `e9d68d92c58492fe554c843ba90f894bcff3fe66` | Skip | Upstream compiled-release manifest forward compatibility; fork installer format differs. |
171
+ | 113 | `a7d791bc1be09793ed5f3ec05bf4cccbc60679ea` | Skip | Upstream release0.9.5 version/changelog assembly; keep fork1.0.1 and lawful attribution. |