T02 was the one genuinely-incomplete bootstrap task: AGENTS.md had no
dev-workflow section. Added one documenting the pure-stdlib Python 3.11+
toolchain, pytest, and the session_memory ingest/detect/curate entrypoints so
future sessions can verify changes. T01 (integration files) and T03 (first real
workplan) were already satisfied; reconciled stale ready/todo bookkeeping to
finished/done.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
python -m session_memory.curate: refreshes detect candidates, then drives them
through review interactively or with --auto-approve (batch, gate-driven) /
--json. Emits a catalog diff summary; queues hub decisions when offline.
[curate] config gains decision_queue + workstream id. README documents the
detect -> curate -> distribute flow and the gate knobs. 2 new tests; suite 72/72.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
decisions.py: every final promote/reject becomes a record_decision-shaped
payload (rationale + source key + evidence snapshot). DecisionRecorder degrades
gracefully under a hub outage — pluggable sink with a durable local-queue
fallback and ordered flush/replay (mirrors Phase 1's after-the-fact sync).
Wired into review() via an optional recorder. 6 new tests; suite 70/70 green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gating.py: two-tier evidence bar (OQ5) — promote floor (frequency/sessions/
cost_impact) plus a stricter distribution-eligibility floor that sets a
promoted pattern to approved+distribution_ready vs provisional. Wired into
review() so thin approvals land provisional. bloat_warnings flags duplicate
and near-duplicate (same signal-type+locus) candidates (OQ6). [curate]/
[curate.gate] knobs in config.toml. 6 new tests; suite 64/64 green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
UI-free discuss/approve/reject engine driving detect candidates into the
catalog via a decide callback. candidate_to_pattern builds a provisional
SolutionPattern with per-flavor rendering-hint stubs. ReviewLog makes
re-review idempotent: prior rejects remembered, re-surfaced only when the
evidence fingerprint changes. 6 new tests; suite 58/58 green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Files-first catalog (one JSON per pattern, id = source-key). Single
idempotent upsert path: added / unchanged / updated (status-only, no bump) /
versioned (content change bumps semver + archives prior to <id>.history.jsonl).
Dedup is structural on pattern id. 5 new tests; suite 52/52 green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Marks AGENTIC-WP-0003 finished. Full suite 40/40 green; live pipeline
over real local sessions (Codex via fixtures) surfaced 3 candidate
patterns, 2 cross-flavor (Claude+Grok) — PRD success metric met.
README documents the detect entrypoint and Phase 0/1/next status.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- adapters/grok.py: reads the per-session dir (summary.json + chat_history.jsonl
+ events.jsonl + updates.jsonl); conversation from chat_history, lifecycle/
turn from events, tool-call names paired in order from updates ACP stream
- registered in ingest dispatch; codex+grok sources enabled in config.toml
- tests/test_grok_adapter.py (synthetic + real local sessions)
- live multi-flavor dry-run discovers 89 sessions across flavors
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- verified full sweep over 85 real local Claude transcripts: 63 sessions
ingested+analyzed, eviction under tiny cap freed 26MB with zero data loss,
digest-preservation invariant holds, idempotent re-run
- session_memory/README.md: usage, scheduling, retention knobs
- design doc: OQ4 resolved (median ~49KB/session), OQ6 (multi-file sessions)
- workplan AGENTIC-WP-0002 finished
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- session_memory/core/retention.py: RetentionConfig + sweep() with backstop,
budget (oldest-analyzed-first, never touches un-analyzed), and hard-cap
overflow (analyze-now then reported last-resort data_loss); EvictionReport
- tests/test_retention.py covers all four branches
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- docs/PRD-helix-forge.md: Capture→Detect→Curate→Distribute→Measure loop
- docs/DESIGN-session-memory.md: tiered store + budget-based eviction;
verified session-log schemas for Claude/Codex/Grok
- workplans/AGENTIC-WP-0002: Phase 0 (registered with State Hub)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>