@plurnk/plurnk-service 2.0.0 → 3.1.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 (333) hide show
  1. package/.env.defaults +27 -19
  2. package/INSTALL.md +21 -2
  3. package/README.md +4 -2
  4. package/SPEC.md +644 -467
  5. package/dist/build-info.json +1 -1
  6. package/dist/completions/_plurnk-service +13 -0
  7. package/dist/completions/plurnk-service.bash +19 -0
  8. package/dist/completions/plurnk-service.fish +93 -0
  9. package/dist/content/edit-receipt.d.ts +1 -1
  10. package/dist/content/edit-receipt.d.ts.map +1 -1
  11. package/dist/content/edit-receipt.js +1 -1
  12. package/dist/content/edit-receipt.js.map +1 -1
  13. package/dist/content/read-projector.d.ts.map +1 -1
  14. package/dist/content/read-projector.js +3 -12
  15. package/dist/content/read-projector.js.map +1 -1
  16. package/dist/core/AdministrativeLoop.d.ts +1 -1
  17. package/dist/core/AdministrativeLoop.d.ts.map +1 -1
  18. package/dist/core/AdministrativeLoop.js +2 -6
  19. package/dist/core/AdministrativeLoop.js.map +1 -1
  20. package/dist/core/AdmittedTurnExecutor.d.ts +2 -2
  21. package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
  22. package/dist/core/AdmittedTurnExecutor.js +16 -24
  23. package/dist/core/AdmittedTurnExecutor.js.map +1 -1
  24. package/dist/core/BudgetReadout.d.ts +8 -2
  25. package/dist/core/BudgetReadout.d.ts.map +1 -1
  26. package/dist/core/BudgetReadout.js +48 -5
  27. package/dist/core/BudgetReadout.js.map +1 -1
  28. package/dist/core/CapabilityPolicies.d.ts +2 -4
  29. package/dist/core/CapabilityPolicies.d.ts.map +1 -1
  30. package/dist/core/CapabilityPolicies.js +3 -23
  31. package/dist/core/CapabilityPolicies.js.map +1 -1
  32. package/dist/core/CapabilityResolver.d.ts +9 -2
  33. package/dist/core/CapabilityResolver.d.ts.map +1 -1
  34. package/dist/core/CapabilityResolver.js +34 -5
  35. package/dist/core/CapabilityResolver.js.map +1 -1
  36. package/dist/core/ChannelWrite.d.ts +0 -2
  37. package/dist/core/ChannelWrite.d.ts.map +1 -1
  38. package/dist/core/ChannelWrite.js.map +1 -1
  39. package/dist/core/ClientInteractions.d.ts +3 -2
  40. package/dist/core/ClientInteractions.d.ts.map +1 -1
  41. package/dist/core/ClientInteractions.js +21 -12
  42. package/dist/core/ClientInteractions.js.map +1 -1
  43. package/dist/core/ClientInteractions.sql +8 -2
  44. package/dist/core/CoreSchemeServices.d.ts +1 -0
  45. package/dist/core/CoreSchemeServices.d.ts.map +1 -1
  46. package/dist/core/CoreSchemeServices.js +1 -0
  47. package/dist/core/CoreSchemeServices.js.map +1 -1
  48. package/dist/core/DataStatementRunner.js +1 -1
  49. package/dist/core/DataStatementRunner.js.map +1 -1
  50. package/dist/core/Dispatcher.d.ts +3 -2
  51. package/dist/core/Dispatcher.d.ts.map +1 -1
  52. package/dist/core/Dispatcher.js +55 -52
  53. package/dist/core/Dispatcher.js.map +1 -1
  54. package/dist/core/Engine.d.ts +1 -1
  55. package/dist/core/Engine.d.ts.map +1 -1
  56. package/dist/core/Engine.js +4 -6
  57. package/dist/core/Engine.js.map +1 -1
  58. package/dist/core/EnvFlags.d.ts.map +1 -1
  59. package/dist/core/EnvFlags.js +5 -4
  60. package/dist/core/EnvFlags.js.map +1 -1
  61. package/dist/core/FabricatedLog.d.ts +1 -0
  62. package/dist/core/FabricatedLog.d.ts.map +1 -1
  63. package/dist/core/FabricatedLog.js +9 -1
  64. package/dist/core/FabricatedLog.js.map +1 -1
  65. package/dist/core/HostPaths.d.ts +0 -1
  66. package/dist/core/HostPaths.d.ts.map +1 -1
  67. package/dist/core/HostPaths.js +0 -2
  68. package/dist/core/HostPaths.js.map +1 -1
  69. package/dist/core/KillHandler.d.ts.map +1 -1
  70. package/dist/core/KillHandler.js +3 -1
  71. package/dist/core/KillHandler.js.map +1 -1
  72. package/dist/core/LiveSubscription.d.ts.map +1 -1
  73. package/dist/core/LiveSubscription.js +14 -2
  74. package/dist/core/LiveSubscription.js.map +1 -1
  75. package/dist/core/LiveSubscriptions.d.ts +3 -1
  76. package/dist/core/LiveSubscriptions.d.ts.map +1 -1
  77. package/dist/core/LiveSubscriptions.js +16 -1
  78. package/dist/core/LiveSubscriptions.js.map +1 -1
  79. package/dist/core/LogBody.d.ts.map +1 -1
  80. package/dist/core/LogBody.js +3 -1
  81. package/dist/core/LogBody.js.map +1 -1
  82. package/dist/core/LogVisibility.d.ts.map +1 -1
  83. package/dist/core/LogVisibility.js +8 -17
  84. package/dist/core/LogVisibility.js.map +1 -1
  85. package/dist/core/LoopDriver.js +7 -6
  86. package/dist/core/LoopDriver.js.map +1 -1
  87. package/dist/core/LoopLifecycle.d.ts.map +1 -1
  88. package/dist/core/LoopLifecycle.js +4 -9
  89. package/dist/core/LoopLifecycle.js.map +1 -1
  90. package/dist/core/LoopLifecycle.sql +7 -6
  91. package/dist/core/MessageResources.sql +31 -0
  92. package/dist/core/OperatorConfig.d.ts +1 -0
  93. package/dist/core/OperatorConfig.d.ts.map +1 -1
  94. package/dist/core/OperatorConfig.js +10 -2
  95. package/dist/core/OperatorConfig.js.map +1 -1
  96. package/dist/core/PacketBuilder.d.ts +5 -7
  97. package/dist/core/PacketBuilder.d.ts.map +1 -1
  98. package/dist/core/PacketBuilder.js +160 -158
  99. package/dist/core/PacketBuilder.js.map +1 -1
  100. package/dist/core/PacketBuilder.sql +20 -6
  101. package/dist/core/ProposalLifecycle.d.ts +1 -1
  102. package/dist/core/ProposalLifecycle.d.ts.map +1 -1
  103. package/dist/core/ProposalLifecycle.js +18 -20
  104. package/dist/core/ProposalLifecycle.js.map +1 -1
  105. package/dist/core/ProposalPolicies.d.ts +6 -0
  106. package/dist/core/ProposalPolicies.d.ts.map +1 -0
  107. package/dist/core/ProposalPolicies.js +28 -0
  108. package/dist/core/ProposalPolicies.js.map +1 -0
  109. package/dist/core/ProviderInstantiate.d.ts.map +1 -1
  110. package/dist/core/ProviderInstantiate.js +3 -4
  111. package/dist/core/ProviderInstantiate.js.map +1 -1
  112. package/dist/core/ReplyMetadata.d.ts +10 -0
  113. package/dist/core/ReplyMetadata.d.ts.map +1 -0
  114. package/dist/core/ReplyMetadata.js +20 -0
  115. package/dist/core/ReplyMetadata.js.map +1 -0
  116. package/dist/core/ResourceSelector.js +2 -2
  117. package/dist/core/ResourceSelector.js.map +1 -1
  118. package/dist/core/ResourceTransfers.js +3 -3
  119. package/dist/core/ResourceTransfers.js.map +1 -1
  120. package/dist/core/RuntimeWorker.sql +1 -2
  121. package/dist/core/SchemeRegistry.d.ts.map +1 -1
  122. package/dist/core/SchemeRegistry.js +4 -5
  123. package/dist/core/SchemeRegistry.js.map +1 -1
  124. package/dist/core/ServiceHelp.d.ts +6 -0
  125. package/dist/core/ServiceHelp.d.ts.map +1 -0
  126. package/dist/core/ServiceHelp.js +35 -0
  127. package/dist/core/ServiceHelp.js.map +1 -0
  128. package/dist/core/StoredPacket.d.ts +1 -0
  129. package/dist/core/StoredPacket.d.ts.map +1 -1
  130. package/dist/core/StoredPacket.js +4 -1
  131. package/dist/core/StoredPacket.js.map +1 -1
  132. package/dist/core/StrikeRail.d.ts.map +1 -1
  133. package/dist/core/StrikeRail.js +2 -2
  134. package/dist/core/StrikeRail.js.map +1 -1
  135. package/dist/core/TokenCalibration.d.ts +2 -2
  136. package/dist/core/TokenCalibration.d.ts.map +1 -1
  137. package/dist/core/TokenCalibration.js +12 -16
  138. package/dist/core/TokenCalibration.js.map +1 -1
  139. package/dist/core/TokenCalibration.sql +29 -6
  140. package/dist/core/ToolInputSchema.d.ts +1 -0
  141. package/dist/core/ToolInputSchema.d.ts.map +1 -1
  142. package/dist/core/ToolInputSchema.js +8 -2
  143. package/dist/core/ToolInputSchema.js.map +1 -1
  144. package/dist/core/ToolResources.d.ts +1 -0
  145. package/dist/core/ToolResources.d.ts.map +1 -1
  146. package/dist/core/ToolResources.js +7 -1
  147. package/dist/core/ToolResources.js.map +1 -1
  148. package/dist/core/TurnDispositionHandler.d.ts +1 -2
  149. package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
  150. package/dist/core/TurnDispositionHandler.js +31 -33
  151. package/dist/core/TurnDispositionHandler.js.map +1 -1
  152. package/dist/core/TurnMaterialization.d.ts.map +1 -1
  153. package/dist/core/TurnMaterialization.js +12 -2
  154. package/dist/core/TurnMaterialization.js.map +1 -1
  155. package/dist/core/TurnOps.d.ts +5 -1
  156. package/dist/core/TurnOps.d.ts.map +1 -1
  157. package/dist/core/TurnOps.js +29 -2
  158. package/dist/core/TurnOps.js.map +1 -1
  159. package/dist/core/TurnRunner.d.ts.map +1 -1
  160. package/dist/core/TurnRunner.js +184 -103
  161. package/dist/core/TurnRunner.js.map +1 -1
  162. package/dist/core/TurnSources.sql +2 -2
  163. package/dist/core/WorkerControlHandler.d.ts.map +1 -1
  164. package/dist/core/WorkerControlHandler.js +1 -8
  165. package/dist/core/WorkerControlHandler.js.map +1 -1
  166. package/dist/core/WorkerName.d.ts +1 -0
  167. package/dist/core/WorkerName.d.ts.map +1 -1
  168. package/dist/core/WorkerName.js +2 -0
  169. package/dist/core/WorkerName.js.map +1 -1
  170. package/dist/core/WorkerName.sql +2 -2
  171. package/dist/core/WorkerOwners.d.ts +13 -0
  172. package/dist/core/WorkerOwners.d.ts.map +1 -0
  173. package/dist/core/WorkerOwners.js +44 -0
  174. package/dist/core/WorkerOwners.js.map +1 -0
  175. package/dist/core/WorkerOwners.sql +55 -0
  176. package/dist/core/env-catalog.d.ts +3 -0
  177. package/dist/core/env-catalog.d.ts.map +1 -1
  178. package/dist/core/env-catalog.js +44 -9
  179. package/dist/core/env-catalog.js.map +1 -1
  180. package/dist/core/fork.sql +3 -4
  181. package/dist/core/packet-inject.js +0 -2
  182. package/dist/core/packet-inject.js.map +1 -1
  183. package/dist/core/packet-wire.d.ts +9 -11
  184. package/dist/core/packet-wire.d.ts.map +1 -1
  185. package/dist/core/packet-wire.js +103 -126
  186. package/dist/core/packet-wire.js.map +1 -1
  187. package/dist/core/plurnk-uri.d.ts +1 -1
  188. package/dist/core/plurnk-uri.d.ts.map +1 -1
  189. package/dist/core/plurnk-uri.js +4 -4
  190. package/dist/core/plurnk-uri.js.map +1 -1
  191. package/dist/core/recap-lines.d.ts +4 -0
  192. package/dist/core/recap-lines.d.ts.map +1 -0
  193. package/dist/core/recap-lines.js +11 -0
  194. package/dist/core/recap-lines.js.map +1 -0
  195. package/dist/core/scheme-types.d.ts +2 -1
  196. package/dist/core/scheme-types.d.ts.map +1 -1
  197. package/dist/core/sql-functions.d.ts +2 -0
  198. package/dist/core/sql-functions.d.ts.map +1 -0
  199. package/dist/core/sql-functions.js +5 -0
  200. package/dist/core/sql-functions.js.map +1 -0
  201. package/dist/core/turn-scheduler.d.ts.map +1 -1
  202. package/dist/core/turn-scheduler.js +1 -1
  203. package/dist/core/turn-scheduler.js.map +1 -1
  204. package/dist/core/types.d.ts +0 -1
  205. package/dist/core/types.d.ts.map +1 -1
  206. package/dist/core/unregistered-scheme.d.ts +1 -3
  207. package/dist/core/unregistered-scheme.d.ts.map +1 -1
  208. package/dist/core/unregistered-scheme.js +3 -11
  209. package/dist/core/unregistered-scheme.js.map +1 -1
  210. package/dist/evidence/EvidenceReader.d.ts.map +1 -1
  211. package/dist/evidence/EvidenceReader.js +18 -2
  212. package/dist/evidence/EvidenceReader.js.map +1 -1
  213. package/dist/evidence/digest.sql +2 -2
  214. package/dist/man/plurnk-service.1 +488 -0
  215. package/dist/schemes/EffectPolicy.d.ts.map +1 -1
  216. package/dist/schemes/EffectPolicy.js +1 -10
  217. package/dist/schemes/EffectPolicy.js.map +1 -1
  218. package/dist/schemes/Env.d.ts +26 -0
  219. package/dist/schemes/Env.d.ts.map +1 -0
  220. package/dist/schemes/Env.js +133 -0
  221. package/dist/schemes/Env.js.map +1 -0
  222. package/dist/schemes/Exec.d.ts.map +1 -1
  223. package/dist/schemes/Exec.js +30 -37
  224. package/dist/schemes/Exec.js.map +1 -1
  225. package/dist/schemes/ExecOutputScheme.d.ts +3 -2
  226. package/dist/schemes/ExecOutputScheme.d.ts.map +1 -1
  227. package/dist/schemes/ExecOutputScheme.js +9 -0
  228. package/dist/schemes/ExecOutputScheme.js.map +1 -1
  229. package/dist/schemes/File.d.ts.map +1 -1
  230. package/dist/schemes/File.js +10 -16
  231. package/dist/schemes/File.js.map +1 -1
  232. package/dist/schemes/Log.d.ts.map +1 -1
  233. package/dist/schemes/Log.js +33 -10
  234. package/dist/schemes/Log.js.map +1 -1
  235. package/dist/schemes/Log.sql +9 -0
  236. package/dist/schemes/QuestionTool.d.ts.map +1 -1
  237. package/dist/schemes/QuestionTool.js +1 -3
  238. package/dist/schemes/QuestionTool.js.map +1 -1
  239. package/dist/schemes/Worker.d.ts.map +1 -1
  240. package/dist/schemes/Worker.js +6 -8
  241. package/dist/schemes/Worker.js.map +1 -1
  242. package/dist/schemes/_entry-find.d.ts +1 -1
  243. package/dist/schemes/_entry-find.d.ts.map +1 -1
  244. package/dist/schemes/_entry-find.js +16 -9
  245. package/dist/schemes/_entry-find.js.map +1 -1
  246. package/dist/schemes/_entry-fts.d.ts.map +1 -1
  247. package/dist/schemes/_entry-fts.js +3 -9
  248. package/dist/schemes/_entry-fts.js.map +1 -1
  249. package/dist/schemes/_entry-manifest.js +3 -3
  250. package/dist/schemes/_entry-manifest.js.map +1 -1
  251. package/dist/schemes/_entry-ops.js +1 -1
  252. package/dist/schemes/_entry-ops.js.map +1 -1
  253. package/dist/schemes/exec-abort.js +2 -2
  254. package/dist/schemes/exec-abort.js.map +1 -1
  255. package/dist/server/ConfigurationDiagnostics.d.ts +1 -0
  256. package/dist/server/ConfigurationDiagnostics.d.ts.map +1 -1
  257. package/dist/server/ConfigurationDiagnostics.js +9 -0
  258. package/dist/server/ConfigurationDiagnostics.js.map +1 -1
  259. package/dist/server/Daemon.d.ts +13 -8
  260. package/dist/server/Daemon.d.ts.map +1 -1
  261. package/dist/server/Daemon.js +57 -53
  262. package/dist/server/Daemon.js.map +1 -1
  263. package/dist/server/DrainSupervisor.d.ts +2 -4
  264. package/dist/server/DrainSupervisor.d.ts.map +1 -1
  265. package/dist/server/DrainSupervisor.js +5 -12
  266. package/dist/server/DrainSupervisor.js.map +1 -1
  267. package/dist/server/EnvFunctionality.d.ts +6 -6
  268. package/dist/server/EnvFunctionality.d.ts.map +1 -1
  269. package/dist/server/EnvFunctionality.js +7 -6
  270. package/dist/server/EnvFunctionality.js.map +1 -1
  271. package/dist/server/Functionality.d.ts.map +1 -1
  272. package/dist/server/Functionality.js +42 -13
  273. package/dist/server/Functionality.js.map +1 -1
  274. package/dist/server/FunctionalityManager.d.ts +3 -4
  275. package/dist/server/FunctionalityManager.d.ts.map +1 -1
  276. package/dist/server/FunctionalityManager.js +17 -9
  277. package/dist/server/FunctionalityManager.js.map +1 -1
  278. package/dist/server/HttpListener.d.ts.map +1 -1
  279. package/dist/server/HttpListener.js +9 -3
  280. package/dist/server/HttpListener.js.map +1 -1
  281. package/dist/server/MembersFunctionality.d.ts +2 -5
  282. package/dist/server/MembersFunctionality.d.ts.map +1 -1
  283. package/dist/server/MembersFunctionality.js +5 -3
  284. package/dist/server/MembersFunctionality.js.map +1 -1
  285. package/dist/server/WorkspaceStorage.d.ts +0 -1
  286. package/dist/server/WorkspaceStorage.d.ts.map +1 -1
  287. package/dist/server/WorkspaceStorage.js +1 -24
  288. package/dist/server/WorkspaceStorage.js.map +1 -1
  289. package/dist/server/client-input.d.ts +1 -2
  290. package/dist/server/client-input.d.ts.map +1 -1
  291. package/dist/server/client-input.js +13 -15
  292. package/dist/server/client-input.js.map +1 -1
  293. package/dist/server/dispatch-as-plurnk.js +1 -1
  294. package/dist/server/dispatch-as-plurnk.js.map +1 -1
  295. package/dist/server/drain.sql +16 -15
  296. package/dist/server/envelope.d.ts +2 -1
  297. package/dist/server/envelope.d.ts.map +1 -1
  298. package/dist/server/envelope.js +7 -17
  299. package/dist/server/envelope.js.map +1 -1
  300. package/dist/server/envelope.sql +5 -5
  301. package/dist/server/seam-proposal-list.sql +6 -4
  302. package/dist/server/workspace-storage.sql +0 -5
  303. package/dist/service.d.ts.map +1 -1
  304. package/dist/service.js +28 -64
  305. package/dist/service.js.map +1 -1
  306. package/docs/env.md +22 -0
  307. package/migrations/003_loops.sql +2 -2
  308. package/migrations/006_log.sql +1 -1
  309. package/migrations/016_selection_statements.sql +1 -0
  310. package/migrations/017_skills_module.sql +1 -0
  311. package/migrations/018_worker_owners.sql +103 -0
  312. package/migrations/019_interactive_owners.sql +7 -0
  313. package/migrations/020_log_projection.sql +144 -0
  314. package/migrations/021_packet_roles.sql +86 -0
  315. package/migrations/022_message_completion.sql +24 -0
  316. package/package.json +41 -43
  317. package/dist/core/LegacyHome.d.ts +0 -10
  318. package/dist/core/LegacyHome.d.ts.map +0 -1
  319. package/dist/core/LegacyHome.js +0 -170
  320. package/dist/core/LegacyHome.js.map +0 -1
  321. package/dist/core/LoopPolicies.d.ts +0 -7
  322. package/dist/core/LoopPolicies.d.ts.map +0 -1
  323. package/dist/core/LoopPolicies.js +0 -42
  324. package/dist/core/LoopPolicies.js.map +0 -1
  325. package/dist/core/LoopPolicyReader.d.ts +0 -7
  326. package/dist/core/LoopPolicyReader.d.ts.map +0 -1
  327. package/dist/core/LoopPolicyReader.js +0 -33
  328. package/dist/core/LoopPolicyReader.js.map +0 -1
  329. package/dist/core/LoopPolicyReader.sql +0 -6
  330. package/dist/index.d.ts +0 -14
  331. package/dist/index.d.ts.map +0 -1
  332. package/dist/index.js +0 -21
  333. package/dist/index.js.map +0 -1
