Skip to content

save-session logs no-work session starts (greetings/handoff) as memory entries — no SKIP for no-work #119

Description

@eesb99

Summary

The session summarizer logs no-work session starts (greetings / handoff acknowledgements) as if they were real memory entries, polluting the daily logs (today-*.md, recent.md). Observed on v0.8.2.

Examples of polluted entries

## 10:51 | main
Handoff loaded. Memory at `…` active. Recent work: …
What's next?
## 16:30 | main
I'm ready. I've loaded your environment context:
- Session starts here …
What's next?

Also seen: a multi-paragraph assistant reply captured verbatim under one header, and a literal unfilled ## HH:MM | main header.

Root cause

In prompts/save-session.prompt.txt, the only SKIP condition is "the conversation covers the SAME work as the previous entry." There is no SKIP for a session that contains no substantive work — so when a session is just a greeting / handoff-load / "what's next?", Haiku faithfully summarizes the greeting as the "work done".

Separately, scripts/save-session.sh (Step 5b) validates that the first line is a ## HH:MM | header but only logs a WARNING — it still appends a malformed entry (e.g. the literal ## HH:MM placeholder).

Suggested fix

  1. Add a SKIP-on-no-work rule to save-session.prompt.txt: if the extract is only session-boundary chatter (greeting, readiness/orientation message, handoff acknowledgement, "what's next?", or the human merely continuing with no action), return SKIP.
  2. (Optional, defense-in-depth) In save-session.sh Step 5b, drop non-conforming output instead of only warning — advance the saved position and exit without appending, mirroring the existing IS_SKIP path. A first-line regex check (^## ([0-9]{2}:[0-9]{2}|[0-9]{1,2}:[0-9]{2} (AM|PM)) \|) cleanly distinguishes valid entries from greeting prose / placeholder headers, with no false positives on real entries.

Happy to send a PR if useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions