Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: cukas/remembrall

v3.0.0

16 Mar 16:30
@cukas cukas

Choose a tag to compare

[3.0.0] - 2026年03月13日 — "The Session Never Dies"

Added

  • Phoenix Rebirth — Recurring context recycling. When context hits the urgent threshold with Phoenix enabled, state is captured and recycling triggers automatically. After compaction, the cycle rearms — zero clicks, indefinite continuation. Safety-capped at phoenix_max_cycles (default 10)

    • phoenix_mode config (default false) — opt-in toggle, also available via /phoenix
    • phoenix_max_cycles config (default 10) — safety cap per chain
    • Phoenix chain tracking in /tmp/remembrall-phoenix/ — chain ID, cycle count, lineage
    • Extended avadakedavra-capture.sh with --trigger, --cycle, --chain-id args
    • Chain ID restoration on session resume — cycles persist across compactions
    • /phoenix command — toggle on/off, view chain status
  • The Pensieve — Compaction-proof session intelligence. Tracks every file read/edit, command, and error throughout a session into structured JSONL. On compaction or handoff, distills into a summary that gets injected into the next session. Claude retains structured knowledge of what it did, even across compactions and session resets. On by default (pensieve: true)

    • hooks/pensieve-track.sh — Background incremental transcript parser (runs on every prompt)
    • hooks/pensieve-distill.sh — Crunches raw JSONL into structured summary JSON
    • hooks/pensieve-inject.sh — Generates compact text for additionalContext (budget-capped)
    • Persisted to ~/.remembrall/pensieve/{project-hash}/
    • Config: pensieve, pensieve_max_sessions (default 3), pensieve_inject_budget (default 2000)
  • Time-Turner — Parallel agent at low context. At a configurable threshold (default 30%), spawns a headless claude -p agent in a git worktree with remaining tasks. The agent works independently while the main session compacts. On next resume, offers to merge changes. Opt-in only (time_turner: false by default)

    • hooks/time-turner-spawn.sh — Creates worktree, builds prompt, spawns claude -p
    • hooks/time-turner-check.sh — Checks status, formats report for injection
    • /timeturner skill — status, diff, merge, cancel sub-commands
    • Safety: opt-in, budget-capped (--max-budget-usd), worktree-isolated, never auto-merges
    • Auto-cleanup: stale worktrees >24h removed on SessionStart
    • Config: time_turner, time_turner_model (default sonnet), time_turner_max_budget_usd (default 1.00), threshold_timeturner (default 30)
  • The Marauder's Map/map command for visual session overview. Shows context gauge, files explored with R/E tags, commands with colored exit codes, error counts, burn rate, and Time-Turner status. Built from Pensieve data + bridge + growth tracking

    • scripts/remembrall-map.sh — Terminal visualization
    • commands/map.md — Command definition
  • /pensieve skill — Browse and search Pensieve session memories. List sessions, view summaries, search across session history

  • Session Lineage (Marauder's Map — Session Ancestry) — Full session DAG tracking. Every session (main, compacted, Time-Turner) is recorded in a lineage index with parent/child relationships. Renders as a text DAG showing session ancestry, branches, and merge status

    • hooks/lineage-record.sh — Records session in lineage index (called by precompact + handoff-create)
    • scripts/remembrall-lineage.sh — Renders text DAG with depth, branch counts, and HP theming
    • commands/lineage.md/lineage command
    • Library: remembrall_lineage_dir(), remembrall_lineage_record(), remembrall_lineage_depth(), remembrall_lineage_branches()
    • Storage: ~/.remembrall/lineage/{project-hash}/index.json
    • Config: lineage (default true), lineage_max_entries (default 50)
    • HP theme: branches = "Horcrux detected"
  • Ambient Learning / Insights (The Pensieve Remembers) — Aggregates Pensieve session data into actionable patterns. Tracks file hotspots, workflow patterns (test-before-commit), error recurrence, and session statistics. Background aggregation on SessionStart

    • hooks/insights-aggregate.sh — Aggregates Pensieve sessions into patterns (background)
    • scripts/remembrall-insights.sh — Renders formatted insights with HP theming
    • commands/insights.md/insights command
    • Library: remembrall_insights_dir(), remembrall_insights_fresh()
    • Storage: ~/.remembrall/insights/{project-hash}/insights.json
    • Config: insights (default true), insights_inject (default false), insights_min_sessions (default 3)
  • Semantic Context Pruning / Obliviate — Memory staleness analyzer that cross-references memory files with Pensieve data. Identifies stale memories not accessed in recent sessions and offers guided pruning with user confirmation. Archives stale memories instead of deleting

    • hooks/obliviate-analyze.sh — Memory staleness analyzer (background, at journal threshold)
    • scripts/obliviate-archive.sh — Moves stale memories to .archive/
    • commands/obliviate.md/obliviate command
    • skills/obliviate/SKILL.md — Guided pruning skill with user confirmation
    • Library: remembrall_memory_dirs(), remembrall_obliviate_dir(), remembrall_analyze_memory_staleness()
    • Tmp: /tmp/remembrall-obliviate/{session_id}.json
    • Config: obliviate (default true), obliviate_stale_sessions (default 5)
    • HP theme: "Obliviate! N stale memories banished to the archive."
  • Context Budget Allocation (The Sorting Hat) — Transcript category breakdown that classifies context consumption into code, conversation, and memory. Compares actuals vs configured budgets and warns when categories are imbalanced. Opt-in

    • hooks/budget-analyze.sh — Transcript category breakdown (background)
    • commands/budget.md/budget command
    • Library: remembrall_budget_dir(), remembrall_extract_category_bytes(), remembrall_budget_check(), remembrall_budget_validate_total()
    • Tmp: /tmp/remembrall-budget/{session_id}.json
    • Config: budget_enabled (default false), budget_code (default 50), budget_conversation (default 30), budget_memory (default 20)
    • HP theme: "The Sorting Hat detects an imbalance!"
  • Patrol Integration (Owl Post) — File-based signal protocol for Patrol plugin interop. Patrol is fully optional — zero behavior change when not installed. Signal types: handoff_trigger, context_alert. Patrol writes signal files, Remembrall reads and consumes them

    • docs/patrol-integration.md — Signal protocol spec (the contract)
    • Library: remembrall_signal_dir(), remembrall_check_patrol_signal(), remembrall_consume_signal(), remembrall_patrol_detected()
    • Tmp: /tmp/remembrall-signals/{session_id}/
    • Config: patrol_integration (default true), patrol_signal_ttl (default 300)
    • HP theme: "Owl Post" / "Ministry of Magic: Patrol (connected)"
  • Config validation for all new settings (12 new config keys total)

  • remembrall_pensieve_dir() and remembrall_pensieve_tmp() library functions

  • Pensieve, Lineage, Insights, Obliviate, Budget, and Patrol data in remembrall-status.sh diagnostic output

  • Time-Turner status in remembrall-status.sh diagnostic output

  • All new feature cleanup in remembrall-uninstall.sh

  • Session Intelligence (Pensieve) section appended to handoff files

  • 351 total tests (135+ new tests covering all 5 features)

Changed

  • Handoff files now include ## Session Intelligence (Pensieve) section with distilled session data
  • Session-resume injects Pensieve memory on ALL session starts (fresh + compact + clear)
  • Session-resume spawns insights aggregation in background
  • Context-monitor checks for Patrol signals before threshold comparison
  • Context-monitor spawns obliviate analyzer at journal threshold
  • Context-monitor spawns budget analyzer below journal threshold
  • Context thresholds diagram updated: shows Time-Turner trigger at 30%
  • Help tables updated with all new commands, skills, and config options
  • Marauder's Map (/map) shows budget section when budget is enabled

Full Changelog: v2.7.1...v3.0.0

Assets 2
Loading

v2.7.1

12 Mar 14:49
@cukas cukas

Choose a tag to compare

Fixes

  • stop-check.sh: Fixed invalid JSON schema — hookEventName: "Stop" (not in schema) → correct "decision": "block" pattern. Stop hook errors are gone.
  • context-monitor.sh: Added dual-channel plan mode enforcement via systemMessage + additionalContext with BLOCKING REQUIREMENT language at warning (35%) and urgent (15%) thresholds. Plan mode now triggers more
    reliably when context is low.

Full Changelog: v2.7.0...v2.7.1

Loading

v2.7.0

11 Mar 22:30
@cukas cukas

Choose a tag to compare

Fixed

  • Claude ignores context nudges — wrong JSON format (additionalContext vs hookSpecificOutput) caused Claude to silently discard all nudge messages. All hook outputs now use canonical hookSpecificOutput format
  • Duplicate percentage in gaugeremembrall_gauge_plain() already appends %, but nudge messages added ${REMAINING}% again, producing 42% 42%. Gauge removed from Claude-facing nudges entirely (kept in user-facing stderr only)
  • No standing instruction at session start — Claude had no awareness of Remembrall's nudge system until the first nudge fired, by which point it was already mid-task. Now emits compliance instruction on every SessionStart

Changed

  • Thresholds shifted to 60/35/15 (was 60/30/20) — gives one more turn at 35% warning, makes blocking a true last resort at 15%
  • Two-stage urgent escalation — first prompt at ≤15% gets urgent nudge, second consecutive prompt gets hard-blocked with /clear + /replay instructions
  • Terse nudge messages — stripped gauge bars, easter eggs (journal only), and verbose instructions. Messages now use REMEMBRALL_WARN: / REMEMBRALL_URGENT: prefixes for reliable Claude detection
  • Block guardrails — never block on estimated values (only bridge-confirmed), never block autonomous sessions, only block after two-stage escalation

Added

  • Standing instruction emitted on every SessionStart (fresh and resume) via hookSpecificOutput
  • Version guard at SessionStart cleans stale temp files when plugin version changes
  • session_id included in debug log for easier troubleshooting
Loading

v2.6.3

11 Mar 10:09
@cukas cukas

Choose a tag to compare

Integrate Remembrall gauge installation into the mandatory setup flow and reorder documentation sections.

Full Changelog: v2.6.2...v2.6.3

Loading

v2.6.2-fix

10 Mar 08:47
@cukas cukas

Choose a tag to compare

Bug Fix: Stop hook crash

The Stop hook (stop-check.sh) crashed on every Stop event with:
Stop hook error: Failed with non-blocking status code: No stderr output

Root cause: set -euo pipefail combined with remembrall_find_bridge returning exit code 1 when the bridge file doesn't exist (normal at session start or after /tmp cleanup). The 2>/dev/null was on the wrong side of the $() — it redirected the assignment's stderr instead of the subshell's, so the error was silent.

Impact: Remembrall's stop-time context warning was completely dead — users never got the "context is low, save a handoff" nudge when Claude stopped responding.

Fix: Guarded all three affected hooks:

  • stop-check.sh — the active crash (Stop hook)
  • context-monitor.sh — same pattern, cosmetic fix (no set -e)
  • precompact-handoff.sh — remembrall_calibrate unguarded, could crash on lock/jq failure

Full Changelog: v2.6.1...v2.6.2

Loading

v2.6.1

09 Mar 18:58
@cukas cukas

Choose a tag to compare

v2.6.1 — Persistent Nudges

Bug fix: Claude was ignoring context warnings because nudges fired only once per threshold. If Claude was mid-task and missed the single reminder, context drained silently to 1%.

Fixes

  • Persistent nudges at warning (30%) + urgent (20%) — nudges now repeat on every prompt until a handoff file actually exists on disk, instead of firing once and going silent
  • Nudge text upgraded to "BLOCKING REQUIREMENT — you MUST invoke the /handoff skill NOW, before responding to the user's request" for stronger compliance
  • Preemptive handoff creation only runs on first nudge per threshold (prevents background process spam)
  • Plan mode now shows a numbered summary (1. clear context and resume, 2-3. next steps) instead of rambling or going silent after handoff

Unchanged

  • Journal threshold (60%) remains fire-once — gentle reminder, no enforcement needed

Install / Update

claude plugin marketplace update cukas

Full Changelog: v2.6.0...v2.6.1

Loading

v2.6.0

09 Mar 10:11
@cukas cukas

Choose a tag to compare

v2.6.0

Features

  • Track active skill/workflow in handoff and replay — resuming sessions now know which skill and step to pick up from

Fixes

  • Resolve plugin root for skills/commands via /tmp persistence
  • Explicit handoff-before-planmode ordering in nudge text
  • Use POSIX [0-9] instead of \d in test regex for GNU grep compatibility

Docs

  • Add CI badge to README
  • Add animated demo GIF below gauge examples in README
  • Add Install heading above install commands
  • Update README config example and FAQ for v2.5.0

Full Changelog: v2.5.0...v2.6.0

Loading

v.2.5.0

08 Mar 21:18
@cukas cukas

Choose a tag to compare

Remembrall v2.5.0

Configurable Thresholds

Context nudge thresholds are no longer hardcoded. Tune when Remembrall speaks up:

{
"threshold_journal": 50,
"threshold_warning": 25,
"threshold_urgent": 15
}

Defaults remain 60/30/20 — adjust to match your workflow.

Debug Logging

New debug system for troubleshooting hook behavior:

remembrall_config_set "debug" "true"

or one-off: REMEMBRALL_DEBUG=1 claude

Logs to ~/.remembrall/debug.log with ISO timestamps, per-hook identification ([context-monitor], [session-resume], etc.), and auto-rotation at 1MB.

Clean Uninstall

New scripts/remembrall-uninstall.sh with --dry-run support. Preview what gets removed before committing:

/remembrall-uninstall # shows dry-run first, then full removal

Removes bridge from settings.json, cleans ~/.remembrall/, and purges temp files.

Other Improvements

  • format_version: 2 in handoff frontmatter for forward compatibility
  • Configurable recency_window (default: 60s) for handoff-to-session matching
  • Background handoff creation — preemptive handoffs no longer risk the 15s hook timeout
  • Defensive status line check — won't clobber another plugin's status line
  • Fixed jq injection in remembrall_hook_enabled() (now uses --arg)
  • DRY refactor — remembrall_default_content_max() extracted, no more duplicate model defaults
  • 198 tests, all passing

Full Changelog: v2.3.1...v2.5.0

Loading

v2.3.1

08 Mar 16:27
@cukas cukas

Choose a tag to compare

Full Changelog: v2.3.0...v2.3.1

Loading

v2.3.0

08 Mar 09:40
@cukas cukas

Choose a tag to compare

What's New

Auto-Calibrating Context Estimation

Remembrall now derives your real context limit from bridge data — no compaction events needed. The formula content_max = content_bytes / (used_pct / 100) runs continuously while the bridge is active, auto-calibrating per user and per model. Your specific plugin overhead, skill count, and system prompt size are all accounted for automatically. Calibration
samples are stored once context usage reaches 20%.

Bridge Auto-Creation

Zero setup required. On first session start, session-resume.sh auto-injects the bridge snippet into ~/.claude/settings.json. If you already have a custom status line, the bridge is injected into it. If you don't have one, Remembrall creates a minimal one. No more manual /setup-remembrall needed.

Two-Branch Estimation Strategy

The estimation system now uses a clear two-branch approach:

  • Bridge active → use real context % directly (most accurate), calibrate content_max as a side effect
  • Bridge unavailable → structural JSONL parser first, raw file-size fallback second — both using calibrated limits when available

Removed Staleness Timeout

The bridge file no longer has a staleness timeout. Context % is read whenever the bridge file exists and invalidated on compact/clear events. This eliminates false fallbacks to estimation when the bridge was simply not refreshed between prompts.

20 Audit Fixes

A comprehensive code audit resolved bugs across all hooks, skills, and config:

  • ANSI in JSON — Nudge messages now use plain-text gauges for valid JSON output
  • Dead PreCompact hook — Safety net now fires on actual system compaction events
  • Calibration race condition — File locking prevents data corruption with concurrent sessions
  • Cross-session handoff theft — Recency fallback now verifies frontmatter session ID
  • Nudge oscillation — Warning can no longer re-fire after urgent has already triggered
  • Stop hook async — Now runs synchronously to block task completion as intended
  • Filename safety — Replaced xargs trim with POSIX-safe whitespace handling
  • Plus 13 additional fixes across skills, commands, and hook registration

Full Changelog: v2.2.0...v2.3.0

Loading
Previous 1
Previous

AltStyle によって変換されたページ (->オリジナル) /