palaia 2.4.dev2__tar.gz → 2.4.dev3__tar.gz

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 (144) hide show
  1. {palaia-2.4.dev2/palaia.egg-info → palaia-2.4.dev3}/PKG-INFO +1 -1
  2. {palaia-2.4.dev2 → palaia-2.4.dev3}/SKILL.md +45 -5
  3. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/SKILL.md +45 -5
  4. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/__init__.py +1 -1
  5. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/misc.py +18 -1
  6. {palaia-2.4.dev2 → palaia-2.4.dev3/palaia.egg-info}/PKG-INFO +1 -1
  7. {palaia-2.4.dev2 → palaia-2.4.dev3}/pyproject.toml +1 -1
  8. {palaia-2.4.dev2 → palaia-2.4.dev3}/CHANGELOG.md +0 -0
  9. {palaia-2.4.dev2 → palaia-2.4.dev3}/LICENSE +0 -0
  10. {palaia-2.4.dev2 → palaia-2.4.dev3}/MANIFEST.in +0 -0
  11. {palaia-2.4.dev2 → palaia-2.4.dev3}/README.md +0 -0
  12. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/__main__.py +0 -0
  13. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/backends/__init__.py +0 -0
  14. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/backends/migrate.py +0 -0
  15. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/backends/postgres.py +0 -0
  16. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/backends/protocol.py +0 -0
  17. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/backends/sqlite.py +0 -0
  18. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/bm25.py +0 -0
  19. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/cli.py +0 -0
  20. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/cli_args.py +0 -0
  21. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/cli_commands.py +0 -0
  22. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/cli_helpers.py +0 -0
  23. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/cli_nudge.py +0 -0
  24. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/config.py +0 -0
  25. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/curate.py +0 -0
  26. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/decay.py +0 -0
  27. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/doctor/__init__.py +0 -0
  28. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/doctor/checks.py +0 -0
  29. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/doctor/fixes.py +0 -0
  30. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/doctor/report.py +0 -0
  31. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/embed_client.py +0 -0
  32. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/embed_server.py +0 -0
  33. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/embeddings.py +0 -0
  34. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/entry.py +0 -0
  35. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/enums.py +0 -0
  36. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/frontmatter.py +0 -0
  37. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/index.py +0 -0
  38. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/ingest.py +0 -0
  39. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/lock.py +0 -0
  40. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/locking.py +0 -0
  41. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/mcp/__init__.py +0 -0
  42. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/mcp/server.py +0 -0
  43. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/memo.py +0 -0
  44. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/metadata_index.py +0 -0
  45. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/migrate.py +0 -0
  46. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/nudge.py +0 -0
  47. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/packages.py +0 -0
  48. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/priorities.py +0 -0
  49. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/process_runner.py +0 -0
  50. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/project.py +0 -0
  51. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/project_lock.py +0 -0
  52. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/scope.py +0 -0
  53. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/search.py +0 -0
  54. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/__init__.py +0 -0
  55. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/admin.py +0 -0
  56. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/curate.py +0 -0
  57. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/ingest.py +0 -0
  58. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/memo.py +0 -0
  59. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/package.py +0 -0
  60. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/priorities.py +0 -0
  61. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/process.py +0 -0
  62. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/project.py +0 -0
  63. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/query.py +0 -0
  64. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/status.py +0 -0
  65. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/services/write.py +0 -0
  66. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/significance.py +0 -0
  67. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/store.py +0 -0
  68. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/sync.py +0 -0
  69. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/ui.py +0 -0
  70. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia/wal.py +0 -0
  71. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia.egg-info/SOURCES.txt +0 -0
  72. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia.egg-info/dependency_links.txt +0 -0
  73. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia.egg-info/entry_points.txt +0 -0
  74. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia.egg-info/requires.txt +0 -0
  75. {palaia-2.4.dev2 → palaia-2.4.dev3}/palaia.egg-info/top_level.txt +0 -0
  76. {palaia-2.4.dev2 → palaia-2.4.dev3}/setup.cfg +0 -0
  77. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_agent_aliases.py +0 -0
  78. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_agent_flag.py +0 -0
  79. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_audit_fixes.py +0 -0
  80. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_auto_title.py +0 -0
  81. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_backend_migrate.py +0 -0
  82. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_backend_postgres.py +0 -0
  83. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_backend_sqlite.py +0 -0
  84. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_bm25.py +0 -0
  85. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_bounded_gc.py +0 -0
  86. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_capture_level.py +0 -0
  87. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_chain_cli.py +0 -0
  88. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_concurrent_writes.py +0 -0
  89. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_config.py +0 -0
  90. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_config_detection.py +0 -0
  91. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_cross_platform_lock.py +0 -0
  92. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_cross_project.py +0 -0
  93. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_curate.py +0 -0
  94. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_decay.py +0 -0
  95. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_detect.py +0 -0
  96. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_doctor.py +0 -0
  97. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_doctor_fix_chain.py +0 -0
  98. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_doctor_memos.py +0 -0
  99. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_doctor_staleness.py +0 -0
  100. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_doctor_version.py +0 -0
  101. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_embed_server.py +0 -0
  102. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_embed_server_socket.py +0 -0
  103. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_embeddings.py +0 -0
  104. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_entry_classes.py +0 -0
  105. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_frontmatter.py +0 -0
  106. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_gemini_embeddings.py +0 -0
  107. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_hit_decay.py +0 -0
  108. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_incremental_indexing.py +0 -0
  109. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_index.py +0 -0
  110. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_ingest.py +0 -0
  111. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_init_gatekeeper.py +0 -0
  112. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_init_no_agent.py +0 -0
  113. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_list_filters.py +0 -0
  114. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_locking.py +0 -0
  115. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_mcp_server.py +0 -0
  116. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_memo.py +0 -0
  117. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_metadata_index.py +0 -0
  118. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_migrate.py +0 -0
  119. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_multi_agent.py +0 -0
  120. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_nudge_tracker.py +0 -0
  121. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_packages.py +0 -0
  122. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_plugin_defaults_upgrade.py +0 -0
  123. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_priorities.py +0 -0
  124. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_process_nudge.py +0 -0
  125. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_process_runner.py +0 -0
  126. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_project.py +0 -0
  127. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_project_owner.py +0 -0
  128. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_scope.py +0 -0
  129. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_scope_enforcement.py +0 -0
  130. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_search.py +0 -0
  131. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_search_cache.py +0 -0
  132. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_search_chain.py +0 -0
  133. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_significance.py +0 -0
  134. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_skill.py +0 -0
  135. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_ssrf.py +0 -0
  136. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_status_index_hint.py +0 -0
  137. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_store.py +0 -0
  138. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_sync.py +0 -0
  139. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_temporal_queries.py +0 -0
  140. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_unicode.py +0 -0
  141. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_ux_improvements.py +0 -0
  142. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_wal.py +0 -0
  143. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_wal_corruption.py +0 -0
  144. {palaia-2.4.dev2 → palaia-2.4.dev3}/tests/test_warmup_reindex.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: palaia
3
- Version: 2.4.dev2
3
+ Version: 2.4.dev3
4
4
  Summary: Local, cloud-free memory for OpenClaw agents.
5
5
  Author-email: byte5 GmbH <hello@byte5.de>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: palaia
3
- version: "2.4.dev2"
3
+ version: "2.4.dev3"
4
4
  description: >
5
5
  Local, crash-safe persistent memory for OpenClaw agents.
6
6
  SQLite-backed by default. Semantic search, projects, scopes, auto-capture.
@@ -25,17 +25,18 @@ metadata:
25
25
  - command: "python3 -m pip install --upgrade 'palaia[fastembed]' && (npm install -g @byte5ai/palaia@latest 2>/dev/null || true) && palaia doctor --fix && palaia warmup"
26
26
  label: "Upgrade Palaia with semantic search (pip + npm plugin) and run health checks"
27
27
  postUpdateMessage: >
28
- Palaia has been updated to v2.2. New: SQLite default backend, injection priorities,
29
- knowledge curation, ContextEngine integration. Run `palaia doctor --fix` to upgrade.
28
+ Palaia has been updated to v2.4. New: session continuity (automatic briefings and
29
+ summaries), privacy markers, recency boost, progressive disclosure. Run `palaia doctor --fix` to upgrade.
30
30
  plugin:
31
31
  slot: memory
32
32
  package: "@byte5ai/palaia"
