generated from coulomb/repo-seed
The analysis half of the weekly coding retrospection. retro/build.py: windowed detect+measure -> top-3 improvement suggestions per repo (cross-flavor first, recommendations pulled from the Pattern Catalog) + fleet snapshot. retro/publish.py: publishes the report to the hub as the coding_retro read model (event_type= coding_retro progress event) + local JSON/md, graceful degrade. retro entrypoint with --window-days/--publish/--json. Live verify over real sessions surfaced per-repo suggestions with catalog recommendations. 13 new tests; suite 152/152. Consumed by activity-core ACTIVITY-WP-0008 (Weekly Coding Retrospection, Sat 19:00). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
84 lines
3.8 KiB
TOML
84 lines
3.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.
|
|
# Measure phase (AGENTIC-WP-0009): persisted baseline/trend of fleet metrics.
|
|
[measure]
|
|
baselines = "session_memory/measure/baselines.jsonl" # timestamped metric snapshots (committed)
|
|
|
|
# Weekly retro (AGENTIC-WP-0010): windowed top-3-per-repo report, published to the
|
|
# hub as the coding_retro read model that activity-core's weekly schedule consumes.
|
|
[retro]
|
|
window_days = 7
|
|
report_json = "session_memory/retro/last_retro.json" # latest report (committed)
|
|
report_md = "session_memory/retro/last_retro.md" # human-readable mirror
|
|
hub_url = "http://127.0.0.1:8000" # for --publish (best-effort)
|
|
|
|
# Distribute phase (AGENTIC-WP-0007): where per-flavor proposals + the active
|
|
# registry are written. Proposals are HITL — reviewed, never auto-applied.
|
|
[distribute]
|
|
proposals_dir = "session_memory/proposals" # reviewable proposals (gitignored, regenerated)
|
|
active_registry = "session_memory/distribute/active_patterns.json" # what's proposed/active where (committed)
|
|
|
|
[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"
|