package/.env.defaults CHANGED
@@ -35,18 +35,11 @@ PLURNK_SERVICE_SQLITE_READERS=0
35
35
 
36
36
  # --- Permissions and membership ---
37
37
  # CapabilityPolicy JSON: deny removes matching demands; only admits only matches.
38
- # Workspace, Worker, and loop policies may narrow this ceiling, never widen it.
38
+ # Workspace policy may narrow this ceiling, never widen it.
39
39
  PLURNK_SERVICE_CAPABILITIES={}
40
- # What a loop does with a proposal when its creator did not say: review holds it for a
41
- # client's answer; accept applies it and reject refuses it inside the loop.
40
+ # Proposal settlement: review asks the worker's owner; accept or reject settles in core.
41
+ # Review without a capable owner rejects. Disconnect alone never removes that capability.
42
42
  PLURNK_SERVICE_PROPOSALS=review
43
- # Whether anyone is attending a loop when its creator did not say: 1 = someone can answer;
44
- # 0 = unattended, so no human-in-the-loop surface is offered and a wait nobody could end concludes.
45
- PLURNK_SERVICE_ATTENDED=1
46
- # What an unattended loop does with a proposal when its creator did not say: accept | reject.
47
- # Nobody is present to review, so review is not a choice here. Rejecting is the honest default: an
48
- # effect nobody approved does not run. A harness that means to run unattended states accept.
49
- PLURNK_SERVICE_UNATTENDED_PROPOSALS=reject
50
43
  # New filesystem files: none | root | namespace (also outside root). Existing-member writes unchanged.
51
44
  PLURNK_SERVICE_FILE_CREATE_SCOPE=root
52
45
  # Model-added membership: none | root | namespace. Workspaces may narrow it.
@@ -57,6 +50,8 @@ PLURNK_MEMBERS_ENABLED=1
57
50
  # PLURNK_MEMBERS_docs=docs/**
58
51
  # PLURNK_MEMBERS_no_locks=!**/*.lock
59
52
  # PLURNK_MEMBERS_docs_ENABLED=0
53
+ # Any alias: its glob, and its own _ENABLED control.
54
+ # PLURNK_MEMBERS_<alias>=<glob>
60
55
  # Matched paths a members definition lists as its sample; the rest are counted.
61
56
  PLURNK_SERVICE_MEMBERS_SAMPLE=20
62
57
  # Git membership, status, and branch integration: 1 = permitted; 0 = denied service-wide.
@@ -71,11 +66,12 @@ PLURNK_SERVICE_FILE_MATERIALIZE_MAX_BYTES=104857600
71
66
  # --- Loop limits and recovery ---
72
67
  # Default child model: alias or provider/model. Unset = inherit the spawning loop's model.
73
68
  # PLURNK_MODEL_CHILD=fast
74
- # Model calls across the worker tree, including BARE and resumes; -1 = unlimited. Clients may tighten it.
69
+ # Opt-in model-call ceiling shared by the worker tree, including BARE and resumes; -1 = uncapped.
70
+ # Runtime (_plurnk) ancestry supplies no ceiling. Clients may tighten the model tree's limit.
75
71
  PLURNK_SERVICE_MAX_TURNS=-1
76
72
  # Actions per emission; -1 = unlimited. Final disposition remains; excess actions report an error.
77
73
  PLURNK_SERVICE_MAX_COMMANDS=-1
78
- # Concurrent nonterminal runs per workspace; -1 = unlimited. Excess spawns return 508, not a queue.
74
+ # Concurrent live workers per workspace; -1 = unlimited. Excess spawns return 508, not a queue.
79
75
  PLURNK_SERVICE_WORKSPACE_WORKERS_MAX_ACTIVE=-1
80
76
  # Active execution allowance per task, positive ms; WAIT pauses it, wakes retain it. Exhaustion: 504.
81
77
  PLURNK_SERVICE_LOOP_TIMEOUT=86400000
@@ -83,8 +79,8 @@ PLURNK_SERVICE_LOOP_TIMEOUT=86400000
83
79
  PLURNK_SERVICE_LIVE_TIMEOUT=600000
84
80
  # End-to-end shutdown budget, positive ms; includes database and listener cleanup.
85
81
  PLURNK_SERVICE_STOP_TIMEOUT_MS=30000
86
- # Provider recovery window, ms; 0 = no reissue. Expiry parks attended loops until a prompt/wake;
87
- # unattended loops conclude and BARE returns the provider failure.
82
+ # Provider recovery window, ms; 0 = no reissue. Expiry parks workers with a reviewer;
83
+ # without one the loop concludes. BARE returns the provider failure.
88
84
  PLURNK_SERVICE_PROVIDER_RECOVERY=900000
