Files
agentic-resources/session_memory/config.toml
tegwick 70433cda61 session-memory: session-quality filter (WP-0005 T01)
detect/quality.py: is_real_coding_session drops health-checks / smoke-tests /
interrupted / trivially-short sessions (event floor, repo present, substantive
tool activity, non-trivial prompt). Wired into run_detect so signals only form
over real sessions — fixes the abandoned false-positive. [detect.quality] knobs;
existing detect/curate fixtures made realistic. 8 new tests; suite 80/80.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 11:07:22 +02:00

66 lines
2.8 KiB
TOML

# Coding Session Memory — configuration (design §5.1, §8).
# Paths support ~ expansion. Edit caps to taste; see docs/DESIGN-session-memory.md.
[store]
# Local store lives under the repo by default (gitignored).
db_path = "session_memory/.store/mem.db"
blob_dir = "session_memory/.store/blobs"
cursor = "session_memory/.store/cursors.json"
[retention]
raw_soft_cap_bytes = 4294967296 # 4 GiB — begin evicting analyzed sessions above this
raw_hard_cap_bytes = 6442450944 # 6 GiB — absolute Tier 1 ceiling
raw_max_age_days = 45 # backstop: analyzed raw older than this is evictable
distilled_cap_bytes = 1073741824 # 1 GiB — Tier 2 ceiling (alert, never auto-drop)
cadence = "daily" # sweep trigger: daily | weekly | on-hook
[sources.claude]
enabled = true
root = "~/.claude/projects"
# glob, relative to root; covers sessions and agent-* sidechains
glob = "*/*.jsonl"
# Codex / Grok adapters added in Phase 1 (AGENTIC-WP-0003).
[sources.codex]
enabled = true
root = "~/.codex/sessions"
glob = "*/*/*/rollout-*.jsonl"
[sources.grok]
enabled = true
root = "~/.grok/sessions"
glob = "*/*/chat_history.jsonl"
# Detect phase (AGENTIC-WP-0005): quality filter — drop non-coding/trivial sessions
# before signals form, so health-checks don't mint false-positive patterns.
[detect.quality]
min_events = 20 # below this many events, not a real coding session
min_substantive = 3 # require >= this many substantive (edit/read/shell) tool calls
min_prompt_len = 25 # first prompt shorter than this is treated as trivial
# Curate phase (AGENTIC-WP-0004): catalog location + promotion evidence bar.
[curate]
catalog_dir = "session_memory/catalog" # files-first Pattern Catalog (committed)
review_log = "session_memory/.store/reviews.jsonl" # remembered decisions (gitignored)
decision_queue = "session_memory/.store/decisions.queue.jsonl" # hub decisions pending sync
state_hub_workstream_id = "b3703684-f60e-42f3-b03e-dabe3e8ce3f4" # AGENTIC-WP-0004
# Evidence bar (OQ5): floors to promote at all, and stricter floors to be
# distribution-eligible (status=approved, distribution_ready=true).
[curate.gate]
min_frequency = 2 # >= this many supporting signals to promote
min_sessions = 2 # >= this many distinct sessions
min_cost_impact = 0.0
dist_require_cross_flavor = false # require cross-flavor evidence to distribute
dist_min_frequency = 3
dist_min_cost_impact = 0.0
# cwd basename -> domain slug. Used to tag sessions with their Custodian domain.
[repo_domain_map]
agentic-resources = "helix_forge"
the-custodian = "custodian"
state-hub = "custodian"
ops-bridge = "custodian"
net-kingdom = "netkingdom"
can-you-assist = "coulomb_social"