Skip to content

feat(diagnostics): add collaborative writing-guidance parity - #281

Draft
seonghobae wants to merge 25 commits into
feat/writing-diagnostics-editor-actionsfrom
feat/writing-diagnostics-collaboration
Draft

feat(diagnostics): add collaborative writing-guidance parity#281
seonghobae wants to merge 25 commits into
feat/writing-diagnostics-editor-actionsfrom
feat/writing-diagnostics-collaboration

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Stack boundary

This Draft is stacked on the current #280 branch feat/writing-diagnostics-editor-actions@a76919bdbcaf3896724854f75dc60c95264dbeda. Current exact head is 48ed047556e2ce0dcf34aecb94f326dcaaa104f8.

It owns Task 7 collaborative parity for already-verified host writing diagnostics. The branch was advanced only through non-force merge ancestry while #280 changed; predecessor checks were treated as historical and the final exact head was fully revalidated.

Included behavior

  • the same host-supplied diagnostic props, accessible writing-guidance panel, and imperative Focus / Apply / Ignore / Dismiss / Explain methods as standalone CwlEditor;
  • exact current strong-revision verification before local Apply;
  • plain-text replacement through an ordinary collaborative ProseMirror/Yjs transaction;
  • immediate stale-all invalidation for local or remote docChanged transactions;
  • two-client convergence plus collaborative undo/redo;
  • no fabricated action event on a remote client that only receives the Yjs update;
  • read-only Apply prevention, stable editor identity, and latest-callback ownership;
  • rejection when a remote update arrives during initial diagnostic verification or while Apply revision digests are pending;
  • awareness privacy: diagnostic IDs, titles, explanations, replacements, revisions, provenance, and authored text are never written into awareness state; and
  • host lifecycle ownership: unmount does not destroy the host-supplied Y.Doc.

Inkspan still performs no semantic inference and calls no LLM, model provider, network reviewer, database, or persistence service. No keyword, regex, phrase-list, language-name, sender-domain, recipient-count, nearest-text, or positional fallback exists.

Restack and warning boundary

The prior exact-head proof on 07845a1e3b10d66572fcf442fab1b78bbaa34dd2 is historical only. This lane was repeatedly non-force restacked as #280 incorporated the live #266 UI branch, the current controller contract, and warning-free dismissal-focus assurance. Final head 48ed047556e2ce0dcf34aecb94f326dcaaa104f8 has current #280 head a76919bdbcaf3896724854f75dc60c95264dbeda in its ancestry.

The focused and complete-suite workflows retain fail-closed checks for React not wrapped in act output. No warning was suppressed, filtered from Vitest, or reclassified as success.

Exact-head proof

For unchanged exact head 48ed047556e2ce0dcf34aecb94f326dcaaa104f8:

  • Writing Diagnostics Collaboration TDD run 31661139082, job 94326034252: success.
  • Checkout resolved to the exact contributor head with persist-credentials: false.
  • pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 and actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 were immutable-pinned.
  • Focused collaborative diagnostics: 4 test files / 9 tests passed.
  • Focused output passed the fail-closed React-act-warning gate.
  • TypeScript typecheck: success.
  • Complete production suite: 169 test files / 976 tests passed.
  • Owned-production statements, branches, functions, and lines: 100% / 100% / 100% / 100%.
  • Complete-suite output passed the fail-closed React-act-warning gate.
  • All package entrypoint builds, isolated packed-package ESM/CommonJS/SSR/subpath/strict-TypeScript consumers, and the demonstration application build: success.
  • Formal submitted reviews: 0.
  • Valid unresolved inline review threads: 0.
  • CodeRabbit combined status: success/status-only, not treated as independent approval.

Any later source-head or base movement invalidates this proof.

Integration boundary

Keep Draft/unmerged while #280 remains the predecessor and release issue #118 freezes protected main as the exact 0.6.0 source candidate. This PR does not publish npm, create a tag or GitHub Release, bypass branch protection, or claim the package-surface lane is shipped. #282 owns the framework-independent writing-diagnostics subpath packaging slice.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 19127124-17ca-415b-b0a5-fce9869050e2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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