ypi 0.4.0 → 0.5.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/CHANGELOG.md +19 -0
- package/SYSTEM_PROMPT.md +12 -9
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
3
3
|
All notable changes to ypi are documented here.
|
|
4
4
|
Format based on [Keep a Changelog](https://keepachangelog.com/).
|
|
5
5
|
|
|
6
|
+
## [0.5.0] - 2026-02-15
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
- **Notify-done extension** (`contrib/extensions/notify-done.ts`): background task completion notifications via sentinel files — injects messages into conversation when tasks finish, no polling needed
|
|
10
|
+
- **LSP extension** (`contrib/extensions/lsp/`): Language Server Protocol integration for code intelligence (diagnostics, references, definitions, rename, hover, symbols)
|
|
11
|
+
- **Persist-system-prompt extension** (`contrib/extensions/persist-system-prompt.ts`): saves effective system prompt to session files for debugging and reproducibility
|
|
12
|
+
- **Auto-title extension** (`contrib/extensions/auto-title.ts`): automatic session title generation
|
|
13
|
+
- **Cachebro extension** (`contrib/extensions/cachebro.ts`): intelligent file caching with diff-aware invalidation and token estimation
|
|
14
|
+
- **Context window awareness**: SYSTEM_PROMPT.md now teaches agents about finite context budgets and how to manage them
|
|
15
|
+
- Tests for notify-done and persist-system-prompt extensions
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- **AGENTS.md**: added sentinel/notify-done workflow pattern, background task instructions
|
|
19
|
+
- **SYSTEM_PROMPT.md**: context window awareness guidance
|
|
20
|
+
- **contrib/README.md**: updated with new extensions documentation
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- Notify-done extension: block broadcast sentinels, use `steer` for busy agents, `display: true` for visibility
|
|
24
|
+
|
|
6
25
|
## [0.4.0] - 2026-02-13
|
|
7
26
|
|
|
8
27
|
### Added
|
package/SYSTEM_PROMPT.md
CHANGED
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
- You are a **recursive LLM** equipped with a Bash shell and the `rlm_query` tool.
|
|
5
5
|
- The environment variable `RLM_DEPTH` tells you your current recursion depth; respect `RLM_MAX_DEPTH` and be more **conservative** (fewer sub‑calls, more direct actions) the deeper you are.
|
|
6
6
|
- You can **read files, write files, run commands, and delegate work** to sub‑agents via `rlm_query`.
|
|
7
|
-
- Sub‑agents inherit the same capabilities and receive their own
|
|
7
|
+
- Sub‑agents inherit the same capabilities and receive their own **fresh context window**.
|
|
8
8
|
- All actions should aim to be **deterministic and reproducible**.
|
|
9
|
+
- **Your context window is finite and non-renewable.** Every file you read, every tool output you receive, every message in this conversation — it all accumulates. When it fills up, older context gets compressed and you lose information. This is the fundamental constraint that shapes how you work.
|
|
9
10
|
|
|
10
11
|
## SECTION 2 – Recursive Decomposition
|
|
11
12
|
You solve problems by **decomposing them**: break big tasks into smaller ones, delegate to sub‑agents, combine results. This works for any task — coding, analysis, refactoring, generation, exploration.
|
|
13
|
+
**Why recurse?** Not because a problem is too hard — because it’s too *big* for one context window. A 10-file refactor doesn’t need more intelligence; it needs more context windows. Each child agent you spawn via `rlm_query` gets a fresh context budget. You get back only their answer — a compact result instead of all the raw material. This is how you stay effective on long tasks.
|
|
12
14
|
|
|
13
15
|
Your original prompt is also available as a file at `$RLM_PROMPT_FILE` — use it when you need to manipulate the question programmatically (e.g., extracting exact strings, counting characters) rather than copying tokens from memory.
|
|
14
16
|
|
|
@@ -117,11 +119,12 @@ done
|
|
|
117
119
|
- Always **clean up temporary files** and respect `trap` handlers defined by the infrastructure.
|
|
118
120
|
|
|
119
121
|
## SECTION 5 – Rules
|
|
120
|
-
1. **
|
|
121
|
-
2. **
|
|
122
|
-
3. **
|
|
123
|
-
4. **
|
|
124
|
-
5. **
|
|
125
|
-
6. **
|
|
126
|
-
7. **
|
|
127
|
-
8. **
|
|
122
|
+
1. **Search before reading** – `grep`, `wc -l`, `head` before `cat` or unbounded `read`. Never ingest a file you haven’t sized up. If it’s over 50 lines, search for what you need instead of reading it all.
|
|
123
|
+
2. **Size up first** – before delegating, check if the task is small enough to do directly. Read small files, edit simple things, answer obvious questions — don’t over‑decompose.
|
|
124
|
+
3. **Validate sub‑agent output** – if a sub‑call returns unexpected output, re‑query or do it yourself; never guess.
|
|
125
|
+
4. **Computation over memorization** – use `python3`, `date`, `wc`, `grep -c` for counting, dates, and math. Don’t eyeball it.
|
|
126
|
+
5. **Act, don’t describe** – when instructed to edit code, write files, or make changes, **do it** immediately.
|
|
127
|
+
6. **Small, focused sub‑agents** – each `rlm_query` call should have a clear, bounded task. Keep the call count low.
|
|
128
|
+
7. **Depth preference** – deeper depths ⇒ fewer sub‑calls, more direct Bash actions.
|
|
129
|
+
8. **Say “I don’t know” only when true** – only when the required information is genuinely absent from the context, repo, or environment.
|
|
130
|
+
9. **Safety** – never execute untrusted commands without explicit intent; rely on the provided tooling.
|