feat: enhance agent personality, tool guidance, and memory hygiene
- Expand communication style presets (professional, expressive, custom) - Enrich SOUL.md with human-like tone and emoji-awareness guidance - Add crash recovery and sub-task scoping guidance to AGENTS.md scaffold - Add 'Use when / Don't use when' guidance to TOOLS.md and runtime prompts - Implement memory hygiene system with configurable archiving and retention - Add MemoryConfig options: hygiene_enabled, archive_after_days, purge_after_days, conversation_retention_days - Archive old daily memory and session files to archive subdirectories - Purge old archives and prune stale SQLite conversation rows - Add comprehensive tests for new features
This commit is contained in:
parent
f4f180ac41
commit
ec2d5cc93d
29 changed files with 3600 additions and 116 deletions
|
|
@ -258,8 +258,14 @@ impl SecurityPolicy {
|
|||
/// Validate that a resolved path is still inside the workspace.
|
||||
/// Call this AFTER joining `workspace_dir` + relative path and canonicalizing.
|
||||
pub fn is_resolved_path_allowed(&self, resolved: &Path) -> bool {
|
||||
// Must be under workspace_dir (prevents symlink escapes)
|
||||
resolved.starts_with(&self.workspace_dir)
|
||||
// Must be under workspace_dir (prevents symlink escapes).
|
||||
// Prefer canonical workspace root so `/a/../b` style config paths don't
|
||||
// cause false positives or negatives.
|
||||
let workspace_root = self
|
||||
.workspace_dir
|
||||
.canonicalize()
|
||||
.unwrap_or_else(|_| self.workspace_dir.clone());
|
||||
resolved.starts_with(workspace_root)
|
||||
}
|
||||
|
||||
/// Check if autonomy level permits any action at all
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue