Skip to main content

/session-end - Complete Session Workflow

End-of-session workflow that:

  1. Exports conversation with a unique timestamped filename
  2. Appends session summary to today's session log
  3. Runs /compact to reduce context

Usage

# Basic - auto-generates summary from recent activity
/session-end

# With custom summary
/session-end "Completed commerce API fixes and pricing page improvements"

# Skip compact (for continuing work)
/session-end --no-compact

# Skip export (just log and compact)
/session-end --no-export

# Dry run - show what would happen
/session-end --dry-run

Options

OptionDescription
summaryOptional summary of session work (auto-generated if not provided)
--no-compactSkip the /compact step
--no-exportSkip the export step
--no-logSkip the session log append
--dry-runPreview actions without executing

Workflow Steps

Step 1: Export with Unique Filename

Exports conversation to a unique timestamped file:

context-storage/exports/SESSION-YYYY-MM-DDTHH-MM-SS-UUID.md

Example: SESSION-2025-12-31T23-45-30-abc12345.md

Step 2: Append Session Summary

Appends an entry to today's session log with:

  • Session UUID
  • Timestamp
  • Summary of work completed
  • Link to export file

Step 3: Compact

Runs /compact to reduce context size for next session.

System Prompt

EXECUTION DIRECTIVE: When the user invokes /session-end, you MUST:

  1. Check for uncompleted task claims (ADR-178):
import os, sys
sys.path.insert(0, 'submodules/core/coditect-core')
try:
from scripts.core.context_vacuum import ContextVacuum
vacuum = ContextVacuum()
uncompleted = vacuum.check_uncompleted_tasks(session_id=f"claude-{os.getpid()}")
if uncompleted:
print(f"⚠️ WARNING: {len(uncompleted)} unclaimed tasks still in progress:")
for t in uncompleted:
print(f" - {t['task_id']}: {t.get('description', 'No description')}")
print("Consider: /vacuum --adopt or /vacuum --defer before ending session")
except Exception:
pass # Vacuum is optional

If uncompleted tasks exist, warn the user but don't block session end.

  1. Generate unique export filename:

    context-storage/exports/SESSION-{ISO_TIMESTAMP}-{UUID_SHORT}.md

    Where ISO_TIMESTAMP = YYYY-MM-DDTHH-MM-SS and UUID_SHORT = first 8 chars of UUID

  2. Run /export to that file:

    /export context-storage/exports/SESSION-{filename}.md
  3. Append to session log:

    python3 scripts/session_log_manager.py append "Session End" \
    --fix "Session completed. Export: {filename}" \
    --deployed "See session log for details"
  4. Run /compact (unless --no-compact)

  5. Report completion:

    Session ended successfully:
    - Export: context-storage/exports/SESSION-{filename}.md
    - Log: docs/session-logs/SESSION-LOG-{date}.md
    - Context: Compacted

Generated Filenames

Filenames are guaranteed unique using:

  • ISO timestamp with seconds precision
  • UUID suffix for collision prevention

Pattern: SESSION-YYYY-MM-DDTHH-MM-SS-xxxxxxxx.md

Examples:

SESSION-2025-12-31T23-45-30-abc12345.md
SESSION-2026-01-01T00-15-00-def67890.md

Examples

End of Day

/session-end "Fixed all commerce API mismatches, improved pricing layout"

Output:

Session ended successfully:
- Export: context-storage/exports/SESSION-2025-12-31T23-45-30-abc12345.md
- Log: docs/session-logs/SESSION-LOG-2025-12-31.md
- Context: Compacted

Quick Checkpoint (No Compact)

/session-end --no-compact "Completed cart type alignment"

Preview Only

/session-end --dry-run

Output:

Would execute:
1. Export to: SESSION-2025-12-31T23-45-30-abc12345.md
2. Append to: SESSION-LOG-2025-12-31.md
3. Run /compact

Success Output

When session end completes:

✅ COMMAND COMPLETE: /session-end
Export: context-storage/exports/SESSION-YYYY-MM-DDTHH-MM-SS-UUID.md
Log: docs/session-logs/SESSION-LOG-YYYY-MM-DD.md
Context: Compacted
Summary: <session-summary>

Completion Checklist

Before marking complete:

  • Export file created with unique filename
  • Session log entry appended
  • Context compacted (unless --no-compact)
  • Summary captured

Failure Indicators

This command has FAILED if:

  • ❌ Export file not created
  • ❌ Session log not updated
  • ❌ Compact failed
  • ❌ Filename collision occurred

When NOT to Use

Do NOT use when:

  • Continuing work in same session
  • Just need export (use /export)
  • Just need compact (use /compact)

Anti-Patterns (Avoid)

Anti-PatternProblemSolution
Skip summaryLost contextAlways provide summary
Multiple session-endsDuplicate logsOne per session
Skip log entryNo audit trailAlways log sessions

Principles

This command embodies:

  • #3 Complete Execution - Full end-of-session workflow
  • #6 Clear, Understandable - Documented session state

Full Standard: CODITECT-STANDARD-AUTOMATION.md


Command Version: 1.0.0 Created: 2025-12-31T23:50:00Z Author: CODITECT Core Team