pi-beyin 0.1.6 → 0.1.7
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/README.md +15 -0
- package/package.json +1 -1
- package/tools/pi-harness-patch.py +12 -11
package/README.md
CHANGED
|
@@ -77,6 +77,21 @@ The extensions call `beyin.py` (read-only unless the agent runs a write command)
|
|
|
77
77
|
A vault whose `beyin.py` does not accept `--harness pi` needs `tools/pi-harness-patch.py ensure
|
|
78
78
|
--vault <vault>` (the extension does this on session start).
|
|
79
79
|
|
|
80
|
+
## Relationship to beyin v3
|
|
81
|
+
|
|
82
|
+
`pi-beyin` is the **pi-side** adapter; the vault, `beyin.py` and the canonical skill templates belong to
|
|
83
|
+
beyin v3 and keep their own release cycle.
|
|
84
|
+
|
|
85
|
+
- `tools/pi-harness-patch.py` is the only thing that touches beyin's files: it adds `pi` to the harness
|
|
86
|
+
list in two managed modules (plus three pi-specific fixes) and re-syncs the install manifest so
|
|
87
|
+
`beyin.py update` plans cleanly. **A beyin update reverts these edits**; the extension calls `ensure`
|
|
88
|
+
on session start, so they come back by themselves. `status` is read-only.
|
|
89
|
+
- The skills here are **copies for pi**, not links into the vault. beyin still installs its own copies
|
|
90
|
+
under `.claude/skills/` for the other harnesses; pi does not read that directory.
|
|
91
|
+
- Notifications stay in the adapter: the injected context, the receipt reminder, the distillation
|
|
92
|
+
suggestion and the `beyin_jev_*` tool descriptions ship with this package. They are written in Turkish
|
|
93
|
+
today (the author's language); anything a *skill* writes follows the user's language.
|
|
94
|
+
|
|
80
95
|
## Project memory skills
|
|
81
96
|
|
|
82
97
|
Skill descriptions carry bilingual trigger phrases (English + Turkish) on purpose: a description is a
|
package/package.json
CHANGED
|
@@ -57,29 +57,30 @@ EDITS = {
|
|
|
57
57
|
"('codex', 'claude', 'antigravity', 'hermes', 'opencode', 'omp', 'pi')",
|
|
58
58
|
),
|
|
59
59
|
],
|
|
60
|
-
# Python Jev
|
|
61
|
-
# Cloudflare 1010 -> HTTP 403
|
|
62
|
-
#
|
|
60
|
+
# The Python Jev client sends urllib's default UA ('Python-urllib/x') to CommandCode and gets
|
|
61
|
+
# Cloudflare 1010 -> HTTP 403. The openai-node UA (what the pi-native path uses) passes.
|
|
62
|
+
# 'ensure' re-applies this after every update. Measured 2026-10-15.
|
|
63
63
|
".claude/scripts/beyin_v3_jev_client.py": [
|
|
64
64
|
(
|
|
65
65
|
"headers={'Authorization':'Bearer '+key,'Content-Type':'application/json'}",
|
|
66
66
|
"headers={'Authorization':'Bearer '+key,'Content-Type':'application/json','User-Agent':'openai-node/4.0.0'}",
|
|
67
67
|
),
|
|
68
68
|
],
|
|
69
|
-
# CONTEXT_LIMIT (4000) Jev'
|
|
70
|
-
#
|
|
71
|
-
#
|
|
72
|
-
# `
|
|
69
|
+
# CONTEXT_LIMIT (4000) sat far below Jev's real context capacity: even with 19943 chars of context
|
|
70
|
+
# and the evidence at the very end, it returned the right verdict with high confidence (no
|
|
71
|
+
# truncation, measured 2026-10-15). The transport limit starts around 24424 chars
|
|
72
|
+
# (`max_input_chars=24000`). At 4000, notes longer than that failed as
|
|
73
|
+
# `source_context_incomplete`. 12000 covers every current note and stays in the safe zone.
|
|
73
74
|
".claude/scripts/beyin_v3_jev.py": [
|
|
74
75
|
(
|
|
75
76
|
"CONTEXT_LIMIT = 4000 # Jev; a provider with a smaller window reports context_limit",
|
|
76
77
|
"CONTEXT_LIMIT = 12000 # Jev; measured >=19943 kr safe (2026-10-15); transport cap max_input_chars=24000",
|
|
77
78
|
),
|
|
78
79
|
],
|
|
79
|
-
# memory_assessment
|
|
80
|
-
# max_input_chars
|
|
81
|
-
#
|
|
82
|
-
# "complete context" invariant
|
|
80
|
+
# memory_assessment sends evidence plus up to 4 priors in one request; when the body exceeded
|
|
81
|
+
# max_input_chars (24000) the whole assessment failed with `budget_exceeded`. Priors are optional,
|
|
82
|
+
# evidence is required -> when the budget is tight, drop priors from the end. This does not break
|
|
83
|
+
# the "complete context" invariant: no source is summarized or truncated.
|
|
83
84
|
".claude/scripts/beyin_v3_memory_assessment.py": [
|
|
84
85
|
(
|
|
85
86
|
" try:\n"
|