89
85
  # First recovery delay, ms; doubles on failure up to PROVIDER_RECOVERY_BACKOFF_MAX below.
90
86
  PLURNK_SERVICE_PROVIDER_RECOVERY_BACKOFF=5000
@@ -132,7 +128,7 @@ PLURNK_SERVICE_EFFECT_READ=auto
132
128
  PLURNK_SERVICE_EFFECT_PURE=auto
133
129
  # Brief settlement wait for new streams/completing siblings, ms; 0 = off; quiescence ends it early.
134
130
  PLURNK_SERVICE_OPTIMISTIC_WAIT_MS=5000
135
- # Maximum park before reassessing live work, positive seconds; WAIT <seconds> overrides one park.
131
+ # Maximum park before reassessing live work, positive seconds; WAIT [seconds] overrides one park.
136
132
  PLURNK_SERVICE_WAIT_SEC=300
137
133
  # Ambient environment an EXEC subprocess may inherit from the host: exact names, or one
138
134
  # trailing-* prefix glob. This is a CEILING — a worker or a heading modifier narrows it,
@@ -155,7 +151,10 @@ PLURNK_SERVICE_EDIT_RECEIPT_CONTEXT_LINES=4
155
151
  PLURNK_SERVICE_EDIT_RECEIPT_REMOVED_LINES=40
