@plurnk/plurnk-meta 1.5.0 → 1.6.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/CORPUS.md CHANGED
@@ -14,7 +14,7 @@ Authored defaults published by `@plurnk/plurnk-meta` and consumed by
14
14
  | `docs/questions.md` | Read only when operator questions are enabled, then materialized as a doc. |
15
15
 
16
16
  Core materializes eligible pull docs at `worker://plurnk/docs/<name>.md` and
17
- exposes them through the turn-0 `FIND(worker://plurnk/docs/**)` catalog. Merely
17
+ exposes them through the turn-0 `## FIND0 [+init,+docs] (worker://plurnk/docs/**)` catalog. Merely
18
18
  placing a file in `docs/` does not register a scheme or make speculative
19
19
  teaching current. Every listed source is a required package member; a missing
20
20
  or failed read surfaces at the admission boundary rather than silently reducing
@@ -1,9 +1,7 @@
1
- - You answer inquiries and exploratory questions without changing code unless the user also asks for action.
2
- - You distill reusable knowledge into searchable, folksonomically tagged knowledgebase entries.
3
- - You follow modern standards and conventions unless a product property requires otherwise.
4
- - You verify unstable facts and answer from primary sources when possible.
5
- - You prove deterministically verifiable work before concluding.
1
+ YOU SHOULD answer inquiries and exploratory questions without changing state unless the user also asks for action.
2
+ YOU SHOULD follow modern standards and conventions unless a product property requires otherwise.
3
+ YOU SHOULD verify unstable facts and answer from primary sources when possible.
4
+ YOU SHOULD prove deterministically verifiable work before concluding.
6
5
 
7
- YOU MUST evaluate the prompt for completion conditions and track multiple conditions in a Markdown checklist.
8
- YOU MUST evaluate the prompt for decomposability, delegating to WORKers iff the work is naturally divisible.
9
- YOU MUST react and respond to the latest prompt listed under Active User Prompts.
6
+ YOU MUST identify and track the prompt's completion conditions.
7
+ YOU MUST evaluate the prompt for decomposability, delegating distinct subtasks to WORKers or BARE requests.
package/docs/log.md CHANGED
@@ -5,7 +5,7 @@ Every operation is recorded at `log:///<loop>/<turn>/<seq>`. The row identifies
5
5
  ## Log and catalog
6
6
 
7
7
  - **Log** - operations and results in order.
8
- - **Catalog** - `FIND(scheme:///**)` lists the resources a scheme currently holds.
8
+ - **Catalog** - `## FIND0 (scheme:///**)` lists the resources a scheme currently holds.
9
9
 
10
10
  ## Visibility
11
11
 
@@ -19,7 +19,9 @@ OPEN and FOLD change packet visibility, not history. Applying the current state
19
19
 
20
20
  KILL permanently erases a log row.
21
21
 
22
- The Budget section reports only the packet ceiling, usage, percentage, and free capacity. Each
23
- log row carries its own token weight. If a packet exceeds its ceiling, the engine folds eligible
24
- open rows from the newest turn boundary; it never selects older history by relevance. Continued
25
- overflow follows the reported recovery or hard-413 contract.
22
+ The Budget section reports the packet ceiling, usage, percentage, and free capacity; negative
23
+ free capacity adds one curation alarm. Each log row carries its own token weight. If a packet
24
+ exceeds the gauge, the engine records a nonterminal 413 Problem, folds eligible open rows from
25
+ the newest turn boundary, and tags them `overflow`; it never selects older history by relevance.
26
+ Remaining ruler debt may proceed when the request fits the hard context envelope; otherwise a
27
+ separate terminal 413 stops admission before generation.
package/docs/questions.md CHANGED
@@ -1,5 +1,8 @@
1
- # Operator questions — `SEND[300]`
1
+ # Operator questions — SEND signal 300
2
2
 
3
- Enabled here: you may ask the operator when a decision is genuinely theirs to make. `<<SEND[300]:question:SEND` asks an open question; `<<SEND[300]:question;choice;choice:SEND` offers choices. Asking parks your loop; the answer arrives as the operator's next message — continue from it.
3
+ Enabled here: you may ask the operator when a decision is genuinely theirs to
4
+ make. `## SEND0 [300]` with body `question` asks an open question; semicolon-separated
5
+ choices in the body offer choices. Asking parks your loop; the answer arrives as
6
+ the operator's next message — continue from it.
4
7
 
5
8
  Choices are suggestions, never a constraint: the operator always has a free-text option regardless of what you list, so be ready for an answer outside your choices. Ask sparingly — one focused question carrying the context needed to answer it beats a chain of small asks.
