Repository navigation
Plan F9: grammar check and style review in the post editor - #235
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BXWqJ6gLPQqzFRaLhjFFEX
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BXWqJ6gLPQqzFRaLhjFFEX
|
|
||
| Status: planned · Depends on: an Anthropic API key; WireMock test helper (task TM, shared with F7) · Branch: `feat/f9-proofread` | ||
|
|
||
| The post editor gets two buttons, **Check grammar** and **Style review**. Both send the post's subject and |
There was a problem hiding this comment.
Should we generalize "style review" to proof read?
There was a problem hiding this comment.
I'd keep the two names apart. "Proofread" normally means correcting surface errors, which is exactly the grammar check. The style review says nothing about commas: it's about logic gaps, repetition, pacing and the title, and it never edits the text. Calling it "proofread" would make it sound like a second grammar pass.
So the plan (c585edb, Terms) uses "proofreading" only as the internal name for the whole feature: packages, settings and routes. Users see Check grammar and Style review.
If "style" feels too narrow for what the review covers, a more general name would fit better than "proofread": Review, Writing review or Feedback. Let me know if you want one of those and I'll rename it in the plan and the sketch.
Generated by Claude Code
| | Route | Body / answer | | ||
| |---|---| | ||
| | `POST /controls/action/proofread_grammar` | `{post_id?, subject, body}` → `{issues: [...], remaining}` | | ||
| | `POST /controls/action/proofread_style` | `{post_id, subject, body, author_note}` → `{review, remaining}` | |
There was a problem hiding this comment.
Does it make sense to use :post_id for POST requests too?
There was a problem hiding this comment.
I'd keep ids in the JSON body for the POSTs. Every existing /controls/action route does that (delete_draft, create_share, dismiss_prompt, …), and jsonAction reads input only from the body. With the id in the path, these routes would be the only ones that read input from both places. The route table rows also stay parameter-free.
The one GET (/controls/proofread_style/:post_id) has no body, so its id goes in the path. The plan now says this above the route table (c585edb).
Generated by Claude Code
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BXWqJ6gLPQqzFRaLhjFFEX
Adds the wave file
docs/plan/f9.md. Nothing else changes: this PR is only the plan, for review.What F9 builds: two buttons in the post editor, Check grammar and Style review. Both send the post's subject and body to Claude through the pcom server, so the API key never reaches the browser. Results show in a panel beside the editor:
The design sketch is at https://claude.ai/artifact/San1jMpSDJT3dS5TfPjZG8.
What the plan file covers:
The task table runs TM and P0–P6, each with an owner and a "done when".
Open questions at the end of the plan: the default number of style reviews per hour (3 is a placeholder), and which default models to use once they've been tried on real Russian texts.
🤖 Generated with Claude Code
https://claude.ai/code/session_01BXWqJ6gLPQqzFRaLhjFFEX
Generated by Claude Code