@llblab/pi-kit 0.23.0 → 0.23.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 (43) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +4 -2
  3. package/banner.jpg +0 -0
  4. package/node_modules/@llblab/pi-actors/AGENTS.md +4 -1
  5. package/node_modules/@llblab/pi-actors/CHANGELOG.md +10 -0
  6. package/node_modules/@llblab/pi-actors/README.md +2 -2
  7. package/node_modules/@llblab/pi-actors/dist/index.js +4 -1
  8. package/node_modules/@llblab/pi-actors/dist/lib/inspector-overlay.js +2 -1
  9. package/node_modules/@llblab/pi-actors/dist/lib/paths.d.ts +6 -0
  10. package/node_modules/@llblab/pi-actors/dist/lib/paths.js +19 -1
  11. package/node_modules/@llblab/pi-actors/dist/lib/trace-projection.d.ts +2 -0
  12. package/node_modules/@llblab/pi-actors/dist/lib/trace-projection.js +11 -7
  13. package/node_modules/@llblab/pi-actors/dist/scripts/build-dist.mjs +94 -30
  14. package/node_modules/@llblab/pi-actors/docs/actor-inspector.md +1 -1
  15. package/node_modules/@llblab/pi-actors/index.ts +6 -3
  16. package/node_modules/@llblab/pi-actors/lib/inspector-overlay.ts +2 -1
  17. package/node_modules/@llblab/pi-actors/lib/paths.ts +27 -1
  18. package/node_modules/@llblab/pi-actors/lib/trace-projection.ts +13 -6
  19. package/node_modules/@llblab/pi-actors/package.json +3 -8
  20. package/node_modules/@llblab/pi-actors/scripts/build-dist.mjs +94 -30
  21. package/node_modules/@llblab/pi-state-flow/AGENTS.md +3 -2
  22. package/node_modules/@llblab/pi-state-flow/BACKLOG.md +3 -5
  23. package/node_modules/@llblab/pi-state-flow/CHANGELOG.md +5 -0
  24. package/node_modules/@llblab/pi-state-flow/README.md +3 -3
  25. package/node_modules/@llblab/pi-state-flow/dist/lib/context.js +6 -2
  26. package/node_modules/@llblab/pi-state-flow/dist/lib/protocol.d.ts +1 -1
  27. package/node_modules/@llblab/pi-state-flow/dist/lib/protocol.js +4 -3
  28. package/node_modules/@llblab/pi-state-flow/dist/lib/query.js +1 -1
  29. package/node_modules/@llblab/pi-state-flow/dist/package.json +1 -1
  30. package/node_modules/@llblab/pi-state-flow/dist/skills/state-flow-guide/SKILL.md +3 -1
  31. package/node_modules/@llblab/pi-state-flow/dist/skills/state-flow-memory/SKILL.md +3 -1
  32. package/node_modules/@llblab/pi-state-flow/docs/architecture.md +2 -2
  33. package/node_modules/@llblab/pi-state-flow/docs/compatibility.md +1 -1
  34. package/node_modules/@llblab/pi-state-flow/docs/lazy-state.md +6 -4
  35. package/node_modules/@llblab/pi-state-flow/docs/temporal-acceptance.md +2 -0
  36. package/node_modules/@llblab/pi-state-flow/docs/usage.md +10 -0
  37. package/node_modules/@llblab/pi-state-flow/lib/context.ts +5 -2
  38. package/node_modules/@llblab/pi-state-flow/lib/protocol.ts +5 -3
  39. package/node_modules/@llblab/pi-state-flow/lib/query.ts +1 -1
  40. package/node_modules/@llblab/pi-state-flow/package.json +1 -1
  41. package/node_modules/@llblab/pi-state-flow/skills/state-flow-guide/SKILL.md +3 -1
  42. package/node_modules/@llblab/pi-state-flow/skills/state-flow-memory/SKILL.md +3 -1
  43. package/package.json +7 -5
@@ -44,7 +44,9 @@ Example arguments:
44
44
  {"paths":["cwd.working","session.working"]}
45
45
  ```
46
46
 
47
- Unscoped paths use effective state. `cwd[1].working` reads the preceding causal boundary. Materialized-history and scope patch-history paths such as `cwd.patches[1]` share the configured `historyLimit` bound (default 7) and require actually retained history. Lowering the limit folds excess tails without erasing current state; increasing it does not reconstruct discarded history. Array ranges such as `cwd.lazy.checks[0..3]` exclude the endpoint and require existing elements. Missing paths fail: inspect parent keys to verify deletion. Missing history is not empty history. Read `lazy` explicitly. Treat structured `$ref` values and `$`-prefixed `read_state` paths inside ordinary strings, such as `$effective.lazy.memory[7]`, as semantic-state references. Other resources retain their native locators. Resolve any reference through the appropriate read/tool only when needed. Neither form proves authority or existence, hydrates, or executes anything. Never scan or resolve references merely to test them. A missing single value path with exact durable sources returns `{value:null, hint:[{type:"dangling-reference", message, paths}]}`. Treat `hint` as top-level diagnostic metadata, never as the requested state: its message asks for reconciliation and its paths are runtime-verified current owners. The hint proves provenance rather than staleness and is absent when no current durable source matches; keys, patch, and batch reads keep all-or-error behavior. Only then inspect ownership as needed and patch a proven stale owning value while preserving its surrounding meaning. Effective absence, inaccessible external resources, and transient failures are not proof.
47
+ Unscoped paths use effective state. `cwd[1].working` reads the preceding causal boundary. Materialized-history and scope patch-history paths such as `cwd.patches[1]` share the configured `historyLimit` bound (default 7) and require actually retained history. Lowering the limit folds excess tails without erasing current state; increasing it does not reconstruct discarded history. Array ranges such as `cwd.lazy.checks[0..3]` exclude the endpoint and require existing elements. Missing paths are unavailable; inspect parent keys only when needed for the task. Missing history is not empty history. Read `lazy` explicitly. Treat structured `$ref` values and `$`-prefixed `read_state` paths inside ordinary strings, such as `$effective.lazy.memory[7]`, as semantic-state references. Other resources retain their native locators. Resolve any reference through the appropriate read/tool only when needed. Neither form proves authority or existence, hydrates, or executes anything. Never scan or resolve references merely to test them. A missing single value path with exact durable sources returns `{value:null, hint:[{type:"dangling-reference", message, paths}]}`. Treat `hint` as top-level diagnostic metadata, never as the requested state: its message is descriptive and conditional; its paths are runtime-verified current reference owners, not verified new locations of the target. The hint proves provenance rather than staleness and is absent when no current durable source matches; keys, patch, and batch reads keep all-or-error behavior. Only then inspect ownership as needed and patch a proven stale owning value while preserving its surrounding meaning. Effective absence, inaccessible external resources, and transient failures are not proof.
48
+
49
+ Missing paths or runtime hints alone do not require historical search. The agent may choose a targeted historical read when a previous value is useful to the current task, without separate user permission. Otherwise continue without searching. Use found values as historical evidence, not automatically as current state; never automatically restore deleted memory. Do not scan all offsets, hydrate automatically or request repair inference. A hint does not prove prior existence, retained history or relocation. A proven stale reference may be repaired within touched work without resurrecting its target. Automatic state and recent-transition projections omit lazy bodies; bounded `lazy_navigation` preserves structure, and explicit current/historical reads still return requested lazy values or patches.
48
50
 
49
51
  ## Write
50
52
 
@@ -22,9 +22,11 @@ Follow the installed runtime contract. This registered Skill follows its Pi sour
22
22
  1. **Limit the review.** Address the requested scope. A completed phase may motivate recommending cleanup, not starting it without a request. For a whole-state cleanup, inspect global, CWD, and session ownership explicitly; for a narrower request, inspect only affected owners. Use targeted reads for gaps, contradictions, ownership, or verification; do not rerun the project.
23
23
  2. **Classify.** Put user requirements and binding confirmed decisions in `contract`, observations, assistant conclusions, and unresolved work in `working`, chosen actions in `intents`, and inactive reusable detail in `lazy`. Never give an assistant conclusion user authority. Remove fulfilled, abandoned, superseded, or impossible intents; retain consequential results. Possibilities are not commitments.
24
24
  3. **Keep evidence boundaries.** Preserve corrections, prerequisites, bounded negative results, and useful uncertainty. Separate requirements, decisions, observations, conclusions, and hypotheses. Silence is not acceptance; repetition is not verification. One implementation's failure does not reject an approach. Neither freeze provisional methods nor reopen confirmed decisions without grounds.
25
- 4. **Compact for continuation.** Remove duplicates, obsolete progress, unsupported claims, and secrets. Keep sufficient results, real retrieval pointers, pending interaction, and known next checks. Observations are not live external facts. Keep `lazy` shallow and priority-ordered. Recognize optional structured `$ref` values and `$`-prefixed `read_state` paths inside ordinary strings as semantic-state references; other resources retain native locators. No reference form proves authority or existence, authorizes execution, or implies completion. Never scan or resolve references merely to find broken ones. When the bounded review independently needs a reference, a missing single value path with exact durable sources returns `{value:null, hint:[{type:"dangling-reference", message, paths}]}`. Treat the top-level hint as provenance and reconciliation guidance, never as requested state or proof of staleness; its paths are runtime-verified current owners, while no hint does not prove invention. Inspect ownership only as needed, then patch a proven stale owning value while preserving surrounding meaning. Effective absence or external inaccessibility is insufficient.
25
+ 4. **Compact for continuation.** Remove duplicates, obsolete progress, unsupported claims, and secrets. Keep sufficient results, real retrieval pointers, pending interaction, and known next checks. Observations are not live external facts. Keep `lazy` shallow and priority-ordered. Recognize optional structured `$ref` values and `$`-prefixed `read_state` paths inside ordinary strings as semantic-state references; other resources retain native locators. No reference form proves authority or existence, authorizes execution, or implies completion. Never scan or resolve references merely to find broken ones. When the bounded review independently needs a reference, a missing single value path with exact durable sources returns `{value:null, hint:[{type:"dangling-reference", message, paths}]}`. Treat the top-level hint as conditional navigation and provenance, never as requested state or proof of staleness; its paths are runtime-verified current reference owners, not verified new locations of the target, while no hint does not prove invention. Inspect ownership only as needed, then patch a proven stale owning value while preserving surrounding meaning. Effective absence or external inaccessibility is insufficient.
26
26
  5. **Check ownership.** Prefer `session` for branch/run continuation, `cwd` for project knowledge, and `global` for established cross-project knowledge. Effective values do not prove ownership; inspect owners before moves. Broader applicability requires evidence.
27
27
 
28
+ Missing paths or runtime hints alone do not require historical search. The agent may choose a targeted historical read when a previous value is useful to the current task, without separate user permission. Otherwise continue without searching. Use found values as historical evidence, not automatically as current state; never automatically restore deleted memory. Do not scan all offsets, hydrate automatically or request repair inference. A hint does not prove prior existence, retained history or relocation. A proven stale reference may be repaired within touched work without resurrecting its target. Lazy bodies require explicit reads; automatic state/history projections retain navigation without hydrating those bodies.
29
+
28
30
  ## Transfer only when needed
29
31
 
30
32
  Resolve destination conflicts without overwriting stronger or unrelated knowledge. For a proven move between scopes of one State Flow store, inspect both owners, then use one atomic multi-scope `patch_state` for destination and source changes. Verify both owners and effective inheritance afterward; reconcile affected references. A rejected cohort leaves neither side partially accepted.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llblab/pi-kit",
3
- "version": "0.23.0",
3
+ "version": "0.23.2",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -37,14 +37,15 @@
37
37
  "AGENTS.md",
38
38
  "BACKLOG.md",
39
39
  "CHANGELOG.md",
40
- "LICENSE"
40
+ "LICENSE",
41
+ "banner.jpg"
41
42
  ],
42
43
  "dependencies": {
43
- "@llblab/pi-actors": "0.53.0",
44
+ "@llblab/pi-actors": "0.53.2",
44
45
  "@llblab/pi-clean-room": "0.2.0",
45
46
  "@llblab/pi-codex-usage": "0.10.0",
46
47
  "@llblab/pi-grow-loop": "0.8.2",
47
- "@llblab/pi-state-flow": "0.19.0",
48
+ "@llblab/pi-state-flow": "0.19.1",
48
49
  "@llblab/pi-telegram": "0.51.4",
49
50
  "@llblab/skills": "1.15.0"
50
51
  },
@@ -72,7 +73,8 @@
72
73
  "./node_modules/@llblab/pi-state-flow/dist/skills",
73
74
  "./node_modules/@llblab/pi-telegram/dist/skills",
74
75
  "./node_modules/@llblab/skills/"
75
- ]
76
+ ],
77
+ "image": "https://raw.githubusercontent.com/llblab/pi-kit/main/banner.jpg"
76
78
  },
77
79
  "bundleDependencies": [
78
80
  "@llblab/pi-actors",