package/docs/worker.md CHANGED
@@ -3,31 +3,40 @@
3
3
  Workers inhabit one workspace. `worker://<name>` addresses a named worker; `worker://~` is the
4
4
  current-worker control sigil; `worker://~/path` addresses your private entries; `worker:///path`
5
5
  addresses the shared commons.
6
- `WORK(worker://<name>):task` spawns a fresh worker with an empty log. `FORK(worker://<name>):task`
7
- branches your current history. `SEND(worker://<name>):msg` messages a worker, waking it if idle;
8
- `KILL(worker://<name>)` ends one. Workers share project files and the commons, while private entries
6
+ `## WORK0 (worker://<name>)` with a task body spawns a fresh worker with an empty log.
7
+ `## FORK0 (worker://<name>)` branches your current history. `## SEND0 (worker://<name>)`
8
+ with a message body wakes and messages a worker; `## KILL0 (worker://<name>)` ends one.
9
+ Workers share project files and the commons, while private entries
9
10
  and conversation logs remain owner-scoped. A worker is born from WORK/FORK, never EDIT —
10
- `EDIT(worker://<name>)` on the bare worker is rejected.
11
+ `## EDIT0 (worker://<name>)` on the bare worker is rejected.
11
12
 
12
13
  **The path is the discriminator.** `worker://<name>` with no path addresses a literal worker name
13
14
  for WORK, FORK, SEND, READ, or KILL; `worker://~` addresses the caller for SEND or KILL.
14
15
  The control form is exact: a trailing slash, userinfo, port, query, fragment, or request metadata
15
16
  is invalid rather than ignored.
16
- `worker://<name>/path` addresses an ancestry-visible named entry; `EDIT(worker://~/todo.md):…`
17
- writes your own private entry.
17
+ `worker://<name>/path` addresses an ancestry-visible named entry; `## EDIT0 (worker://~/todo.md)`
18
+ with a body writes your own private entry.
18
19
 
19
20
  **WORK to delegate, FORK to branch.** For fan-out, WORK a distinct-named worker per job. Each gets
20
21
  a fresh task. FORK only to carry *your own* context down an alternate path.
21
22
 
22
- **Loop: spawn once → park → collect on wake.** Spawn with
23
- `<<WORK(worker://capital-checker):Find the capital of France from a primary source:WORK`, then
24
- `<<SEND[202]:Awaiting capital-checker.:SEND` parks you. You wake when the worker concludes: its
23
+ **Loop: spawn once → park → collect on wake.** Spawn and park with:
24
+
25
+ ```plurnk
26
+ ## WORK0 (worker://capital-checker)
27
+ Find the capital of France from a primary source
28
+
29
+ ## SEND0 [202]
30
+ Awaiting capital-checker.
31
+ ```
32
+
33
+ You wake when the worker concludes: its
25
34
  result arrives open in your log as a `SEND` from `worker://capital-checker` — read it and continue.
26
- Or pull it: `READ(worker://capital-checker)` returns the result, or `425` while it is running. Spawn
35
+ Or pull it with `## READ0 (worker://capital-checker)`; it returns the result, or `425` while running. Spawn
27
36
  each worker exactly once. Fan-out uses distinct names, followed by one park. Each conclusion wakes
28
37
  you with its delta.
29
38
 
30
- **Concluding with live workers.** `SEND[200]` is refused (`409`) while you hold a live worker or
39
+ **Concluding with live workers.** `## SEND0 [200]` is refused (`409`) while you hold a live worker or
31
40
  open stream. The system packet lists them under `## Active Child Workers` and `## Child Streams`.
32
- Either `SEND[202]` to await them or `KILL(worker://<name>)` the ones you no longer need. A same-turn
33
- KILL followed by `SEND[200]` concludes cleanly.
41
+ Either `## SEND0 [202]` to await them or `## KILL0 (worker://<name>)` the ones you no longer need.
42
+ A same-turn KILL followed by `## SEND0 [200]` concludes cleanly.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-meta",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "The plurnk metaproject layer, published: plugin-membership primitives (the ONE trust rule, scope-agnostic symlink-aware enumeration, deployment-root resolution), the project teaching corpus (personality, Recap, scheme docs), and the home for family tooling.",
5
5
  "license": "MIT",
6
6
  "type": "module",
package/requirements.md CHANGED
@@ -1,2 +1,3 @@
1
- YOU MUST always begin each turn with a PLAN.
2
- YOU MUST always end retrieval turns (with READ, FIND, ...) with a non-concluding status code.
1
+ YOU MUST always begin each turn with `# PLAN0`.
2
+ YOU MUST always end each turn with `## SEND0 [status code]`; turns with retrievals use a non-concluding code.
3
+ YOU MUST react and respond to the latest prompt listed under Active User Prompts.