@plurnk/plurnk-service 1.21.0 → 1.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.env.defaults CHANGED
@@ -144,13 +144,13 @@ PLURNK_SERVICE_PREVIEW_LINES=100
144
144
  PLURNK_SERVICE_PREVIEW_CHARS=16000
145
145
  # Turn0 reasoning READ: -1 = complete; 0 = omit; N = first N lines. Later reads are model-chosen.
146
146
  # Alias override: PLURNK_REASONING_VIEW_LINES_<alias>. Source retention/streaming are unchanged.
147
- PLURNK_REASONING_VIEW_LINES=-1
147
+ PLURNK_REASONING_VIEW_LINES=100
148
148
  # After a turn with no operation, its reasoning is read back: same scale, same alias override.
149
- PLURNK_REASONING_EMPTY_TURN_LINES=-1
149
+ PLURNK_REASONING_EMPTY_TURN_LINES=100
150
150
  # Cold-start input allowance reserved for automatic prompt bodies, percentage in (0,100).
151
151
  # Alias override: PLURNK_SERVICE_PROMPT_PROJECTION_<alias>. Full prompts remain addressable.
152
152
  PLURNK_SERVICE_PROMPT_PROJECTION=25%
153
- # Neighboring lines hashed on each side of an editable line anchor; 0 = addressed line only.
153
+ # Minimum neighbors hashed on each side of an editable line anchor; repeated handles widen context.
154
154
  PLURNK_SERVICE_LINE_ANCHOR_CONTEXT_LINES=2
155
155
  # Surrounding and changed lines shown at each EDIT boundary; overlapping windows coalesce.
156
156
  PLURNK_SERVICE_EDIT_RECEIPT_CONTEXT_LINES=4
package/SPEC.md CHANGED
@@ -506,7 +506,7 @@ Every admitted authority is a literal `workers.name`; self-addressing uses the c
506
506
  resource with no body is `422 spawn-prompt-empty`. Naming the child and giving a resource in one
507
507
  statement is not expressible; the body can READ the resource instead. Taught in the deep
508
508
  reference only.
509
- - §worker-scheme-irc **irc** — ```` ```SEND (worker://<name>) ```` with a message body delivers it to an existing worker, the **voice door** ({§actor-boundary-two-doors}): an active worker folds it into its next turn, an idle one wakes ({§actor-boundary-passive-wake}). A fresh receiving loop retains that worker's durable model, spawn override, and reasoning policy; the sender and daemon default do not re-select it. The caller addresses itself by its literal name; a literal name with no worker in the workspace is 404.
509
+ - §worker-scheme-irc **irc** — ```` ```SEND (worker://<name>) ```` with a message body or attachments delivers it to an existing worker, the **voice door** ({§actor-boundary-two-doors}): an active worker folds it into its next turn, an idle one wakes ({§actor-boundary-passive-wake}). No text beyond whitespace and no attachments is 422 `message-empty`, before message admission or recipient loop creation. Nonempty text is delivered verbatim; attachment-only delivery uses {§send-resource-attachments}. A fresh receiving loop retains that worker's durable model, spawn override, and reasoning policy; the sender and daemon default do not re-select it. The caller addresses itself by its literal name; a literal name with no worker in the workspace is 404.
510
510
  - §worker-scheme-fork **Fork** — ```` ```FORK (worker://<name>)? ```` with a task body branches the
511
511
  current worker into a **named** child: its log is deep-copied
512
512
  ({§machine-processes-fork-copies-the-log}), which continues with `task`; the
@@ -1856,18 +1856,42 @@ coordinates and derives its internal anchors from canonical content and identity
1856
1856
  not from whether a model-facing READ publishes them. Explicit log anchors remain
1857
1857
  available for curation without granting source EDIT.
1858
1858
 
1859
- For canonical model-facing
1860
- resource identity `R`, configured non-negative neighbor count `C`, ordered
1861
- content array `W` containing that line and up to `C` complete lines on either
1862
- side (all excluding separators), and the line's offset `O` within `W`
1863
- (`min(L-1, C)` for one-based ordinal `L`), core hashes the JSON tuple
1864
- `["plurnk-line-anchor-v2",R,C,O,W]` with SHA-256, interprets the digest as a
1865
- big-endian integer modulo `62^5`, and encodes five fixed-width characters with
1866
- alphabet `0-9A-Za-z`. The ordinal itself is not hashed (#428): a line keeps its
1867
- anchor wherever it moves while its content and neighborhood are unchanged, so
1868
- edits above a line — the model's own earlier edits included — never stale the
1869
- anchors below them; identical neighborhoods share one anchor and resolve as
1870
- ambiguous with the matching lines, never as a silent landing on a twin. The universal READ projector derives
1859
+ For canonical resource identity `R`, minimum neighbor count `C` from
1860
+ `PLURNK_SERVICE_LINE_ANCHOR_CONTEXT_LINES`, one-based line `L`, and ordered
1861
+ window `W` containing the line and up to `C` neighbors on either side (without
1862
+ separators), the initial fingerprint is SHA-256 of the JSON tuple
1863
+ `["plurnk-line-anchor-v2",R,C,min(L-1,C),W]`. Its big-endian integer modulo
1864
+ `62^5`, encoded with alphabet `0-9A-Za-z`, supplies the five-character handle.
1865
+ Absolute ordinals and occurrence numbers are not identity.
1866
+
1867
+ §line-anchor-disambiguation Repeated handles expand their content context on
1868
+ the complete canonical resource, before any READ scope or preview:
1869
+
1870
+ | Condition | Derivation / outcome |
1871
+ | --- | --- |
1872
+ | Handle is unique | Keep it; expansion elsewhere does not re-key it. |
1873
+ | Handle repeats | Double the context radius (`0` first becomes `1`), re-fingerprint the repeated lines, and recheck all resulting handles. |
1874
+ | Expanded context | Hash the ordered left block, addressed line, and right block with `R`, `C`, and the expanded radius. Compose doubled side blocks from their two previous SHA-256 fingerprints; missing blocks are `null`. No absolute position, mutable registry, or fuzzy relocation. |
1875
+ | Shift outside distinguishing context | Handle remains valid when that context and its uniqueness remain unchanged. |
1876
+ | Context or required disambiguation changes | The old handle may become stale; do not redirect it by ordinal or occurrence. |
1877
+ | Full-resource radius reached | Stop expansion. A residual short-hash collision remains ambiguous and is refused, never resolved by picking a match. |
1878
+
1879
+ Side-block leaves cover up to `max(C,1)` neighboring lines and hash their
1880
+ ordered line arrays; expanded handles hash
1881
+ `["plurnk-line-anchor-context-v1",R,C,radius,left,line,right]`, where `line`
1882
+ hashes the addressed line's text. Side-block parents hash the ordered pair of
1883
+ child fingerprints. Context expansion takes logarithmically many rounds and
1884
+ linear auxiliary storage, not increasingly large substring copies per line.
1885
+ Larger distinguishing contexts deliberately carry larger stale-check regions.
1886
+ Anchors are content preconditions, not persistent physical-line identities: an
1887
+ exact copy of the distinguishing context cannot be told from a move after the
1888
+ original context disappears. Multiple current matches are never guessed.
1889
+ Within one program {§edit-anchor-continuity} retains proven bindings through
1890
+ its own splices, including changes to contextual disambiguation. This does not
1891
+ grant bindings to another program or bypass concurrent-write checks. Applied
1892
+ EDIT receipts publish current anchors under {§edit-receipt-anchored-context}.
1893
+
1894
+ The universal READ projector derives
1871
1895
  anchors from the complete canonical selected channel before applying the
1872
1896
  authored text slice; its durable result retains the canonical derivation
1873
1897
  identity and anchors aligned with returned lines. Packet rendering right-aligns
@@ -2002,7 +2026,7 @@ READ is the one fan-out core performs ({§read-fan-out}).
2002
2026
  Each such row carries `attrs.fanout` (`target`, the authored glob; `matched`, the
2003
2027
  survey's matching path count; `index`; `count`), so a client presents the authored
2004
2028
  statement once and folds the paths beneath it without inferring the group.
2005
- Without a scope each path renders its ordinary `<1,16>` preview; with a pattern
2029
+ Without a scope each path uses {§markerless-first-page}; with a pattern
2006
2030
  only the matching lines, `grep -n` style. The authored statement contributes
2007
2031
  `rowsWritten`, the receipt count, to its turn's sequence. No path is one 204
2008
2032
  receipt on the authored glob (`matched: 0` when a pattern selected nothing); a
@@ -2099,7 +2123,7 @@ The program begins with its own NOTE and READs its reasoning and persisted ops,
2099
2123
  demonstrating both NOTE placements and their ordinary results. The initial message arrives separately as an
2100
2124
  inbound SEND ({§message-arrival}). Neither initialization nor later turns
2101
2125
  manufacture a task inventory.
2102
- `PLURNK_REASONING_VIEW_LINES` (default `-1`, alias-scoped) selects this one READ's
2126
+ `PLURNK_REASONING_VIEW_LINES` (alias-scoped, default in `.env.defaults`) selects this one READ's
2103
2127
  scope: `0` omits it, `-1` reads the complete rationale, and a positive integer
2104
2128
  bounds it to the first N lines. Source retention, deliberate READs, and client
2105
2129
  streaming are independent. The only other automatic reasoning READ follows an empty
@@ -2110,7 +2134,7 @@ turn admitted under {§empty-turn}, one runtime turn of the same loop
2110
2134
  (`{ producer="_plurnk", kind="operation" }`) dispatches
2111
2135
  `READ (reasoning://<worker>/<loop>/<turn>) <!-- turn N emitted no OP -->` over that turn's stored
2112
2136
  reasoning source; its receipt renders in the next packet like any other log row.
2113
- `PLURNK_REASONING_EMPTY_TURN_LINES` (default `-1`, alias-scoped) selects the scope on the same
2137
+ `PLURNK_REASONING_EMPTY_TURN_LINES` (alias-scoped, default in `.env.defaults`) selects the scope on the same
2114
2138
  scale as `PLURNK_REASONING_VIEW_LINES`. No read follows a turn without reasoning, and none follows
2115
2139
  a turn whose emission or reasoning carries a foreign tool-call grammar ({§response-text-note});
2116
2140
  the strike and its error row are unchanged.
@@ -2150,27 +2174,25 @@ type and projection facts under {§read-bytes}.
2150
2174
  The `## Log` section is a sequence of ordinary Markdown records separated by one blank line:
2151
2175
 
2152
2176
  ```text
2153
- ### log:///<loop>/<turn>/<item>/<leaf> · <logTokens>
2154
- OP (operands) <marks> [metadata] <!-- aside -->
2155
- {"oneLine":"strict JSON result facts"}
2177
+ ### log:///<loop>/<turn>/<item>/<leaf> → path pattern · <logTokens>
2178
+ {"oneLine":"strict JSON facts"}
2156
2179
  <coordinate-prefixed body lines when visible>
2157
2180
  ```
2158
2181
 
2159
2182
  | Line | Content | Rule |
2160
2183
  |---|---|---|
2161
- | H3 | The row's complete model-facing identity and canonical READ address, then ` · ` and its `logTokens` charge ({§packet-token-accounting}). | Always present; nothing else repeats the identity, the operation, or the charge. |
2162
- | written | The request as the language writes it ({§heading-slot-order}): the operation or runtime, every operand in the packet's canonical spelling ({§log-address-metadata}), marks, metadata blocks, matcher, aside. No fence, no body. | Present for every operation and execution row; absent on `error` and `extension` rows. |
2163
- | facts | One strict JSON object of result facts in stable alphabetical order. | Present only when a fact exists; it never re-encodes the written line. |
2184
+ | H3 | Only the row's complete READ address, addressed resource(s), selection pattern(s), and ` · ` followed by its `logTokens` charge ({§packet-token-accounting}). | Always present. Canonical operands follow arrows ({§log-address-metadata}); each pattern follows its operand. No invocation parentheses, scope, aside or metadata block. The operation appears only in the URI leaf. |
2185
+ | facts | One strict JSON object in stable alphabetical order. | Present only when a fact exists. Asides, scopes, opaque invocation metadata and result facts belong here, not on the H3. |
2164
2186
  | body | Coordinate-prefixed lines. | Present when the row is visible. |
2165
2187
 
2166
- The written line is the model's own request, so a matcher such as `/\bhello\b/i` returns exactly as it was written, never JSON-quoted. Absent fields are not invented. Every physical body line retains its canonical numeric `N:` or anchored `@hash N:` coordinate, so source text cannot create a record boundary. The section contains records only, with no leading prose or enclosing fence.
2188
+ Patterns retain their literal spelling; a pattern containing a line break is JSON-quoted to keep the H3 on one physical line. Receipts are descriptive records, not reconstructed operation headings. Absent fields are not invented. Every physical body line retains its canonical numeric `N:` or anchored `@hash N:` coordinate, so source text cannot create a record boundary. The section contains records only, with no leading prose or enclosing fence.
2167
2189
 
2168
2190
  §log-address-metadata **Addresses name their relationship, not the row's producer.**
2169
2191
 
2170
2192
  | Spelling | Meaning | Where |
2171
2193
  |---|---|---|
2172
- | `OP (path)` | The operation's addressed operand: read resource, mutation subject, message recipient, or executor operand. Explicit and automatic READs are written identically. Pathless operations are written bare. | Written line |
2173
- | `COPY (from) <marks> (to) <marks>` | COPY/MOVE's two operand selections, each retaining its optional scope; neither replaces actor attribution. | Written line |
2194
+ | `→ path` | The operation's addressed operand: read resource, mutation subject, message recipient, or executor operand. Explicit and automatic READs share this spelling. Pathless operations have no operand. | H3 |
2195
+ | `→ from pattern → to` | COPY/MOVE's ordered operands and any operand pattern; neither replaces actor attribution. Scopes remain paired by `scope.from` and `scope.to` in JSON. | H3 |
2174
2196
  | `stream` | An executor invocation's separately created output address, never a READ's alternative spelling of its operand. | Facts |
2175
2197
  | `resource` | A distinct returned resource under {§operation-resource-receipt}. | Facts |
2176
2198
 
@@ -2187,6 +2209,7 @@ Coordinate-prefixed lines are the text currently in context; a metadata-only row
2187
2209
 
2188
2210
  | Field | Coordinate owner | Representation |
2189
2211
  |---|---|---|
2212
+ | `scope` | The submitted operation | `<marks>` when present; COPY/MOVE use `{from,to}` with only the authored scopes. Omitted when a READ/FIND's result or Problem already supplies its range. |
2190
2213
  | `range` | The resource addressed by a successful READ/FIND | `<first,last> of N lines/resources/match locations/bytes`; singleton scopes use `<first>`. A complete dense selection reduces to `N units`; an empty selection from a nonempty extent is `none of N units`. |
2191
2214
  | `range` for exact text | The addressed text resource | `<startLine,startColumn,endLine,endColumn>`; no invented available extent. |
2192
2215
  | `preview` | The retained receipt body | Only when displayed incompletely: selected scope(s) `of N lines`, or exact selected region `of` complete region for an in-line cut. Replaces the body's otherwise redundant `lines` count. |
@@ -2204,7 +2227,7 @@ numbers and its receipt's body-relative curation coordinates remain distinct
2204
2227
  ({§log-kill-scope}). Byte ranges describe the hex selection, not native-media
2205
2228
  cropping ({§packet-attachment-parts}).
2206
2229
 
2207
- Successful retrieval metadata omits requested coordinates; durable results and
2230
+ Retrieval results omit redundant requested coordinates; durable results and
2208
2231
  submitted programs retain them. Failed selections keep requested coordinates
2209
2232
  and available extent in their owning Problem. Projection never parses its
2210
2233
  display strings to recover typed facts. A hidden body has no `preview`; a
@@ -2214,6 +2237,8 @@ curation, admission, or immutable evidence.
2214
2237
 
2215
2238
  Field absence carries defaults: `origin` is omitted for the owning model, `source` for the owning worker, and `status` for a routine 200. Dispositions always carry their lifecycle status, SEND its delivery status, KILL keeps an explicit 200, and every non-200 stays explicit. A present authored aside appears as `aside`. Every row's accounting follows {§packet-token-accounting}.
2216
2239
 
2240
+ Authored `metadata` retains its opaque ordered block strings under {§scheme-metadata-modifier}; COPY/MOVE pair them as `{from,to}`. Packet rendering does not interpret scheme options or discard malformed input from a failed operation.
2241
+
2217
2242
  - §operation-resource-receipt A result's nonempty `resource` address remains visible in receipt metadata when distinct from its `path` and `stream`. It identifies returned material without replacing the addressed operand or injecting that material into context; ordinary READ acquires it.
2218
2243
  - §packet-attachment-parts A successful READ of an attachable resource carries projection facts with its
2219
2244
  result ({§mimetype-projection-facts}): an image ({§mimetype-image}) as
@@ -2239,7 +2264,7 @@ Field absence carries defaults: `origin` is omitted for the owning model, `sourc
2239
2264
  records the exact READ coordinates sent without controlling retention. Missing immutable bytes are an
2240
2265
  internal integrity failure, never silently dropped content. No ejection message or permanent teaching is
2241
2266
  added. These stable curation weights are not provider-token measurements ({§tokenomics-render-weight-budget}).
2242
- - §packet-token-accounting Every row reports one `logTokens` charge on its H3 ({§log-wire-format}): its complete materialized H3, written request, facts, visible body, and selected native attachment. The completed record is measured to a fixed point, including the accounting field itself. No `tokensBody`, `tokensMetadata`, or `tokensActive` field is serialized. Hidden text is not charged; metadata-only rows still have a reclaimable charge. Source/FIND-item `tokens` measure source content, not the observation's context footprint. A FIND's nonzero `itemsTokenTotal` weighs the complete matched set; a nonzero `returnedItemsTokenTotal` appears only when the returned page differs. All use stable curation weights, not provider tokens or dollars. Native component accounting follows {§packet-attachment-parts}; ordinary addressability and truthful errors follow {§log-wire-format}.
2267
+ - §packet-token-accounting Every row reports one `logTokens` charge on its H3 ({§log-wire-format}): its complete materialized H3, facts, visible body, and selected native attachment. The completed record is measured to a fixed point, including the accounting field itself. No `tokensBody`, `tokensMetadata`, or `tokensActive` field is serialized. Hidden text is not charged; metadata-only rows still have a reclaimable charge. Source/FIND-item `tokens` measure source content, not the observation's context footprint. A FIND's nonzero `itemsTokenTotal` weighs the complete matched set; a nonzero `returnedItemsTokenTotal` appears only when the returned page differs. All use stable curation weights, not provider tokens or dollars. Native component accounting follows {§packet-attachment-parts}; ordinary addressability and truthful errors follow {§log-wire-format}.
2243
2268
 
2244
2269
  ### §retrieval-packet-metadata READ/FIND packet metadata
2245
2270
 
@@ -2253,10 +2278,10 @@ The packet projects one actionable owner for each retrieval fact:
2253
2278
  | catalog/path FIND | `range` in resources | none | none |
2254
2279
  | broad matcher FIND | `range` in resources | per-resource match-location counts; a resource with exactly one match also carries that match's `locator`/`region` | nonzero complete `matchLocationCount` |
2255
2280
  | exact matcher FIND | `range` in match locations | each row's locator/region; a regex or glob row also carries `matched`, the matched text | none |
2256
- | pattern READ ({§read-pattern}) | `range` over the physical lines | the selected lines with their ordinals and anchors | `matcher` and `matched`, the selected line count |
2281
+ | pattern READ ({§read-pattern}) | `range` over the physical lines | the selected lines with their ordinals and anchors | the heading's pattern and `matched`, the selected line count |
2257
2282
 
2258
- Any row whose statement carried a heading pattern ({§matcher-option}) names it as
2259
- `matcher`, and a pattern mutation ({§edit-pattern}, {§kill-pattern},
2283
+ Any row whose statement carried a heading pattern ({§matcher-option}) retains it
2284
+ in its H3, and a pattern mutation ({§edit-pattern}, {§kill-pattern},
2260
2285
  {§copy-move-pattern}) carries its `matched` count beside its receipt, so a
2261
2286
  digest can show what a pattern selected and how much it touched.
2262
2287
 
@@ -2541,7 +2566,7 @@ Log history preserved — `log_entries` stores path tuple as text, not FK to `en
2541
2566
  - §find-glob-filter-on-content The heading's `pattern` option ({§matcher-option})
2542
2567
  matches the selected channel's content or derivation; path globs select
2543
2568
  resources through `(target)` ({§path-glob}).
2544
- - §find-fulltext-selection Every matcher operates only over the candidate set selected by `(target)`; indexed matchers do not bypass that selection. `~query` passes the native FTS5 expression to SQLite and ranks matching candidates by ascending BM25, with resource identity breaking ties. Native BM25 uses the shared index's term statistics; candidate visibility, owner, channel and target filters determine which resources can be returned. The ordinary FIND pager selects resources for broad targets or match locations for exact targets: markerless search defaults to `<1,16>`, `<N>` selects position N and `<N,M>` selects an inclusive range. Fractions are invalid result coordinates, not similarity thresholds. Results expose addressable matched text regions; neither cosine scores nor percentage similarity is invented. Native query-syntax failures return 400 with SQLite's diagnostic; database and implementation failures propagate.
2569
+ - §find-fulltext-selection Every matcher operates only over the candidate set selected by `(target)`; indexed matchers do not bypass that selection. `~query` passes the native FTS5 expression to SQLite and ranks matching candidates by ascending BM25, with resource identity breaking ties. Native BM25 uses the shared index's term statistics; candidate visibility, owner, channel and target filters determine which resources can be returned. The ordinary FIND pager selects resources for broad targets or match locations for exact targets: markerless search uses {§markerless-first-page}, `<N>` selects position N and `<N,M>` selects an inclusive range. Fractions are invalid result coordinates, not similarity thresholds. Results expose addressable matched text regions; neither cosine scores nor percentage similarity is invented. Native query-syntax failures return 400 with SQLite's diagnostic; database and implementation failures propagate.
2545
2570
  - §find-scoped-isolation Workspace + scheme scoped — no cross-workspace/cross-scheme leakage.
2546
2571
  - §find-result-projection **The authored target shape determines the result unit; result cardinality never changes it** ({§find-result-unit}). Returns `FindResult { status, content, mimetype, results, range, matchingPathCount, matchLocationCount, itemsWeightTotal, returnedItemsWeightTotal }`:
2547
2572
 
@@ -2809,7 +2834,7 @@ control capabilities, not exceptions granting write access to stdout/resources.
2809
2834
 
2810
2835
  ### §exec Executions
2811
2836
 
2812
- AST: `{ runtime (the fence name in its registered lowercase spelling; there is no operation keyword), target (optional runtime-specific target), body: string | null (runtime-specific input), lineMarker (timeout/poll) }`.
2837
+ AST: `{ runtime (the fence name in its registered lowercase spelling; there is no operation keyword), target (optional runtime-specific target), body: string | null (runtime-specific input), lineMarker }`. Execution refuses a non-null scope under {§exec-lifetime}.
2813
2838
 
2814
2839
  §exec-target-routing Engine routes unconditionally to the `exec` scheme,
2815
2840
  resolves the runtime first, selects its static {§executor-invocation} or exact
@@ -2884,7 +2909,7 @@ target at its run boundary.
2884
2909
  §exec-source-temporary **Resource execution preserves source identity.** After
2885
2910
  acceptance, Core reparses the complete authored address and resolves one exact `<1,-1>` READ through
2886
2911
  {§universal-read-composition}; internal source consumption never borrows the
2887
- model-facing 16-line preview. For the default channel, a source owner supplying
2912
+ model-facing preview ({§body-projection}). For the default channel, a source owner supplying
2888
2913
  a native file through {§scheme-source-bytes} supplies the executor target:
2889
2914
  its filename, extension, sibling imports, and source-relative assets remain
2890
2915
  intact. This neither bypasses admission nor changes the executor's working
@@ -2940,11 +2965,6 @@ catalogue.
2940
2965
 
2941
2966
  Per-tool programs such as `go`, `cargo`, `make`, and `npm` do not earn executor tags merely because they are executables; they are complete shell commands in a `sh` executable fence. Registered tags exist only for tools that own a distinct body, target, or output contract. {§exec-registry-resolves}
2942
2967
 
2943
- **Timeout and poll — `<T,P>` on the `<L>` slot (grammar 0.74.20).** An execution
2944
- repurposes the line-marker slot as `<timeout, poll>` in **minutes** — agentic
2945
- latencies make a sub-minute horizon a trap — converted at the parse boundary to the
2946
- catalog's internal `stream.seconds`. WAIT takes no timing; future wakes belong to the schedule family.
2947
-
2948
2968
  §exec-lifetime **How long a spawn may live is the fence's metadata, one field.**
2949
2969
  `[{"lifetime": …}]` takes a duration (`30s`, `30m`, `2h`), or one of three words;
2950
2970
  absent is `loop`. An execution takes no scope: a numeric coordinate on an
@@ -3492,6 +3512,10 @@ loading; their runtime dependency graphs contain no leaf consumers. A required
3492
3512
  default leaf missing from a service install is a broken install. A direct
3493
3513
  framework consumer may intentionally omit leaves and receives that framework's
3494
3514
  documented unavailable-capability behavior.
3515
+ Packed executor coverage distinguishes installation from enablement: verify
3516
+ the package floor, explicit opt-in, and composed allowlist/disable behavior
3517
+ through discovery and registration outside the development dependency graph
3518
+ ({§executor-default-inventory}, {§executor-policy}).
3495
3519
  Every non-optional grammar in the mimetype framework's registry is a required
3496
3520
  service runtime dependency, and an optional one ({§mimetype-optional-grammars})
3497
3521
  must not be. Installation coverage loads each default grammar and verifies
@@ -3638,7 +3662,7 @@ Each knob's value lives on its panel and nowhere else (`plurnk-service config de
3638
3662
  | `PLURNK_SERVICE_PREVIEW_LINES` | First page of every markerless retrieval, in the projection's own units, and the head bound of an automatic preview ({§markerless-first-page}, {§body-projection}). |
3639
3663
  | `PLURNK_SERVICE_PREVIEW_CHARS` | Independent Unicode code-point bound on the same previews, with CRLF treated as one indivisible separator ({§body-projection}). |
3640
3664
  | `PLURNK_SERVICE_PROMPT_PROJECTION` | Aggregate curation-weight share of the provider-derived input capacity available to the automatic projection of arrivals from outside the workspace ({§message-projection}); alias-scoped overrides are supported. |
3641
- | `PLURNK_SERVICE_LINE_ANCHOR_CONTEXT_LINES` | Complete neighboring lines hashed on each side of a model-facing line anchor ({§line-anchors}). |
3665
+ | `PLURNK_SERVICE_LINE_ANCHOR_CONTEXT_LINES` | Minimum neighboring lines hashed on each side; repeated handles expand their context ({§line-anchor-disambiguation}). |
3642
3666
  | `PLURNK_SERVICE_EDIT_RECEIPT_CONTEXT_LINES` | Surrounding and landed lines shown at each EDIT result boundary ({§edit-result-receipt-projection}). |
3643
3667
  | `PLURNK_SERVICE_MIN_CYCLES` | Min repetitions before cycle detection fires ({§engine-rails}). |
3644
3668
  | `PLURNK_SERVICE_MAX_CYCLE_PERIOD` | Max period length cycle detection examines ({§engine-rails}). |
@@ -3680,6 +3704,12 @@ instead of a user's boot, and a dead knob cannot ship.
3680
3704
  | Operator env/shell | Model alias declarations and explicit selection overrides, provider capability such as GBNF, endpoints, credentials, tuning, and deliberate ceiling overrides. |
3681
3705
  | `test/setup.ts` | Mock-only alias, envelope, resource, storage, and isolation fixtures; unit/integration never consume the real-model profile. |
3682
3706
 
3707
+ The profile clears `PLURNK_SERVICE_POLICY`, disabling the implicit XDG
3708
+ `AGENTS.md` policy under {§policy-sections}. Mock tests do the same in their
3709
+ bootstrap. Live/demo and benchmarks may select a harness-owned policy explicitly;
3710
+ none implicitly inherit the daily-driving policy. This does not disable project
3711
+ `AGENTS.md` guidance or modify the operator's file.
3712
+
3683
3713
  The profile does not repeat `NODE_OPTIONS`: runner selection belongs to the invoking command, and a process-global Node option would leak into the daemon and its children. Hard ceilings such as max turns, max commands, and Git denial remain operator-owned; harnesses bound paid experiments through their per-call contract and never widen a configured ceiling here.
3684
3714
 
3685
3715
  §operator-config-zero-pin-gate **Zero-pin is a counterfactual real-model gate,
@@ -4815,7 +4845,7 @@ Retired terms stay retired: the lexicon guard rejects `thinking`, the unqualifie
4815
4845
  | inbound `SEND` from outside the workspace | budgeted head under {§message-projection} |
4816
4846
  | structured `EDIT` receipt or textual `COPY`/`MOVE` effects | complete receipt-owned join context |
4817
4847
  | every other nonempty body | head bounded independently by `PLURNK_SERVICE_PREVIEW_LINES` and `PLURNK_SERVICE_PREVIEW_CHARS` |
4818
- | bodyless row | heading, written request, and any facts; no coordinate lines; `logTokens` includes any selected native part |
4848
+ | bodyless row | heading and any facts; no coordinate lines; `logTokens` includes any selected native part |
4819
4849
 
4820
4850
  §markerless-first-page **Every markerless retrieval takes the same implicit marker.** A marker's
4821
4851
  unit is whatever its projection counts, so `PLURNK_SERVICE_PREVIEW_LINES` is the first page of
@@ -4969,7 +4999,8 @@ retain distinct contracts and lifetimes.
4969
4999
  | Import `@plurnk/plurnk-service/digest` | Ships `Digest` and its package-owned SqlRite statements; importing performs no I/O or process action. The CLI wrapper alone invokes it. |
4970
5000
  | `run({ dbPath })` | Reads the required database and writes a complete digest to `./test/digest` relative to the caller's working directory. |
4971
5001
  | `digestDir` | Selects a nonempty output directory. Both `run` and `requiem` refuse an output containing the input pathname or its resolved database before database/provider I/O or output writes; normalized and real paths participate in that check. `run` removes and recreates output so stale artifacts cannot survive; concurrent callers use distinct directories. |
4972
- | Reader lifetime | Both methods close their database reader on successful or failed reads, before rendering output or awaiting witness inference. |
5002
+ | Reader lifetime | `run` reads heavy evidence on demand while rendering, then closes its reader on success or failure. `requiem` closes its reader before awaiting witness inference. |
5003
+ | Export completion | Packet and response bodies are read and serialized one record at a time, without discarding evidence. `digest.json` is promoted from a partial file only after every artifact is written; its absence identifies an incomplete export. |
4973
5004
  | `workerId` | Narrows workers and every dependent loop, turn, turn-attached logical inference, specialization, physical request, and log row to that one worker. |
4974
5005
  | `workspaceId` | Narrows workers plus every logical inference and dependent evidence owned by one workspace, when both selectors are present they intersect. |
4975
5006
 
@@ -1 +1 @@
1
- {"package":"@plurnk/plurnk-service","version":"1.21.0","revision":"2daace18ba47c3998ca36403a3a0e808bad4e05f","dirty":false}
1
+ {"package":"@plurnk/plurnk-service","version":"1.21.1","revision":"7650feb0526a2dd34ca0102af7a3f10ccfb15689","dirty":false}
@@ -1 +1 @@
1
- {"version":3,"file":"line-anchors.d.ts","sourceRoot":"","sources":["../../src/content/line-anchors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"line-anchors.d.ts","sourceRoot":"","sources":["../../src/content/line-anchors.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,7 @@ import { TextCoordinates } from "@plurnk/plurnk-mimetypes";
3
3
  // A rendered anchor is a short, copyable validation handle, never resource
4
4
  // identity by itself. The universal READ projector supplies snapshot anchors;
5
5
  // current resolution fails closed on zero or multiple matches.
6
- // {§line-anchors} v2 (#428): the ordinal is not hashed. A line keeps its anchor
7
- // wherever it moves while its content and neighborhood are unchanged, so the
8
- // model's own earlier edits above a line never stale the anchors below it;
9
- // identical neighborhoods share one anchor and resolve as ambiguous, never as
10
- // a silent landing on a twin. The line's offset within its window (`min(L-1, C)`)
11
- // is hashed so that lines inside the first C lines - whose windows are the same
12
- // head-truncated slice - stay distinct; past the head the offset is constant.
6
+ // {§line-anchors}: content and context, not the absolute ordinal, identify a line.
13
7
  export default class LineAnchors {
14
8
  static invalidCoordinateDetail = "A line anchor occupies a column slot in <SL,SC,EL,EC>; columns must be numeric.";
15
9
  static invalidCoordinateRecovery = "Use <@start,@end> for an inclusive whole-line anchor range.";
@@ -65,12 +59,10 @@ export default class LineAnchors {
65
59
  }
66
60
  return value;
67
61
  }
68
- static #encode(identity, contextLines, offset, context) {
69
- if (identity.length === 0)
70
- throw new TypeError("A line anchor requires a non-empty resource identity.");
71
- const digest = createHash("sha256")
72
- .update(JSON.stringify(["plurnk-line-anchor-v2", identity, contextLines, offset, context]))
73
- .digest("hex");
62
+ static #digest(value) {
63
+ return createHash("sha256").update(JSON.stringify(value)).digest("hex");
64
+ }
65
+ static #encode(digest) {
74
66
  let value = BigInt(`0x${digest}`) % LineAnchors.#MODULUS;
75
67
  let encoded = "";
76
68
  for (let index = 0; index < LineAnchors.#LENGTH; index += 1) {
@@ -80,13 +72,52 @@ export default class LineAnchors {
80
72
  return `@${encoded}`;
81
73
  }
82
74
  static tokens(identity, content) {
75
+ if (identity.length === 0)
76
+ throw new TypeError("A line anchor requires a non-empty resource identity.");
83
77
  const contextLines = LineAnchors.#contextLines();
84
78
  const lines = TextCoordinates.logicalLines(content);
85
79
  const bodies = lines.map((line) => content.slice(line.start, line.contentEnd));
86
- return bodies.map((_, index) => {
80
+ const anchors = bodies.map((_, index) => {
87
81
  const start = Math.max(0, index - contextLines);
88
- return LineAnchors.#encode(identity, contextLines, index - start, bodies.slice(start, index + contextLines + 1));
82
+ return LineAnchors.#encode(LineAnchors.#digest([
83
+ "plurnk-line-anchor-v2", identity, contextLines, index - start,
84
+ bodies.slice(start, index + contextLines + 1),
85
+ ]));
89
86
  });
87
+ return LineAnchors.#disambiguate(identity, contextLines, bodies, anchors);
88
+ }
89
+ static #repeated(anchors) {
90
+ const counts = new Map();
91
+ for (const anchor of anchors)
92
+ counts.set(anchor, (counts.get(anchor) ?? 0) + 1);
93
+ return anchors.flatMap((anchor, index) => counts.get(anchor) > 1 ? [index] : []);
94
+ }
95
+ // {§line-anchor-disambiguation}: doubling fixed-size fingerprints keeps even
96
+ // an all-identical file O(N log N) after the configured minimum windows.
97
+ static #disambiguate(identity, contextLines, bodies, anchors) {
98
+ let repeated = LineAnchors.#repeated(anchors);
99
+ if (repeated.length === 0 || contextLines >= bodies.length - 1)
100
+ return anchors;
101
+ const leafRadius = Math.max(contextLines, 1);
102
+ const center = bodies.map((body) => LineAnchors.#digest(body));
103
+ let left = bodies.map((_, index) => LineAnchors.#digest(bodies.slice(Math.max(0, index - leafRadius), index)));
104
+ let right = bodies.map((_, index) => LineAnchors.#digest(bodies.slice(index + 1, index + leafRadius + 1)));
105
+ let radius = contextLines;
106
+ while (repeated.length > 0 && radius < bodies.length - 1) {
107
+ if (radius > 0) {
108
+ left = left.map((fingerprint, index) => LineAnchors.#digest([left[index - radius] ?? null, fingerprint]));
109
+ right = right.map((fingerprint, index) => LineAnchors.#digest([fingerprint, right[index + radius] ?? null]));
110
+ }
111
+ radius = radius === 0 ? 1 : radius * 2;
112
+ for (const index of repeated) {
113
+ anchors[index] = LineAnchors.#encode(LineAnchors.#digest([
114
+ "plurnk-line-anchor-context-v1", identity, contextLines, radius,
115
+ left[index], center[index], right[index],
116
+ ]));
117
+ }
118
+ repeated = LineAnchors.#repeated(anchors);
119
+ }
120
+ return anchors;
90
121
  }
91
122
  static token(identity, lineNumber, content) {
92
123
  const token = LineAnchors.tokens(identity, content)[lineNumber - 1];
@@ -1 +1 @@
1
- {"version":3,"file":"line-anchors.js","sourceRoot":"","sources":["../../src/content/line-anchors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"line-anchors.js","sourceRoot":"","sources":["../../src/content/line-anchors.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { LineMarker, RangeExtent, TextRegion } from "@plurnk/plurnk-contracts";
1
+ import type { LineMarker, RangeExtent, TextLineMarker, TextRegion } from "@plurnk/plurnk-contracts";
2
2
  export default class ScopeFormat {
3
- static marker({ marks }: LineMarker): string;
3
+ static marker({ marks }: LineMarker | TextLineMarker): string;
4
4
  static lines(first: number, last: number): string;
5
5
  static region(region: TextRegion): string;
6
6
  static count(unit: RangeExtent["unit"], total: number): string;
@@ -1 +1 @@
1
- {"version":3,"file":"scope-format.d.ts","sourceRoot":"","sources":["../../src/content/scope-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGpF,MAAM,CAAC,OAAO,OAAO,WAAW;IAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,GAAG,MAAM,CAE3C;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAExC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7D;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,UAAQ,GAAG,MAAM,CAOvD;CACJ"}
1
+ {"version":3,"file":"scope-format.d.ts","sourceRoot":"","sources":["../../src/content/scope-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGpG,MAAM,CAAC,OAAO,OAAO,WAAW;IAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,GAAG,cAAc,GAAG,MAAM,CAE5D;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAExC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7D;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,UAAQ,GAAG,MAAM,CAOvD;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"scope-format.js","sourceRoot":"","sources":["../../src/content/scope-format.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,MAAM,CAAC,OAAO,OAAO,WAAW;IAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAc;QAC/B,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,IAAY;QACpC,OAAO,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAkB;QAC5B,OAAO,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAyB,EAAE,KAAa;QACjD,MAAM,IAAI,GAAG,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAkB,EAAE,MAAM,GAAG,KAAK;QAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QACrC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,WAAW,MAAM,EAAE,CAAC;QAC7D,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC;QAClE,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,MAAM,EAAE,CAAC;IAC5D,CAAC;CACJ"}
1
+ {"version":3,"file":"scope-format.js","sourceRoot":"","sources":["../../src/content/scope-format.ts"],"names":[],"mappings":"AAEA,mFAAmF;AACnF,MAAM,CAAC,OAAO,OAAO,WAAW;IAC5B,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAA+B;QAChD,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,IAAY;QACpC,OAAO,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,MAAkB;QAC5B,OAAO,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAyB,EAAE,KAAa;QACjD,MAAM,IAAI,GAAG,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;QAChE,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAkB,EAAE,MAAM,GAAG,KAAK;QAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QACrC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,WAAW,MAAM,EAAE,CAAC;QAC7D,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,KAAK,CAAC,KAAK;YAAE,OAAO,MAAM,CAAC;QAClE,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,MAAM,EAAE,CAAC;IAC5D,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"packet-wire.d.ts","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packet-wire.d.ts","sourceRoot":"","sources":["../../src/core/packet-wire.ts"],"names":[],"mappings":"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"}