Skip to content

fix: shorten memo format and auto-chain reading digest#34

Merged
omarshahine merged 2 commits intomainfrom
fix/batch-memo-digest
Feb 19, 2026
Merged

fix: shorten memo format and auto-chain reading digest#34
omarshahine merged 2 commits intomainfrom
fix/batch-memo-digest

Conversation

@omarshahine
Copy link
Owner

Summary

  • Shortened memo format: Email provider memos have character limits (~255 chars). Switched from full markdown summaries to concise single-line TL;DR format ({tldr} | {type} | {readTime}) under 200 chars. Full summaries are still preserved in reading-digest-state.yaml.
  • Auto-chain digest generation: Made reading digest HTML generation mandatory after batch summarize processing. The batch-processor was skipping the digest generator launch, leaving users without the newspaper-style HTML digest.
  • Belt-and-suspenders: Added reinforcement in both batch-processor.md (agent instructions) and batch.md (command prompt) to ensure the step isn't skipped.

Test plan

  • Run /chief-of-staff:batch --process with summarize decisions and verify memos are under 200 chars
  • Verify reading digest HTML opens automatically in browser after summarize processing
  • Confirm full summaries are still written to reading-digest-state.yaml

🤖 Generated with Claude Code

…mmarize

Email provider memos have character limits — full markdown summaries were
getting truncated. Switched to concise single-line TL;DR format (<200 chars).

Also made reading digest generation mandatory after summarize processing.
The batch-processor was skipping the digest generator launch step, leaving
users without the expected newspaper-style HTML digest.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@claude
Copy link

claude bot commented Feb 19, 2026

Claude finished @omarshahine's task in 1m 40s —— View job


Code Review

  • Gather context and read changed files
  • Review batch-processor.md changes
  • Review batch.md changes
  • Review version bumps
  • Post final review

Overall this is a well-targeted fix with clean, focused changes. Good commit message and correct versioning. A couple of issues worth addressing before merge.

Issues

1. Provider-specific language leaks in batch-processor.md (line 176)

-4. Attach a SHORT memo on the email (Fastmail memos have a ~255 char limit):
+4. Attach a SHORT memo on the email (email provider memos have a ~255 char limit):

Per the project's provider-agnostic pattern, agent instructions shouldn't reference Fastmail by name. While this is a comment rather than a tool call, it still hardcodes provider assumptions. If a Gmail or Outlook user reads this agent's instructions, it's misleading. Fix this →

2. [sessionId] is a dead placeholder in the prompt (batch-processor.md line 213)

prompt: |
  Generate reading digest HTML from reading-digest-state.yaml.
  Session: [sessionId]
  Open the result in the browser when done.

[sessionId] is never interpolated — the literal string is passed to the sub-agent. Looking at reading-digest-generator.md, it doesn't use this session parameter at all (it reads the state file directly). This is dead context in the prompt. Either interpolate the actual session ID or remove the line. Fix this →

Observations

Memo length relies entirely on LLM compliance. The format {tldr} | {contentType} | {estimatedReadTime} means a verbose TL;DR (say, 160 chars) plus | update | 2 min would exceed 200 chars. There's no truncation safeguard. Given the target is <200 chars, you might add an explicit instruction to truncate the TL;DR at ~170 chars if needed, or note the max TL;DR length directly.

Open the result in the browser when done. is redundant. The reading-digest-generator already calls open /tmp/reading-digest.html via its Step 5 bash script. The extra instruction is harmless but unnecessary.

Belt-and-suspenders in batch.md is appropriate. Adding the CRITICAL note to the command layer (in addition to the agent layer) makes sense for LLM instruction files where repetition improves compliance. This is good defensive prompting.

model: sonnet additions are sensible. Explicitly pinning these complex processing sub-agent calls to sonnet avoids potential degradation if the default model changes.

Version Bump

Correct — patch bump (2.0.1 → 2.0.2) for bug fixes, with both plugin.json and marketplace.json updated in sync. ✓

- Use provider-agnostic language for memo char limit
- Remove dead [sessionId] placeholder from digest generator prompt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@omarshahine omarshahine merged commit 2700260 into main Feb 19, 2026
1 check passed
@omarshahine omarshahine deleted the fix/batch-memo-digest branch February 19, 2026 05:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant