@plurnk/plurnk-service 3.1.0 → 3.3.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.
- package/.env.defaults +24 -19
- package/INSTALL.md +20 -1
- package/SPEC.md +448 -121
- package/dist/build-info.json +1 -1
- package/dist/completions/_plurnk-service +1 -1
- package/dist/completions/plurnk-service.bash +1 -1
- package/dist/completions/plurnk-service.fish +1 -0
- package/dist/content/path-mimetype.d.ts.map +1 -1
- package/dist/content/path-mimetype.js +2 -8
- package/dist/content/path-mimetype.js.map +1 -1
- package/dist/core/AdmittedTurnExecutor.d.ts.map +1 -1
- package/dist/core/AdmittedTurnExecutor.js +22 -10
- package/dist/core/AdmittedTurnExecutor.js.map +1 -1
- package/dist/core/BudgetReadout.d.ts +1 -3
- package/dist/core/BudgetReadout.d.ts.map +1 -1
- package/dist/core/BudgetReadout.js +43 -46
- package/dist/core/BudgetReadout.js.map +1 -1
- package/dist/{schemes/_derivation-use.d.ts → core/ContentUse.d.ts} +3 -3
- package/dist/core/ContentUse.d.ts.map +1 -0
- package/dist/{schemes/_derivation-use.js → core/ContentUse.js} +8 -7
- package/dist/core/ContentUse.js.map +1 -0
- package/dist/core/CoreSchemeServices.d.ts.map +1 -1
- package/dist/core/CoreSchemeServices.js +1 -0
- package/dist/core/CoreSchemeServices.js.map +1 -1
- package/dist/core/DataStatementRunner.d.ts.map +1 -1
- package/dist/core/DataStatementRunner.js +8 -20
- package/dist/core/DataStatementRunner.js.map +1 -1
- package/dist/core/Dispatcher.d.ts +9 -1
- package/dist/core/Dispatcher.d.ts.map +1 -1
- package/dist/core/Dispatcher.js +151 -76
- package/dist/core/Dispatcher.js.map +1 -1
- package/dist/core/EditMutations.js +1 -1
- package/dist/core/EditMutations.js.map +1 -1
- package/dist/core/Engine.d.ts +1 -1
- package/dist/core/Engine.d.ts.map +1 -1
- package/dist/core/Engine.js +3 -3
- package/dist/core/Engine.js.map +1 -1
- package/dist/core/FileAddress.d.ts +12 -0
- package/dist/core/FileAddress.d.ts.map +1 -0
- package/dist/core/FileAddress.js +73 -0
- package/dist/core/FileAddress.js.map +1 -0
- package/dist/core/FilePublication.d.ts +15 -0
- package/dist/core/FilePublication.d.ts.map +1 -0
- package/dist/core/FilePublication.js +143 -0
- package/dist/core/FilePublication.js.map +1 -0
- package/dist/core/FileSnapshot.d.ts +26 -0
- package/dist/core/FileSnapshot.d.ts.map +1 -0
- package/dist/core/FileSnapshot.js +179 -0
- package/dist/core/FileSnapshot.js.map +1 -0
- package/dist/core/KillHandler.d.ts.map +1 -1
- package/dist/core/KillHandler.js +2 -1
- package/dist/core/KillHandler.js.map +1 -1
- package/dist/core/LoopLifecycle.sql +3 -2
- package/dist/core/MembershipMaterialization.d.ts.map +1 -1
- package/dist/core/MembershipMaterialization.js +87 -143
- package/dist/core/MembershipMaterialization.js.map +1 -1
- package/dist/core/MutationEffects.d.ts +2 -1
- package/dist/core/MutationEffects.d.ts.map +1 -1
- package/dist/core/MutationEffects.js +14 -1
- package/dist/core/MutationEffects.js.map +1 -1
- package/dist/core/PacketBuilder.d.ts.map +1 -1
- package/dist/core/PacketBuilder.js +16 -13
- package/dist/core/PacketBuilder.js.map +1 -1
- package/dist/core/PacketBuilder.sql +22 -0
- package/dist/core/PathGlob.d.ts +6 -0
- package/dist/core/PathGlob.d.ts.map +1 -0
- package/dist/core/PathGlob.js +24 -0
- package/dist/core/PathGlob.js.map +1 -0
- package/dist/core/ProposalLifecycle.d.ts +3 -1
- package/dist/core/ProposalLifecycle.d.ts.map +1 -1
- package/dist/core/ProposalLifecycle.js +46 -33
- package/dist/core/ProposalLifecycle.js.map +1 -1
- package/dist/core/ProposalLifecycle.sql +4 -0
- package/dist/core/ResourceBindings.d.ts.map +1 -1
- package/dist/core/ResourceBindings.js +4 -3
- package/dist/core/ResourceBindings.js.map +1 -1
- package/dist/core/ResourceSelector.d.ts +1 -2
- package/dist/core/ResourceSelector.d.ts.map +1 -1
- package/dist/core/ResourceSelector.js +30 -9
- package/dist/core/ResourceSelector.js.map +1 -1
- package/dist/core/ResourceTransfers.d.ts +1 -1
- package/dist/core/ResourceTransfers.d.ts.map +1 -1
- package/dist/core/ResourceTransfers.js +26 -11
- package/dist/core/ResourceTransfers.js.map +1 -1
- package/dist/core/TurnDispositionHandler.d.ts +1 -1
- package/dist/core/TurnDispositionHandler.d.ts.map +1 -1
- package/dist/core/TurnDispositionHandler.js +5 -3
- package/dist/core/TurnDispositionHandler.js.map +1 -1
- package/dist/core/TurnRunner.d.ts.map +1 -1
- package/dist/core/TurnRunner.js +6 -4
- package/dist/core/TurnRunner.js.map +1 -1
- package/dist/core/WorkerControlHandler.d.ts.map +1 -1
- package/dist/core/WorkerControlHandler.js +38 -2
- package/dist/core/WorkerControlHandler.js.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.d.ts +2 -0
- package/dist/core/caps/SchemeCtxImpl.d.ts.map +1 -1
- package/dist/core/caps/SchemeCtxImpl.js +7 -0
- package/dist/core/caps/SchemeCtxImpl.js.map +1 -1
- package/dist/core/fork.sql +2 -2
- package/dist/core/git-membership.d.ts +1 -0
- package/dist/core/git-membership.d.ts.map +1 -1
- package/dist/core/git-membership.js +9 -11
- package/dist/core/git-membership.js.map +1 -1
- package/dist/core/glob_match.js +3 -3
- package/dist/core/glob_match.js.map +1 -1
- package/dist/core/mutation-types.d.ts +4 -0
- package/dist/core/mutation-types.d.ts.map +1 -1
- package/dist/core/namespace.d.ts +4 -1
- package/dist/core/namespace.d.ts.map +1 -1
- package/dist/core/namespace.js +14 -3
- package/dist/core/namespace.js.map +1 -1
- package/dist/core/packet-wire.d.ts +1 -1
- package/dist/core/packet-wire.d.ts.map +1 -1
- package/dist/core/packet-wire.js +17 -11
- package/dist/core/packet-wire.js.map +1 -1
- package/dist/core/plurnk-uri.d.ts +4 -3
- package/dist/core/plurnk-uri.d.ts.map +1 -1
- package/dist/core/plurnk-uri.js +24 -12
- package/dist/core/plurnk-uri.js.map +1 -1
- package/dist/core/scheme-types.d.ts +2 -0
- package/dist/core/scheme-types.d.ts.map +1 -1
- package/dist/core/sqlite-synchronous.d.ts +2 -0
- package/dist/core/sqlite-synchronous.d.ts.map +1 -0
- package/dist/core/sqlite-synchronous.js +4 -0
- package/dist/core/sqlite-synchronous.js.map +1 -0
- package/dist/evidence/EvidenceReader.d.ts.map +1 -1
- package/dist/evidence/EvidenceReader.js +8 -1
- package/dist/evidence/EvidenceReader.js.map +1 -1
- package/dist/evidence/digest.sql +6 -1
- package/dist/man/plurnk-service.1 +35 -24
- package/dist/schemes/Env.d.ts +1 -1
- package/dist/schemes/Env.d.ts.map +1 -1
- package/dist/schemes/Env.js +2 -2
- package/dist/schemes/Env.js.map +1 -1
- package/dist/schemes/Exec.d.ts.map +1 -1
- package/dist/schemes/Exec.js +5 -1
- package/dist/schemes/Exec.js.map +1 -1
- package/dist/schemes/ExecutionInput.d.ts +2 -1
- package/dist/schemes/ExecutionInput.d.ts.map +1 -1
- package/dist/schemes/ExecutionInput.js +44 -6
- package/dist/schemes/ExecutionInput.js.map +1 -1
- package/dist/schemes/File.d.ts +1 -0
- package/dist/schemes/File.d.ts.map +1 -1
- package/dist/schemes/File.js +246 -269
- package/dist/schemes/File.js.map +1 -1
- package/dist/schemes/Log.d.ts.map +1 -1
- package/dist/schemes/Log.js +68 -8
- package/dist/schemes/Log.js.map +1 -1
- package/dist/schemes/Log.sql +24 -1
- package/dist/schemes/Worker.js +1 -1
- package/dist/schemes/Worker.js.map +1 -1
- package/dist/schemes/_entry-crud.d.ts +2 -0
- package/dist/schemes/_entry-crud.d.ts.map +1 -1
- package/dist/schemes/_entry-crud.js +8 -5
- package/dist/schemes/_entry-crud.js.map +1 -1
- package/dist/schemes/_entry-crud.sql +15 -15
- package/dist/schemes/_entry-find.d.ts +1 -0
- package/dist/schemes/_entry-find.d.ts.map +1 -1
- package/dist/schemes/_entry-find.js +15 -10
- package/dist/schemes/_entry-find.js.map +1 -1
- package/dist/schemes/_entry-manifest.d.ts +2 -2
- package/dist/schemes/_entry-manifest.d.ts.map +1 -1
- package/dist/schemes/_entry-manifest.js +7 -5
- package/dist/schemes/_entry-manifest.js.map +1 -1
- package/dist/schemes/_entry-ops.d.ts.map +1 -1
- package/dist/schemes/_entry-ops.js +9 -7
- package/dist/schemes/_entry-ops.js.map +1 -1
- package/dist/schemes/_path-scope.d.ts.map +1 -1
- package/dist/schemes/_path-scope.js +12 -4
- package/dist/schemes/_path-scope.js.map +1 -1
- package/dist/schemes/_search-index.js +3 -3
- package/dist/schemes/_search-index.js.map +1 -1
- package/dist/schemes/exec-env.d.ts.map +1 -1
- package/dist/schemes/exec-env.js +7 -22
- package/dist/schemes/exec-env.js.map +1 -1
- package/dist/server/Daemon.d.ts +7 -1
- package/dist/server/Daemon.d.ts.map +1 -1
- package/dist/server/Daemon.js +90 -69
- package/dist/server/Daemon.js.map +1 -1
- package/dist/server/DrainSupervisor.d.ts +3 -3
- package/dist/server/DrainSupervisor.d.ts.map +1 -1
- package/dist/server/DrainSupervisor.js +46 -5
- package/dist/server/DrainSupervisor.js.map +1 -1
- package/dist/server/EnvFunctionality.d.ts.map +1 -1
- package/dist/server/EnvFunctionality.js +19 -11
- package/dist/server/EnvFunctionality.js.map +1 -1
- package/dist/server/Functionality.d.ts.map +1 -1
- package/dist/server/Functionality.js +89 -45
- package/dist/server/Functionality.js.map +1 -1
- package/dist/server/FunctionalityManager.d.ts +2 -5
- package/dist/server/FunctionalityManager.d.ts.map +1 -1
- package/dist/server/FunctionalityManager.js +10 -6
- package/dist/server/FunctionalityManager.js.map +1 -1
- package/dist/server/MembersFunctionality.d.ts +7 -8
- package/dist/server/MembersFunctionality.d.ts.map +1 -1
- package/dist/server/MembersFunctionality.js +94 -62
- package/dist/server/MembersFunctionality.js.map +1 -1
- package/dist/server/MessageAbandonment.d.ts +7 -0
- package/dist/server/MessageAbandonment.d.ts.map +1 -0
- package/dist/server/MessageAbandonment.js +57 -0
- package/dist/server/MessageAbandonment.js.map +1 -0
- package/dist/server/Retention.d.ts.map +1 -1
- package/dist/server/Retention.js +5 -5
- package/dist/server/Retention.js.map +1 -1
- package/dist/server/Retention.sql +49 -23
- package/dist/server/Rollback.d.ts +29 -0
- package/dist/server/Rollback.d.ts.map +1 -0
- package/dist/server/Rollback.js +111 -0
- package/dist/server/Rollback.js.map +1 -0
- package/dist/server/drain.sql +9 -0
- package/dist/server/lifecycle-recovery.sql +4 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +4 -0
- package/dist/service.js.map +1 -1
- package/docs/copy-move.md +3 -0
- package/docs/env.md +12 -6
- package/docs/members.md +30 -10
- package/migrations/023_file_revisions.sql +54 -0
- package/migrations/024_proposal_decisions.sql +34 -0
- package/migrations/025_response_retention.sql +30 -0
- package/migrations/026_message_obligations.sql +32 -0
- package/migrations/027_members_identity.sql +20 -0
- package/migrations/028_mutation_patch.sql +20 -0
- package/package.json +35 -34
- package/dist/schemes/_derivation-use.d.ts.map +0 -1
- package/dist/schemes/_derivation-use.js.map +0 -1
package/.env.defaults
CHANGED
|
@@ -20,8 +20,11 @@ PLURNK_SERVICE_SHARE_FOLDER=
|
|
|
20
20
|
# The listener's address, PLURNK_HOST and PLURNK_PORT, is shared with every client and so is
|
|
21
21
|
# declared by @plurnk/plurnk-contracts; --host and --port still spell it for one invocation.
|
|
22
22
|
|
|
23
|
-
# --- SQLite
|
|
24
|
-
#
|
|
23
|
+
# --- SQLite ---
|
|
24
|
+
# WAL durability ({§db-durability}): FULL syncs every commit; NORMAL may lose recent commits
|
|
25
|
+
# on power loss; OFF may corrupt the database; EXTRA equals FULL in WAL. Applied before migration.
|
|
26
|
+
PLURNK_SERVICE_SQLITE_SYNCHRONOUS=FULL
|
|
27
|
+
# Lock wait, ms; 0 = immediate failure. Unset = sqlrite's default.
|
|
25
28
|
# PLURNK_SERVICE_SQLITE_TIMEOUT=5000
|
|
26
29
|
# Page cache: positive = pages; negative = KiB. Unset = SQLite default.
|
|
27
30
|
# PLURNK_SERVICE_SQLITE_CACHE_SIZE=-16000
|
|
@@ -69,7 +72,7 @@ PLURNK_SERVICE_FILE_MATERIALIZE_MAX_BYTES=104857600
|
|
|
69
72
|
# Opt-in model-call ceiling shared by the worker tree, including BARE and resumes; -1 = uncapped.
|
|
70
73
|
# Runtime (_plurnk) ancestry supplies no ceiling. Clients may tighten the model tree's limit.
|
|
71
74
|
PLURNK_SERVICE_MAX_TURNS=-1
|
|
72
|
-
#
|
|
75
|
+
# Resolved actions per emission, including glob targets; -1 = unlimited. WAIT remains exempt.
|
|
73
76
|
PLURNK_SERVICE_MAX_COMMANDS=-1
|
|
74
77
|
# Concurrent live workers per workspace; -1 = unlimited. Excess spawns return 508, not a queue.
|
|
75
78
|
PLURNK_SERVICE_WORKSPACE_WORKERS_MAX_ACTIVE=-1
|
|
@@ -131,11 +134,11 @@ PLURNK_SERVICE_OPTIMISTIC_WAIT_MS=5000
|
|
|
131
134
|
# Maximum park before reassessing live work, positive seconds; WAIT [seconds] overrides one park.
|
|
132
135
|
PLURNK_SERVICE_WAIT_SEC=300
|
|
133
136
|
# Ambient environment an EXEC subprocess may inherit from the host: exact names, or one
|
|
134
|
-
# trailing-* prefix glob. This
|
|
135
|
-
#
|
|
136
|
-
#
|
|
137
|
+
# trailing-* prefix glob. This bounds inherited host values, not explicit non-reserved values.
|
|
138
|
+
# PLURNK_* and provider credential names remain excluded regardless of these selectors.
|
|
139
|
+
# Module-owned launches and explicit MCP bindings follow their own launch contract.
|
|
137
140
|
# The shipped list is what a shell, git, node and python need to run at all. An operator
|
|
138
|
-
# who wants a tool
|
|
141
|
+
# who wants a non-reserved tool credential inherited by commands adds its name.
|
|
139
142
|
PLURNK_SERVICE_EXEC_ENV_INHERIT=PATH,HOME,USER,LOGNAME,SHELL,PWD,TMPDIR,TERM,TZ,LANG,LC_*,PAGER,GIT_PAGER,NO_COLOR,CI
|
|
140
143
|
# Names removed after INHERIT, same shapes; narrows without rewriting the list above.
|
|
141
144
|
PLURNK_SERVICE_EXEC_ENV_EXCLUDE=
|
|
@@ -151,14 +154,15 @@ PLURNK_SERVICE_EDIT_RECEIPT_CONTEXT_LINES=4
|
|
|
151
154
|
PLURNK_SERVICE_EDIT_RECEIPT_REMOVED_LINES=40
|
|
152
155
|
# Paths named per class in the packet's git status; the rest are counted.
|
|
153
156
|
PLURNK_SERVICE_GIT_STATUS_PATHS=8
|
|
154
|
-
# Above this share of the budget, measured before adding
|
|
155
|
-
#
|
|
157
|
+
# Above this share of the budget, measured before adding the inventory, the Context gauge names its largest
|
|
158
|
+
# rows ({§context-gauge}); the gauge's percent is on every packet regardless.
|
|
156
159
|
PLURNK_SERVICE_BUDGET_PRESSURE=80%
|
|
157
160
|
# Heaviest retained log rows the pressured Context gauge names, as {path, tokens}; 0 names none.
|
|
158
161
|
PLURNK_SERVICE_BUDGET_LARGEST_ITEMS=5
|
|
159
162
|
# First page of everything that comes back unasked in size: a READ or FIND without a scope, a stream's
|
|
160
163
|
# delivery, a peer worker's message, a receipt the model did not author ({§markerless-first-page}).
|
|
161
|
-
# Lines of text, bytes of a byte view, results of a FIND; explicit scopes stay exact.
|
|
164
|
+
# Lines of text, bytes of a byte view, results of a FIND; explicit scopes stay exact. 100 is a page for
|
|
165
|
+
# the million-token windows hosted models have; a deployment with a small room tunes it down.
|
|
162
166
|
PLURNK_SERVICE_PREVIEW_LINES=100
|
|
163
167
|
# Independent bound on the same page, Unicode code points; CRLF counts as one separator.
|
|
164
168
|
PLURNK_SERVICE_PREVIEW_CHARS=16000
|
|
@@ -219,23 +223,24 @@ PLURNK_SERVICE_DERIVE_STORE_BATCH=1024
|
|
|
219
223
|
# Progress heartbeat, ms; starts, failures, and completion are immediate; no-op passes stay silent.
|
|
220
224
|
PLURNK_SERVICE_DERIVE_PROGRESS_HEARTBEAT_MS=15000
|
|
221
225
|
|
|
222
|
-
# --- Retention:
|
|
223
|
-
# Packet compositions kept per loop, newest first; -1
|
|
226
|
+
# --- Retention: packet/response bodies and unreferenced content ({§retention-policy}) ---
|
|
227
|
+
# Packet compositions kept per loop, newest first; -1 disables the count limit, not the age limit.
|
|
224
228
|
PLURNK_SERVICE_RETAIN_PACKET_TURNS=-1
|
|
225
|
-
# Packet compositions kept by age, ms since the turn completed; -1
|
|
226
|
-
# no worker reads its own packets back that late, and a daemon left running for months stops growing.
|
|
229
|
+
# Packet compositions kept by age, ms since the turn completed; -1 disables the age limit.
|
|
227
230
|
PLURNK_SERVICE_RETAIN_PACKET_MS=2592000000
|
|
228
|
-
#
|
|
229
|
-
#
|
|
231
|
+
# Calls with captured payloads kept per loop, newest first; -1 disables the count limit.
|
|
232
|
+
# These controls do not retire messages, turn sources, operations, approval decisions or accounting.
|
|
230
233
|
PLURNK_SERVICE_RETAIN_RESPONSE_TURNS=-1
|
|
231
|
-
#
|
|
234
|
+
# Call payloads kept by age, ms since the turn completed; -1 disables the age limit.
|
|
235
|
+
# Covers normalized responses and all physical-request payloads, including failed retries.
|
|
236
|
+
# Identities, status, usage and cost remain; retirement is timestamped on the logical call.
|
|
232
237
|
PLURNK_SERVICE_RETAIN_RESPONSE_MS=2592000000
|
|
233
238
|
# Collect packet items no turn's composition references (1), or keep them (0).
|
|
234
239
|
PLURNK_SERVICE_COLLECT_PACKET_ITEMS=1
|
|
235
240
|
# Collect derivations no channel, turn source, or log row cites (1), or keep them (0).
|
|
236
241
|
PLURNK_SERVICE_COLLECT_DERIVATIONS=1
|
|
237
|
-
# Collect
|
|
238
|
-
# ({§content-
|
|
242
|
+
# Collect unreferenced text and native bodies (1), or keep them (0).
|
|
243
|
+
# Retained messages, operations and packet attachments pin native bytes ({§native-content-lifetime}).
|
|
239
244
|
PLURNK_SERVICE_COLLECT_CONTENTS=1
|
|
240
245
|
# Retention cadence while the daemon runs, ms; 0 = at shutdown only.
|
|
241
246
|
PLURNK_SERVICE_RETENTION_INTERVAL_MS=3600000
|
package/INSTALL.md
CHANGED
|
@@ -79,6 +79,25 @@ sidecars together. Copy the backup to a fresh working path, select that path wit
|
|
|
79
79
|
`PLURNK_SERVICE_DB_PATH`, and start the same or a newer compatible service version.
|
|
80
80
|
Do not overwrite a live database or pair a restored file with old sidecars.
|
|
81
81
|
|
|
82
|
+
| Restored input | Startup behaviour |
|
|
83
|
+
| --- | --- |
|
|
84
|
+
| Database | Retained history, approval decisions, attachments and workspace/worker configuration return. Interrupted work is settled without replaying uncertain effects ({§worker-lifecycle-restart-recovery}). |
|
|
85
|
+
| Project files and service configuration | Restore separately. Current files remain authoritative; startup reads the current configuration, not an earlier ambient environment captured in history. |
|
|
86
|
+
| Schedules | Enabled definitions rearm from the present; missed occurrences are not replayed ({§schedule-residency}, {§schedule-first-arming}). |
|
|
87
|
+
| Interactive MCP authorization | Reauthorize. Tokens and pending sign-ins are process-local, not part of the database backup ({§oauth-lifetime}). |
|
|
88
|
+
|
|
89
|
+
Retention controls expire packet compositions and call payloads, including physical-request
|
|
90
|
+
captures. Messages, turn sources, operation receipts, approval decisions and request accounting
|
|
91
|
+
remain with their containing history ({§retention-policy}); referenced attachment bytes remain
|
|
92
|
+
too ({§native-content-lifetime}). This is not content erasure. A share contains only what remains
|
|
93
|
+
when it is taken.
|
|
94
|
+
|
|
95
|
+
`PLURNK_SERVICE_SQLITE_SYNCHRONOUS` selects the database's WAL durability before migrations
|
|
96
|
+
or startup writes. Its shipped setting is in `.env.defaults`. `FULL` synchronizes every commit
|
|
97
|
+
to storage; selecting `NORMAL` explicitly trades power-loss durability for fewer synchronizations.
|
|
98
|
+
The guarantees and storage assumptions are defined in {§db-durability}. Neither setting makes
|
|
99
|
+
project-file writes transactional or replaces backups.
|
|
100
|
+
|
|
82
101
|
## Precedence
|
|
83
102
|
|
|
84
103
|
Highest priority first ({§operator-config-precedence}):
|
|
@@ -125,7 +144,7 @@ outside the package.
|
|
|
125
144
|
| --- | --- |
|
|
126
145
|
| Startup defaults or installed extension configuration | The daemon's environment cascade. A remote client's shell does not change it. |
|
|
127
146
|
| Model, reasoning, child model | Worker selections persist. Set them through client controls; changing a startup default does not retarget an existing Worker. |
|
|
128
|
-
| MCPs, skills, outbound agents, schedules, membership | Workspace Functionality: list, discover, add, enable, disable, remove. Workers share the workspace's current selection. |
|
|
147
|
+
| MCPs, skills, outbound agents, schedules, membership | Workspace Functionality: list, discover, add, replace, enable, disable, remove. Workers share the workspace's current selection. |
|
|
129
148
|
| Command environment | `env` manages worker overrides or workspace defaults. It does not reconfigure the daemon; running processes keep their launch environment. |
|
|
130
149
|
| External capabilities | Service policy is a ceiling; workspace policy can narrow it for every worker. Hiding a doc does not grant or revoke authority. |
|
|
131
150
|
| Proposal review / YOLO | Decides who accepts or rejects an admitted operation. Automatic acceptance never overrides capability or resource permissions. |
|