PocketBase treats `max: 0` on a text field as "use the default 5000-char cap", not unlimited. A Redpath reply with a 5029-char body 400'd on every 2-minute poll for hours on 2026-09-08, wedging every RFQ behind it because the failed email stayed UNSEEN. Added clampEmailBody (with a truncation marker) and routed email_body writes through it so oversized replies still become quotes instead of blocking the queue. The untruncated body remains in the mailbox, and attachments carry the detail. Raise this cap in lockstep with any PB admin change to the field's max. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3.2 KiB
3.2 KiB
| plan_id | created | created_by | target_session | status | branch | related_issue |
|---|---|---|---|---|---|---|
| <short-kebab-slug> | <YYYY-MM-DD> | <planner identity — "Claude (cloud)" | "Claude (minimax)" | operator name> | claude | minimax | any | draft | ready | in_progress | complete | blocked | abandoned | <git branch name, if any> | <URL or id, optional> |
<Plan title — short, action-oriented>
Copy this file to
.claude/plans/<slug>.mdand fill in. Use thesuperpowers:writing-plansskill if available.
Goal
<One sentence. What does "done" look like from the operator's perspective?>
Background (from planner's conversation)
This is the most important section for the implementer. The chat history doesn't transfer between sessions, so anything the planner and the operator discussed but didn't write down goes here.
Cover, in free form:
- Why this work — the operator's stated intent, the user story, the bug report
- Decisions made in chat — "we agreed to use X over Y because…", "the operator vetoed Z"
- Dead ends — "we tried
<approach>but it failed because…" - Constraints — backwards compat, must-not-break, deadlines, who's affected
- Links — relevant commits, prior plans in this folder, external docs, Slack threads
Context (links the implementer needs)
- AGENTS.md rules that apply: <bulleted list, e.g. "PB select fields are not self-service", "file URLs go through
/api/v1/files/"> - PB schema fields touched: <relation ids, new select values needed, new collections>
- MCP tools involved: <e.g.
mcp__wfdash-mcp__quote_items_create,mcp__wfdash-mcp__orders_update> - Prior art in repo: <
file:linerefs to similar code to copy from> - External references:
Scope
In scope:
Out of scope:
- (explicitly call these out so the implementer doesn't drift)
Files to touch
src/path/to/file.ts— create | modify | delete — <one-line: what changes>src/path/to/another.tsx— modify —
Steps
<Numbered. Each step: action verb + target + a way to verify it landed.>
- - verify:
- - verify:
- - verify:
Verification
pnpm test— full suite green (or specific test file:pnpm test src/lib/foo.test.ts)- Manual:
<http://localhost:4001/path>renders - Acceptance:
Risks / open questions
- <Assumptions that might be wrong — call them out so they get validated>
Status (filled by implementer)
- Plan read end-to-end + AGENTS.md / CLAUDE.md loaded
- Branch / working tree confirmed
- Steps 1..N complete with their verify checks passing
pnpm testgreen- Manual verification at
http://localhost:4001/...done - Status frontmatter flipped to
complete
Report
<Free text. Blockers, surprises, things the planner should know. Link to commits / PRs.>
Commits / PRs
<sha>—<message>