@plurnk/plurnk-meta 1.4.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 +3 -3
- package/PLURNK_PERSONALITY.md +6 -10
- package/README.md +1 -1
- package/SPEC.md +1 -1
- package/docs/log.md +8 -6
- package/docs/questions.md +5 -2
- package/docs/worker.md +22 -13
- package/package.json +2 -2
- package/requirements.md +3 -3
package/CORPUS.md
CHANGED
|
@@ -9,12 +9,12 @@ Authored defaults published by `@plurnk/plurnk-meta` and consumed by
|
|
|
9
9
|
| Source | Consumer admission |
|
|
10
10
|
| ------------------------------- | ---------------------------------------------------------------------------- |
|
|
11
11
|
| `PLURNK_PERSONALITY.md` | Read before the first-run seed of user-owned `~/.plurnk/AGENTS.md`. |
|
|
12
|
-
| `requirements.md` | Read for the
|
|
12
|
+
| `requirements.md` | Read for the compact Recap rendered last in every model packet. |
|
|
13
13
|
| `docs/log.md`, `docs/worker.md` | Read when registered built-in pull docs are materialized. |
|
|
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
|
|
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
|
|
@@ -37,7 +37,7 @@ monorepo forge.
|
|
|
37
37
|
|
|
38
38
|
## Teaching doctrine
|
|
39
39
|
|
|
40
|
-
**Canon-voice calibration (
|
|
40
|
+
**Canon-voice calibration (2026-07-06, probe-backed).** Voice tunes to the FLOOR model's minimum-audible threshold, never any tier's max compliance. A footer loud enough to fix the floor OVER-DRIVES strong models (live evidence: Grok Build fanatically FOLDs under a loud budget footer). Soft is safe because the engine makes floor-misses RECOVERABLE (premature-200 -> pending-set 409 -> repair); that coupling is load-bearing — if failures stop being recoverable, recalibrate louder. The footer is pluggable; potato-heavy deployments inject more at their discretion. The one recency-sensitive line is await-before-200 (lean-footer A/B, gemma, n=6: 6/6 reap in the recency footer vs 3/6 cached-canon-only). Retreat trigger: 409-repair LOOPS (not single misses); first line restored is await-before-200.
|
|
41
41
|
|
|
42
42
|
**The requiem acceptance gate.** Teaching changes ship against BEFORE/AFTER corpus deltas (reasoning-token + requiem-recurrence), never hunches. Triage separates legibility debt from genuine protocol friction. Model-owned context is the product property: deterministic state and reversible OPEN/FOLD tools support the model's judgment without prescribing what to hide. A re-probe against >=0.76.5 is owed (grammar lane).
|
|
43
43
|
|
package/PLURNK_PERSONALITY.md
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
- You follow modern standards and conventions unless a deliberate product property requires otherwise.
|
|
6
|
-
- You prove deterministically verifiable work before concluding.
|
|
7
|
-
- You commit completed repository changes as `Plurnk <plurnk@pm.me>` 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.
|
|
8
5
|
|
|
9
|
-
YOU MUST
|
|
10
|
-
YOU MUST evaluate the prompt for decomposability, delegating to WORKers
|
|
11
|
-
YOU MUST react and respond to the latest Plurnk Service 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/README.md
CHANGED
|
@@ -12,7 +12,7 @@ The plurnk metaproject layer, published — what the family shares that no singl
|
|
|
12
12
|
- `Meta.packageDirs(nodeModulesDir)` — scope-agnostic, symlink-aware enumeration across Node's ancestor resolution chain as `{ dir, name }` candidates; the nearest package name wins. Ordering and filtering are the caller's policy.
|
|
13
13
|
- `Meta.nearestNodeModules(fromDir)` — walk up to the nearest `node_modules` holding the ecosystem (witness: `@plurnk` scope); `null` when absent.
|
|
14
14
|
|
|
15
|
-
**The teaching corpus**: authored policy, Recap, built-in scheme, and conditional question sources resolved from this installed package. Meta owns the source bytes and membership; core owns admission and projection. See [`CORPUS.md`](./CORPUS.md) and {§teaching-corpus}.
|
|
15
|
+
**The teaching corpus**: authored policy, a compact Recap, built-in scheme, and conditional question sources resolved from this installed package. Meta owns the source bytes and membership; core owns admission and projection. See [`CORPUS.md`](./CORPUS.md) and {§teaching-corpus}.
|
|
16
16
|
|
|
17
17
|
**Family tooling** grows here (scaffolders, meta bins) — the published surface of the metaproject's management layer.
|
|
18
18
|
|
package/SPEC.md
CHANGED
|
@@ -14,7 +14,7 @@ sources into a consuming package would create a second teaching owner.
|
|
|
14
14
|
| Source | Membership | Meta-owned content | Core read boundary |
|
|
15
15
|
| ------------------------------- | ---------- | -------------------------------------------------- | ------------------------------------------------------- |
|
|
16
16
|
| `PLURNK_PERSONALITY.md` | Required | First-run default operating policy | Policy bootstrap {§policy-sections} |
|
|
17
|
-
| `requirements.md` | Required | Default compact operational
|
|
17
|
+
| `requirements.md` | Required | Default compact operational Recap | Per-packet user-slot footer {§requirements} |
|
|
18
18
|
| `docs/log.md`, `docs/worker.md` | Required | Deep reference prose for reserved built-in schemes | Pull-doc materialization {§schemes-directory} |
|
|
19
19
|
| `docs/questions.md` | Required | Conditional operator-question reference prose | Enabled capability/teaching gate {§send-300-choices} |
|
|
20
20
|
|
package/docs/log.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# `log://` - your worker's event history
|
|
2
2
|
|
|
3
|
-
Every operation is recorded at `log:///<loop>/<turn>/<seq>`. The row identifies what happened and what came back. READ
|
|
3
|
+
Every operation is recorded at `log:///<loop>/<turn>/<seq>`. The row identifies what happened and what came back. READ one exact row to retrieve its result body; use FIND to match across rows.
|
|
4
4
|
|
|
5
5
|
## Log and catalog
|
|
6
6
|
|
|
7
7
|
- **Log** - operations and results in order.
|
|
8
|
-
- **Catalog** -
|
|
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
|
|
23
|
-
log row carries its own token weight. If a packet
|
|
24
|
-
|
|
25
|
-
overflow
|
|
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 —
|
|
1
|
+
# Operator questions — SEND signal 300
|
|
2
2
|
|
|
3
|
-
Enabled here: you may ask the operator when a decision is genuinely theirs to
|
|
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
|
-
|
|
7
|
-
branches your current history.
|
|
8
|
-
|
|
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
|
-
|
|
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;
|
|
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
|
-
|
|
24
|
-
|
|
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
|
|
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.**
|
|
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
|
|
33
|
-
KILL followed by
|
|
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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-meta",
|
|
3
|
-
"version": "1.
|
|
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,
|
|
3
|
+
"version": "1.6.0",
|
|
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",
|
|
7
7
|
"engines": {
|
package/requirements.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
YOU MUST
|
|
2
|
-
|
|
3
|
-
|
|
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.
|