156
152
  # Paths named per class in the packet's git status; the rest are counted.
157
153
  PLURNK_SERVICE_GIT_STATUS_PATHS=8
158
- # Heaviest retained log rows the Context gauge names, as {path, tokens}; 0 names none.
154
+ # Above this share of the budget, measured before adding either, the Context gauge names its largest rows
155
+ # and a packet within its budget carries the budget_pressure notice ({§context-pressure-notice}).
156
+ PLURNK_SERVICE_BUDGET_PRESSURE=80%
157
+ # Heaviest retained log rows the pressured Context gauge names, as {path, tokens}; 0 names none.
159
158
  PLURNK_SERVICE_BUDGET_LARGEST_ITEMS=5
160
159
  # First page of everything that comes back unasked in size: a READ or FIND without a scope, a stream's
161
160
  # delivery, a peer worker's message, a receipt the model did not author ({§markerless-first-page}).
@@ -163,12 +162,17 @@ PLURNK_SERVICE_BUDGET_LARGEST_ITEMS=5
163
162
  PLURNK_SERVICE_PREVIEW_LINES=100
164
163
  # Independent bound on the same page, Unicode code points; CRLF counts as one separator.
165
164
  PLURNK_SERVICE_PREVIEW_CHARS=16000
165
+ # Assistant replay ({§emission-history}): none, latest, or all eligible turns from this loop, each as the
166
+ # NOTEs it wrote, in the model's voice; every other operation is omitted. The context wall may omit
167
+ # the whole section; source evidence never changes.
168
+ PLURNK_SERVICE_EMISSION_HISTORY=all
166
169
  # Optional reasoning memory ({§reasoning-row}): 1 adds the turn's preview before its emission or results,
