docs/plans/2026-03-23-ai-deterministic-coverage-pass.md
Add a narrow, high-value non-React coverage pass for @platejs/ai focused on the deterministic lib seam:
withAIBatch.tsgetEditorPrompt.tsinsertAINodes.tsreplacePlaceholders.tsundoAI.tsremoveAINodes.tsremoveAIMarks.ts/react.withAIBatch and undoAI.ai coverage is almost empty outside getMarkdown.spec.tsx.replacePlaceholders.ts currently uses String.prototype.replace, so repeated-placeholder coverage is likely to expose a real one-occurrence bug.{prompt} and the same bug pattern applied to other placeholder tokens.