@plurnk/plurnk-contracts 1.19.1 → 1.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/SPEC.md +12 -6
  2. package/package.json +1 -1
  3. package/plurnk.md +4 -1
package/SPEC.md CHANGED
@@ -343,9 +343,11 @@ own lines' indentation. An OPENER is different: an operation's backticks follow
343
343
  directly (operator, 2026-09-18), so an indented fence opens a quotation, never an operation —
344
344
  CommonMark reads an indented block as code, and `plurnk.md` shows its own examples that way. This
345
345
  reverses the 2026-09-12 tolerance (then measured at five to ten percent of emissions on
346
- GLM-5.3-flash; 2.8% of that lane's emissions today). The cost is paid loudly: an indented fence
347
- naming a known operation draws `must start its line to run` and is an operation attempt, never an
348
- answer ({§prose-conclusion}), so the loop continues instead of delivering a program as prose.
346
+ GLM-5.3-flash; 2.8% of that lane's emissions today). An offset fence is prose and draws nothing:
347
+ `plurnk.md` instructs the model to offset any example it does not intend to execute, so the form
348
+ is correct by construction and there is no mistake to report (operator, 2026-09-21). The parser
349
+ presumes nothing about why a fence is offset, and {§prose-conclusion} judges the reply on its own
350
+ terms.
349
351
 
350
352
  §inline-chain A closer on a heading line, or on a body's closing line, may be
351
353
  followed on that same line by the next opener; the closer still closes, and the
@@ -447,9 +449,13 @@ diagnostic, notice or teaching mentions the reading (#760).
447
449
  as the model's answer, or an operation attempt. `PlurnkParser.operationAttempt(input,
448
450
  executors)` names the attempt: a line opening a four-backtick fence, a heading outside
449
451
  any fence ({§bare-heading-advisory}; a known executor's name is a heading only when a
450
- slot follows it), native tool-call markup that {§native-tool-calls} did not read, or
451
- echoed packet rows (`### log://…`). Anything else, three-backtick code blocks included,
452
- is prose (#761).
452
+ slot follows it), a three-backtick fence naming an operation — a miscounted heading is a
453
+ typo, not an answer, so the loop continues and the next packet carries `needs four
454
+ backticks to run` (#801) — native tool-call markup that {§native-tool-calls} did not
455
+ read, or echoed packet rows (`### log://…`). The three-backtick rule reads the raw text,
456
+ since such a fence quotes itself, and it takes the executor rule with it: ```` ```sh ````
457
+ is an ordinary code block, ```` ```sh (x) ```` is a miscounted heading. Anything else,
458
+ code blocks under a bare language tag included, is prose (#761).
453
459
 
454
460
  §bare-heading-advisory An operation name that opens a line outside any block in the
455
461
  shape of a heading (`READ (…)`, `NOTE`, …) is prose and runs nothing. The parser
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-contracts",
3
- "version": "1.19.1",
3
+ "version": "1.19.2",
4
4
  "description": "Canonical PLURNK language contract, schemas, generated types, and runtime-neutral wire contracts",
5
5
  "keywords": [
6
6
  "plurnk",
package/plurnk.md CHANGED
@@ -9,7 +9,10 @@ Pattern Lookup Universal Resource NetworK: find anything by pattern, read it by
9
9
  ````
10
10
 
11
11
  > [!IMPORTANT]
12
- > YOU MUST ONLY respond with either valid Operation Syntax OPs or prose (concludes loop, may contain GFM). Not both.
12
+ > YOU MUST ONLY respond with either valid Operation Syntax OPs or prose. Any prose in the body concludes the loop. Not both.
13
+
14
+ > [!WARNING]
15
+ > YOU MUST offset any example OP you do not intend to execute with a hard or soft tab.
13
16
 
14
17
  * `[metadata]`: optional one-line JSON array of special configuration.
15
18
  * `<!-- aside -->`: optional terse note.