167
170
  # only when room remains after all requested results and diagnostics. Otherwise omit it silently. 0 disables it.
168
- PLURNK_SERVICE_REASONING_ROWS=1
171
+ PLURNK_SERVICE_REASONING_ROWS=0
169
172
  # The row's page ({§reasoning-row}): reasoning that fits it lands whole; longer reasoning lands as its last page,
170
173
  # this many lines within PLURNK_SERVICE_PREVIEW_CHARS, because a turn's conclusions and plan sit at its end; the
171
- # rest stays readable at reasoning://. Unset/empty = the shared page, PLURNK_SERVICE_PREVIEW_LINES.
174
+ # rest stays readable at reasoning://. -1 returns the complete reasoning without either preview bound,
175
+ # still only if it fits. Unset/empty = the shared page, PLURNK_SERVICE_PREVIEW_LINES; 0 is invalid.
172
176
  # PLURNK_SERVICE_REASONING_TRAILING_LINES=40
173
177
  # Code points of an entry's prose summary the catalog shows whole.
174
178
  PLURNK_SERVICE_CATALOG_SUMMARY_CHARS=256
@@ -197,6 +201,10 @@ PLURNK_SERVICE_ROOTS=project,plurnk,global
197
201
  # PLURNK_SERVICE_POLICY=
198
202
  # Recap file, relative to the package root; unset = packaged recap.md; empty file omits the section.
199
203
  # PLURNK_SERVICE_RECAP=
204
+ # Recap lines, one per key: PLURNK_SERVICE_RECAP_LINE_<alias>=<line> ({§recap-lines}). Each opens with YOU MUST,
205
+ # YOU MUST NOT, YOU MUST ONLY, YOU SHOULD, YOU SHOULD NOT or YOU MAY and renders as one callout, in alias order,
206
+ # ahead of the Recap source. An empty value turns a shipped line off.
207
+ # PLURNK_SERVICE_RECAP_LINE_<alias>=
200
208
 