33
33
  ---
34
34
 
35
- # Palaia v2.2 — Agent Memory Skill
35
+ # Palaia v2.4 — Agent Memory Skill
36
36
 
37
37
  Palaia is the memory system for OpenClaw agents. It gives you persistent, searchable, crash-safe memory across sessions. You don't need to understand how it works — just use the commands below.
38
38
 
39
+ <!-- begin:install -->
39
40
  ## First-Time Setup
40
41
 
41
42
  When a user asks you to "set up palaia", "enable memory", or "remember things across sessions", run these steps:
@@ -136,6 +137,7 @@ npm install -g @byte5ai/palaia@latest
136
137
  ```
137
138
 
138
139
  After the manual update, `palaia upgrade` will be available for future updates.
140
+ <!-- end:install -->
139
141
 
140
142
  ## Auto-Check (run every time this skill is loaded)
141
143
 
@@ -290,6 +292,9 @@ palaia query "what's the rate limit"
290
292
  # Filter by type and status
291
293
  palaia query "tasks" --type task --status open
292
294
 
295
+ # Filter by tags
296
+ palaia query "session-summary" --tags session-summary
297
+
293
298
  # Search within a project
294
299
  palaia query "deploy steps" --project myapp
295
300
 
@@ -324,6 +329,9 @@ palaia list
324
329
  # Filter by tier, type, status
325
330
  palaia list --tier warm --type task --status open --priority high
326
331
 
332
+ # Limit results
333
+ palaia list --type task --status open --limit 5
334
+
327
335
  # Filter by project or assignee
328
336
  palaia list --project myapp --assignee Elliot
329
337
  ```
@@ -593,7 +601,7 @@ palaia instance set Claw-Main
593
601
  | Review accumulated knowledge | `palaia curate analyze` |
594
602
  | Share knowledge | `palaia sync export` or `palaia package export` |
595
603
  | Check for messages | `palaia memo inbox` |
596
- | Start of session | `palaia doctor` then `palaia query "active work"` then `palaia memo inbox` |
604
+ | Start of session | Session briefing is now automatic. Just run `palaia doctor` and check `palaia memo inbox`. |
597
605
 
598
606
  **Do NOT manually write:** facts, decisions, or preferences that came up in the current conversation. Auto-Capture handles these.
599
607
 
@@ -632,6 +640,33 @@ palaia init --capture-level <off|minimal|normal|aggressive>
632
640
 
633
641
  ---
634
642
 
643
+ ## Session Continuity (NEW in v2.4)
644
+
645
+ Session continuity gives agents automatic context restoration across sessions. These features work out of the box with the OpenClaw plugin -- no manual setup needed.
646
+
647
+ ### Session Briefings
648
+ On session start, Palaia automatically injects a briefing with the last session summary and any open tasks. This means agents resume work without needing to manually search for context.
649
+
650
+ ### Session Summaries
651
+ When a session ends or resets, Palaia auto-saves a summary of what happened. These are stored as entries with the `session-summary` tag and can be queried:
652
+ ```bash
653
+ palaia query "session-summary" --tags session-summary
654
+ ```
655
+
656
+ ### Privacy Markers
657
+ Wrap sensitive content in `<private>...</private>` blocks to exclude it from auto-capture. Private blocks are stripped before any extraction runs.
658
+
659
+ ### Recency Boost
660
+ Fresh memories are ranked higher in recall results. The boost factor is configurable via `recallRecencyBoost` (default `0.3`, set to `0` to disable).
661
+
662
+ ### Progressive Disclosure
663
+ When result sets exceed 100 entries, Palaia uses compact mode to keep context manageable. Use `--limit` to control result size explicitly:
664
+ ```bash
665
+ palaia list --type task --status open --limit 5
666
+ ```
667
+
668
+ ---
669
+
635
670
  ## Plugin Configuration (OpenClaw)
636
671
 
637
672
  Set in `openclaw.json` under `plugins.entries.palaia.config`:
@@ -649,6 +684,11 @@ Set in `openclaw.json` under `plugins.entries.palaia.config`:
649
684
  | `embeddingServer` | `true` | Keep embedding model loaded for fast queries |
650
685
  | `showMemorySources` | `true` | Show memory source footnotes |
651
686
  | `showCaptureConfirm` | `true` | Show capture confirmations |
687
+ | `sessionSummary` | `true` | Auto-save session summaries on end/reset |
688
+ | `sessionBriefing` | `true` | Load session context on session start |
689
+ | `sessionBriefingMaxChars` | `1500` | Max chars for session briefing injection |
690
+ | `captureToolObservations` | `true` | Track tool usage as session context |
691
+ | `recallRecencyBoost` | `0.3` | Boost factor for fresh memories (0=off) |
652
692
 
653
693
  ---
654
694
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: palaia
3
- version: "2.4.dev2"
3
+ version: "2.4.dev3"
4
4
  description: >
5
5
  Local, crash-safe persistent memory for OpenClaw agents.
6
6
  SQLite-backed by default. Semantic search, projects, scopes, auto-capture.
@@ -25,17 +25,18 @@ metadata:
25
25
  - command: "python3 -m pip install --upgrade 'palaia[fastembed]' && (npm install -g @byte5ai/palaia@latest 2>/dev/null || true) && palaia doctor --fix && palaia warmup"
26
26
  label: "Upgrade Palaia with semantic search (pip + npm plugin) and run health checks"
27
27
  postUpdateMessage: >
28
- Palaia has been updated to v2.2. New: SQLite default backend, injection priorities,
29
- knowledge curation, ContextEngine integration. Run `palaia doctor --fix` to upgrade.
28
+ Palaia has been updated to v2.4. New: session continuity (automatic briefings and
29
+ summaries), privacy markers, recency boost, progressive disclosure. Run `palaia doctor --fix` to upgrade.
30
30
  plugin:
31
31
  slot: memory
32
32
  package: "@byte5ai/palaia"
33
33
  ---
34
34
 
35
- # Palaia v2.2 — Agent Memory Skill
35
+ # Palaia v2.4 — Agent Memory Skill
36
36
 
37
37
  Palaia is the memory system for OpenClaw agents. It gives you persistent, searchable, crash-safe memory across sessions. You don't need to understand how it works — just use the commands below.
38
38
 
39
+ <!-- begin:install -->
39
40
  ## First-Time Setup
40
41
 
41
42
  When a user asks you to "set up palaia", "enable memory", or "remember things across sessions", run these steps:
@@ -136,6 +137,7 @@ npm install -g @byte5ai/palaia@latest
136
137
  ```
137
138
 
138
139
  After the manual update, `palaia upgrade` will be available for future updates.
140
+ <!-- end:install -->
139
141
 
140
142
  ## Auto-Check (run every time this skill is loaded)
141
143
 
@@ -290,6 +292,9 @@ palaia query "what's the rate limit"
290
292
  # Filter by type and status
291
293
  palaia query "tasks" --type task --status open
292
294
 
295
+ # Filter by tags
296
+ palaia query "session-summary" --tags session-summary
297
+
293
298
  # Search within a project
294
299
  palaia query "deploy steps" --project myapp
295
300
 
@@ -324,6 +329,9 @@ palaia list
324
329
  # Filter by tier, type, status
325
330
  palaia list --tier warm --type task --status open --priority high
326
331
 
332
+ # Limit results
333
+ palaia list --type task --status open --limit 5
334
+
327
335
  # Filter by project or assignee
328
336
  palaia list --project myapp --assignee Elliot
329
337
  ```
@@ -593,7 +601,7 @@ palaia instance set Claw-Main
593
601
  | Review accumulated knowledge | `palaia curate analyze` |
594
602
  | Share knowledge | `palaia sync export` or `palaia package export` |
595
603
  | Check for messages | `palaia memo inbox` |
596
- | Start of session | `palaia doctor` then `palaia query "active work"` then `palaia memo inbox` |
604
+ | Start of session | Session briefing is now automatic. Just run `palaia doctor` and check `palaia memo inbox`. |
597
605
 
598
606
  **Do NOT manually write:** facts, decisions, or preferences that came up in the current conversation. Auto-Capture handles these.
599
607
 
@@ -632,6 +640,33 @@ palaia init --capture-level <off|minimal|normal|aggressive>
632
640
 
633
641
  ---
634
642
 
