@rudderhq/agent-runtime-codex-local 0.3.6-canary.2 → 0.3.6-canary.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderhq/agent-runtime-codex-local",
3
- "version": "0.3.6-canary.2",
3
+ "version": "0.3.6-canary.4",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "homepage": "https://github.com/Undertone0809/rudder",
6
6
  "bugs": {
@@ -68,7 +68,7 @@
68
68
  "probe:quota": "pnpm exec tsx src/cli/quota-probe.ts --json"
69
69
  },
70
70
  "dependencies": {
71
- "@rudderhq/agent-runtime-utils": "0.3.6-canary.2",
71
+ "@rudderhq/agent-runtime-utils": "0.3.6-canary.4",
72
72
  "picocolors": "^1.1.1"
73
73
  },
74
74
  "devDependencies": {
@@ -166,26 +166,52 @@ Memory does not survive session restarts. Files do.
166
166
  - Make a mistake -> document it so future-you does not repeat it.
167
167
  - On-disk text files are always better than holding it in temporary context.
168
168
 
169
- ## Memory Recall -- Use The Files Directly
169
+ ## Memory Recall -- Use File-Based Memory Search
170
170
 
171
171
  Use the on-disk structure directly. Do not require a semantic index just to
172
- recall memory.
172
+ recall memory. The files are the source of truth; search is only the triage step
173
+ for locating the right file, then claims must be verified against the stored
174
+ fact or note.
173
175
 
174
176
  Recall order:
175
177
 
176
178
  1. If you already know the entity, open `summary.md` first, then `items.yaml`
177
179
  only if the summary is insufficient.
178
180
  2. For recent events, read today's and nearby `memory/YYYY-MM-DD.md` files.
179
- 3. For unknown keywords or broad recall, use `rg` across `$AGENT_HOME/life/`
180
- and `$AGENT_HOME/memory/`.
181
+ 3. For broad recall or unknown entity paths, run Memory Search Mode.
182
+
183
+ ### Memory Search Mode
184
+
185
+ Use this mode when the request sounds like "what do we know about...", "have we
186
+ seen this before...", "what did the user prefer...", or when plain directory
187
+ search would return too many matches.
188
+
189
+ 1. Define the search target in one sentence: subject, likely entity, timeframe,
190
+ project, and answer shape.
191
+ 2. Build 3-6 focused query terms: exact phrase, synonyms, likely entity names,
192
+ project names, and durable-signal words such as `preference`, `decision`,
193
+ `lesson`, `handoff`, `constraint`, or `review`.
194
+ 3. Search scoped roots separately so results can be ranked by source type:
181
195
 
182
196
  ```bash
183
- rg -n "Christmas" "$AGENT_HOME/life" "$AGENT_HOME/memory"
184
- rg -n "specific phrase" "$AGENT_HOME/life" "$AGENT_HOME/memory"
197
+ rg -n -i "review|handoff|preference" "$AGENT_HOME/life" "$AGENT_HOME/memory"
198
+ rg -n -i "review|handoff|preference" "$RUDDER_PROJECT_LIBRARY_ROOT"
185
199
  ```
186
200
 
187
- The files are the source of truth. Search is only a way to locate the right
188
- file, then verify against the stored fact or note.
201
+ 4. Rank candidate files before opening many of them:
202
+ - entity `summary.md` over `items.yaml` for quick context;
203
+ - active `items.yaml` facts over superseded facts;
204
+ - recent daily notes over old daily notes for event recall;
205
+ - newest dated shared work notes over older notes;
206
+ - files matching multiple query terms over single-term matches;
207
+ - paths in the current project or organization over unrelated roots.
208
+ 5. Open the top 3-7 candidate files, not every match. Read enough surrounding
209
+ context to verify the fact, date, status, and source.
210
+ 6. Answer from verified memory only. Cite the file paths used, mention conflicts
211
+ or weak matches, and say when no reliable memory was found.
212
+
213
+ Do not dump raw `rg` output as the answer. Do not treat a keyword hit as a fact
214
+ until the source file has been opened and checked.
189
215
 
190
216
  ## Shared Work Notes
191
217
 
@@ -126,3 +126,29 @@ Must not:
126
126
  memory.
127
127
  - Ignore the attachment-driven reinterpretation when forming future task
128
128
  context.
129
+
130
+ ### Case: Broad Memory Recall Needs Search Triage
131
+
132
+ Input:
133
+
134
+ A user asks: "What do we know about my previous preferences for agent review
135
+ handoffs?" There is no known entity path, and the relevant notes may live across
136
+ life summaries, daily notes, or shared project Library files.
137
+
138
+ Expected behavior:
139
+
140
+ - Build a focused memory-search query set from concrete terms, synonyms,
141
+ likely entities, and date/project hints before reading files.
142
+ - Search the likely memory roots and return a short ranked candidate list
143
+ grouped by source type, preferring entity `summary.md`, active facts, recent
144
+ daily notes, and newest shared work notes.
145
+ - Open only the strongest candidate files, verify claims against stored facts
146
+ or notes, and cite the file paths used.
147
+ - State uncertainty when matches are weak or conflicting.
148
+
149
+ Must not:
150
+
151
+ - Dump raw `rg` output as the answer.
152
+ - Read every matching file without ranking.
153
+ - Treat keyword matches as facts before opening and verifying the source file.
154
+ - Ignore newer dated notes or superseded facts when older matches exist.
@@ -64,3 +64,29 @@ Facts decay in retrieval priority over time so stale info does not crowd out rec
64
64
  **Weekly synthesis:** Sort by recency tier, then by access_count within tier. Cold facts drop out of the summary but remain in items.yaml. Accessing a cold fact reheats it.
65
65
 
66
66
  No deletion. Decay only affects retrieval priority via summary.md curation. The full record always lives in items.yaml.
67
+
68
+ ## Memory Search Result Rules
69
+
70
+ When broad recall uses file search, results are candidates, not facts. Open the
71
+ candidate file and verify the stored note or YAML item before answering.
72
+
73
+ Rank candidates with this bias:
74
+
75
+ - `summary.md` gives the fastest current entity context.
76
+ - `items.yaml` is authoritative for atomic facts; ignore facts with
77
+ `status: superseded` except to explain history or follow `superseded_by`.
78
+ - Daily notes are authoritative for raw timeline and conversation capture.
79
+ - Newer dated shared work notes usually supersede older shared notes unless the
80
+ older file explicitly remains active.
81
+ - Multiple matching terms in one file are stronger than one isolated match.
82
+
83
+ When a fact is used in the final answer, update access metadata when practical:
84
+
85
+ ```yaml
86
+ last_accessed: "YYYY-MM-DD"
87
+ access_count: 1
88
+ ```
89
+
90
+ Answers should cite the memory file path or Rudder-renderable Library reference
91
+ used, state when evidence is weak, and avoid exposing raw private transcript
92
+ text unless the exact wording is necessary and safe.
@@ -5,12 +5,7 @@ description: Use Rudder control-plane best practices and CLI-backed references f
5
5
 
6
6
  # Rudder Skill
7
7
 
8
- This is the control-plane practice skill for agents working under Rudder. Rudder
9
- work is not only "run a command"; it is a governed loop:
10
-
11
- ```text
12
- Goal -> Issue -> Agent run -> Review -> Feedback -> Learning -> Better future runs
13
- ```
8
+ This is the control-plane practice skill for agents working under Rudder.
14
9
 
15
10
  Runtime-owned heartbeat prompts provide the fixed heartbeat execution flow for
16
11
  timed wakeups, assignment wakes, reviewer wakes, mention wakes, passive