201
209
  # --- Search indexing ---
202
210
  # Comma-separated globs excluded from derivation, not READ. No slash = basename; slash = pathname.
@@ -215,7 +223,7 @@ PLURNK_SERVICE_DERIVE_PROGRESS_HEARTBEAT_MS=15000
215
223
  # Packet compositions kept per loop, newest first; -1 = every packet, forever.
216
224
  PLURNK_SERVICE_RETAIN_PACKET_TURNS=-1
217
225
  # Packet compositions kept by age, ms since the turn completed; -1 = no age limit. Thirty days:
218
- # no session reads its own packets back that late, and a daemon left running for months stops growing.
226
+ # no worker reads its own packets back that late, and a daemon left running for months stops growing.
219
227
  PLURNK_SERVICE_RETAIN_PACKET_MS=2592000000
220
228
  # Model response bodies kept per loop, newest first; -1 = every body, forever. The call's
221
229
  # evidence, admission and accounting always stay.
package/INSTALL.md CHANGED
@@ -33,8 +33,9 @@ or enables the unit.
33
33
  | Plurnk-only MCP servers | `$XDG_CONFIG_HOME/plurnk/mcp.json` |
34
34
 
35
35
  Use `plurnk-service config` for paths and precedence, `config edit` to edit the
36
- user file, and `config check` to validate it. An old `~/.plurnk` is not read
37
- implicitly; `plurnk-service paths migrate` relocates it with the daemon stopped.
36
+ user file, and `config check` to validate it. A `PLURNK_*` key that file sets and
37
+ no installed package declares is named at startup and by `config check`, which
38
+ still passes; `config defaults` lists every declared key.
38
39
 
39
40
  Invalid optional configuration stays visible without removing the repair environment.
40
41
  `config check` is strict; ordinary startup keeps unrelated capabilities and client
@@ -100,6 +101,24 @@ Extension settings remain environment/configuration values; they do not extend t
100
101
  service CLI. Boolean flags use `1` and `0`. An empty value is not an unset value;
101
102
  the owning declaration specifies its meaning.
102
103
 
104
+ ## Manual and shell completions
105
+
106
+ The installed package includes a generated manual and static completions. They
107
+ require no running daemon. Find the global npm package at
108
+ `$(npm root -g)/@plurnk/plurnk-service`; the paths below are relative to it.
109
+
110
+ | Artifact | Use |
111
+ | --- | --- |
112
+ | `dist/man/plurnk-service.1` | Open with `man /path/to/plurnk-service.1`, or copy into a directory on `MANPATH` (commonly `~/.local/share/man/man1/`). |
113
+ | `dist/completions/plurnk-service.bash` | Source from your Bash configuration. |
114
+ | `dist/completions/_plurnk-service` | Copy into a directory on Zsh's `fpath` before `compinit`. |
115
+ | `dist/completions/plurnk-service.fish` | Copy into `~/.config/fish/completions/`, or the corresponding `XDG_CONFIG_HOME` location. |
116
+
117
+ Completion offers command names, long options and filenames. Configuration
118
+ values remain in `plurnk-service config defaults`, not a separate static catalog.
119
+ Package installation does not edit shell configuration or install these files
120
+ outside the package.
121
+
103
122
  ## Choose the right scope
104
123
 
105
124
  | Change | Owner and effect |
package/README.md CHANGED
@@ -5,6 +5,9 @@ operation dispatch. Its client surface is AG-UI over HTTP/SSE through
5
5
  `@plurnk/plurnk-agui`. The user-facing CLI lives in
6
6
  [plurnk](https://github.com/plurnk/plurnk).
7
7
 
8
+ See [installation and configuration](INSTALL.md), including the packaged
9
+ [manual and shell completions](INSTALL.md#manual-and-shell-completions).
10
+
8
11
  ## What an agent can do
9
12
 
10
13
  The exact model-facing language and operation set are owned by
@@ -47,8 +50,7 @@ Configuration follows XDG at `$XDG_CONFIG_HOME/plurnk` (normally
47
50
  `plurnk-service config defaults` for
48
51
  the complete installed option catalog and `plurnk-service config check` to
49
52
  validate without contacting a provider. **[`INSTALL.md`](./INSTALL.md) is the
50
- configuration guide.** A legacy mixed `~/.plurnk` is moved only by the explicit
51
- `plurnk-service paths migrate` command.
53
+ configuration guide.**
52
54
 
53
55
  Protect durable history with a [consistent database backup](./INSTALL.md#backup-and-restore).
54
56
  The `share` command exports diagnostic reports, not a restorable database.