fix(agent): protect bootstrap prefix from context pruning#381
fix(agent): protect bootstrap prefix from context pruning#381maxsumrall wants to merge 1 commit intoopenclaw:mainfrom
Conversation
9753a5e to
91a7b2a
Compare
a0faff2 to
d1cd565
Compare
|
Quick update since earlier today:
Behavior is still the same core promise: pruning happens only in-memory in the Pi context hook; the session |
|
I took a look at #386 ("observation masking"). It’s aiming at the same root problem (tool results dominating context), but there are a few important differences vs this PR:
Net: #386 is simpler and very predictable, but it’s also easier to accidentally over-prune “still-needed” tool outputs and it adds more churn to the embedded runner. This PR’s |
2c81d5c to
8b36001
Compare
96a9d68 to
d538333
Compare
|
Landed on main. Commits:
Tests: pnpm lint && pnpm build && pnpm test |
* fix: improve debug logging for Graphiti client and startup service URLs - Add URL to Graphiti client error logs for ingest and search operations - Log configured external service endpoints (Graphiti, Obsidian, QMD) at startup - Helps debug connectivity issues by showing which URLs are being targeted * feat: add Goal Progress Panel to Overseer view New component that provides detailed per-phase progress tracking for goals: - Overall goal completion percentage with animated progress bar - Status distribution visualization (done/in-progress/blocked/pending) - Per-phase collapsible progress bars with stacked status segments - Individual task listing with dependency indicators - Velocity metrics (tasks/day) and estimated time remaining Files added: - ui/src/ui/views/overseer-progress.ts — Goal progress panel component - ui/src/styles/overseer.css — Extracted overseer styles + new progress panel CSS Integration: - Added expandedPhaseIds state + toggleProgressPhase to overseer controller - Wired renderGoalProgress into main overseer view (shows when goal has plan) - Added CSS import to main styles.css
Follow-up safety fix for the opt-in tool-result context pruning that recently landed on
main.What changed
role:"user"message in the session (“bootstrap prefix” protection).Why
Some sessions start with assistant/tool bootstrap work (reading user/system files, etc) before the first user message. In aggressive pruning, those early tool results can get cleared even though they function as part of the initial context, leading to missing details later.
Notes
*.jsonlhistory remains complete.mainafter this PR was opened; this PR now only adds the bootstrap-prefix guard.Testing
pnpm lint && pnpm build && pnpm test