643
+ ## Session Continuity (NEW in v2.4)
644
+
645
+ Session continuity gives agents automatic context restoration across sessions. These features work out of the box with the OpenClaw plugin -- no manual setup needed.
646
+
647
+ ### Session Briefings
648
+ On session start, Palaia automatically injects a briefing with the last session summary and any open tasks. This means agents resume work without needing to manually search for context.
649
+
650
+ ### Session Summaries
651
+ When a session ends or resets, Palaia auto-saves a summary of what happened. These are stored as entries with the `session-summary` tag and can be queried:
652
+ ```bash
653
+ palaia query "session-summary" --tags session-summary
654
+ ```
655
+
656
+ ### Privacy Markers
657
+ Wrap sensitive content in `<private>...</private>` blocks to exclude it from auto-capture. Private blocks are stripped before any extraction runs.
658
+
659
+ ### Recency Boost
660
+ Fresh memories are ranked higher in recall results. The boost factor is configurable via `recallRecencyBoost` (default `0.3`, set to `0` to disable).
661
+
662
+ ### Progressive Disclosure
663
+ When result sets exceed 100 entries, Palaia uses compact mode to keep context manageable. Use `--limit` to control result size explicitly:
664
+ ```bash
665
+ palaia list --type task --status open --limit 5
666
+ ```
667
+
668
+ ---
669
+
635
670
  ## Plugin Configuration (OpenClaw)
636
671
 
637
672
  Set in `openclaw.json` under `plugins.entries.palaia.config`:
@@ -649,6 +684,11 @@ Set in `openclaw.json` under `plugins.entries.palaia.config`:
649
684
  | `embeddingServer` | `true` | Keep embedding model loaded for fast queries |
650
685
  | `showMemorySources` | `true` | Show memory source footnotes |
651
686
  | `showCaptureConfirm` | `true` | Show capture confirmations |
687
+ | `sessionSummary` | `true` | Auto-save session summaries on end/reset |
688
+ | `sessionBriefing` | `true` | Load session context on session start |
689
+ | `sessionBriefingMaxChars` | `1500` | Max chars for session briefing injection |
690
+ | `captureToolObservations` | `true` | Track tool usage as session context |
691
+ | `recallRecencyBoost` | `0.3` | Boost factor for fresh memories (0=off) |
652
692
 
653
693
  ---
654
694
 
@@ -4,5 +4,5 @@ Palaia — Local, cloud-free memory for OpenClaw agents.
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- __version__ = "2.4.dev2"
7
+ __version__ = "2.4.dev3"
8
8
  __author__ = "byte5 GmbH"
@@ -78,7 +78,17 @@ def unlock_project(root: Path, *, project: str) -> dict:
78
78
 
79
79
 
80
80
  def get_skill_content() -> dict:
81
- """Read and return SKILL.md content. Returns dict with 'skill' or 'error'."""
81
+ """Read and return SKILL.md content.
82
+
83
+ Strips the install/update section (between ``<!-- begin:install -->``
84
+ and ``<!-- end:install -->``) because ``palaia skill`` is only called
85
+ when palaia is already installed — the install block wastes context window.
86
+ ClawHub and GitHub still see the full file.
87
+
88
+ Returns dict with 'skill' or 'error'.
89
+ """
90
+ import re
91
+
82
92
  skill_path = Path(__file__).parent.parent / "SKILL.md"
83
93
  if not skill_path.exists():
84
94
  return {
@@ -88,6 +98,13 @@ def get_skill_content() -> dict:
88
98
  )
89
99
  }
90
100
  content = skill_path.read_text(encoding="utf-8")
101
+ # Strip install section — agent already has palaia installed
102
+ content = re.sub(
103
+ r"<!-- begin:install -->.*?<!-- end:install -->\n*",
104
+ "",
105
+ content,
106
+ flags=re.DOTALL,
107
+ )
91
108
  return {"skill": content}
92
109
 
93
110
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: palaia
3
- Version: 2.4.dev2
3
+ Version: 2.4.dev3
4
4
  Summary: Local, cloud-free memory for OpenClaw agents.
5
5
  Author-email: byte5 GmbH <hello@byte5.de>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "palaia"
7
- version = "2.4.dev2"
7
+ version = "2.4.dev3"
8
8
  description = "Local, cloud-free memory for OpenClaw agents."
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes