@plurnk/plurnk-contracts 4.1.0 → 5.0.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/SPEC.md CHANGED
@@ -291,7 +291,7 @@ rule.
291
291
 
292
292
  §balanced-fences A complete nested interpretation takes precedence over missing-closer
293
293
  recovery. Within a body, a line-leading labeled fence opens a literal block, and an equal or
294
- wider bare fence nests where closing there would cost the reading more
294
+ wider bare fence nests unless closing there costs the reading less
295
295
  ({§fence-pairing}). A nested block ends at its first valid closer, as a CommonMark code block
296
296
  does. So a wider outer fence holds any narrower body, finished or not, and equal widths nest
297
297
  when every inner block closes. Preserve every nested body byte, including apparent operations
@@ -409,13 +409,18 @@ repaired reading: a complete nested interpretation takes precedence. Each class
409
409
 
410
410
  | Counted | Complete readings | Repaired readings | Why |
411
411
  |---|---|---|---|
412
- | Hidden operations: a heading that will not run, written at its block's width or wider | 1, together with the next row | 1 | Every operation the author wrote should run |
412
+ | Hidden operations: a heading that will not run, written at its block's width or wider | 1, together with discarded code | 1 | Every operation the author wrote should run |
413
413
  | Repairs: a supplied closer (except a message's run to the end of the input, {§message-run-on}), a fence read as a stray, a narrower closer accepted, a body under an operation that takes none (COPY, MOVE, non-log targeted KILL), a body not well-formed in the media type its runtime declares ({§executor-invocation}) | none by definition | 2 | The least-errors distance |
414
- | Literal by declaration: a heading narrower than its block, or no wider than the labeled block or example holding it, or inside a quotation or a KILL, or an executor heading inside a SEND, WORK, FORK or BARE body ({§prose-code-blocks}); a labeled fence in a body read as text | 1, together with the row above | 3 | Every code block the author declared should stand |
414
+ | Literal by declaration: a heading narrower than its block, or no wider than the labeled block or example holding it, or inside a quotation or a KILL, or an executor heading shown as a code block inside a SEND, WORK, FORK or BARE body ({§prose-code-blocks}) | none: the author's enclosure wrote it as an example | 3, together with the row below | A heading the author wrapped is the example it was written as |
415
+ | Discarded code: a labeled fence in a body read as text, or such an executor heading read as text | 1, together with hidden operations | 3, together with the row above | Every code block the author declared should stand |
415
416
  | Supplied closers | 2 | 4 | A block the author opened should end at a fence the author wrote |
416
417
  | Other fences read as text | 3 | 5 | The least departure from the fences as written |
417
418
 
418
- Complete readings compare exactly as a single least-errors order would. Once every reading of an
419
+ Complete readings compare as a single least-errors order over departures from the fences as written,
420
+ and a heading the author enclosed in a wider or labeled fence is the example it was written as, not a
421
+ departure. So a message whose own fence is narrower than the fences wrapping its examples still holds
422
+ them: the reading that lets a wrapper close the message and runs the examples ties on cost and loses on
423
+ preference, since a body nests before it closes ({§balanced-fences}). Once every reading of an
419
424
  emission needs a repair, its shape is already broken, and saving a repair is not worth an operation
420
425
  the author wrote: across the corpus, readings that traded operations for repairs held a WORK in a
421
426
  BARE behind two stray fences, wrote 11,485 characters of operation text into a file as an EDIT
@@ -840,9 +845,10 @@ is curated normally. Explicit NOTE remains the taught form.
840
845
  §note-value NOTE retains its literal body as ordinary model-owned working memory.
841
846
  It has no target, scope, metadata, or lifecycle effect. Its full body participates
842
847
  in ordinary log token accounting and model-driven curation; prior notes are not
843
- automatically hidden. Each turn may contain zero or more NOTEs; their omission
844
- produces neither a notice nor a failure. A NOTE-only turn does not request
845
- completion; ordinary repetition and strike rules still apply.
848
+ automatically hidden. A continuing or parked turn that carried no NOTE is told so in
849
+ the next packet ({§continued-without-note}); the omission is never a failure. A
850
+ NOTE-only turn does not request completion; ordinary repetition and strike rules
851
+ still apply.
846
852
 
847
853
  §reasoning-operations The shared fence parser admits complete, line-leading NOTE,
848
854
  FIND and READ statements from exposed provider reasoning. Admission is part of
@@ -58,6 +58,7 @@ export interface FunctionalityPrepared<Runtime = never> {
58
58
  readonly documents: readonly FunctionalityDocument[];
59
59
  readonly outcomes: ReadonlyMap<string, FunctionalityOutcome>;
60
60
  readonly snapshot: unknown;
61
+ publish(): (() => void) | undefined;
61
62
  commit(): Promise<void>;
62
63
  abort(): Promise<void>;
63
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Functionality.d.ts","sourceRoot":"","sources":["../../src/Functionality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Functionality.d.ts","sourceRoot":"","sources":["../../src/Functionality.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-contracts",
3
- "version": "4.1.0",
3
+ "version": "5.0.0",
4
4
  "description": "Canonical PLURNK language contract, schemas, generated types, and runtime-neutral wire contracts",
5
5
  "keywords": [
6
6
  "plurnk",
@@ -72,5 +72,5 @@
72
72
  "devDependencies": {
73
73
  "json-schema-to-typescript": "^16.0.0"
74
74
  },
75
- "gitHead": "52020b981eb3c10ddab9dc9b91c0e199eb7598ab"
75
+ "gitHead": "c75c4bc760db609905a8a0932bd1f50bb4d8886c"
76
76
  }
package/plurnk.md CHANGED
@@ -14,7 +14,7 @@ body?
14
14
 
15
15
  ## Core Operations
16
16
 
17
- * NOTE: Save all new plans, findings, and decisions for later turns.
17
+ * NOTE: Working memory. Save all new facts, ideas, and plans for later turns.
18
18
  * FIND: List matching paths, or the match locations inside one path.
19
19
  * READ: Read files, entries, streams, or only the lines a pattern selects.
20
20
  * EDIT: Create a file or entry; replace existing text by scope or by pattern.
@@ -29,25 +29,18 @@ body?
29
29
  ## Loop Protocol
30
30
 
31
31
  > [!IMPORTANT]
32
- > YOU MUST Recall, Record, and React:
33
- > * **Recall**: Review the Open Work and Open Messages against the prior NOTE entries and log items.
34
- > * **Record**: NOTE entries are your ONLY chain of thought. Persist all new plans, findings, and decisions.
35
- > * **React**: When the necessary operations are identified, stop reflecting and emit the batch of notes and operations.
32
+ > YOU MUST persist all new facts, ideas, and plans in NOTEs on every turn.
36
33
 
37
- ```NOTE <!-- plan -->
38
- the steps ahead and why
39
- ```
40
-
41
- ```NOTE <!-- finding -->
42
- a finding and its evidence
34
+ ```NOTE <!-- fact -->
35
+ a finding or conclusion and its evidence
43
36
  ```
44
37
 
45
- ```NOTE <!-- decision -->
46
- a decision and its reasons
38
+ ```NOTE <!-- idea -->
39
+ a thought, working theory, or decision, and why
47
40
  ```
48
41
 
49
- ```NOTE <!-- next -->
50
- the next action and what it needs
42
+ ```NOTE <!-- plan -->
43
+ the steps ahead and why
51
44
  ```
52
45
 
53
46
  ````SEND