docs(adr): define revision-bound host-owned writing diagnostics - #248
docs(adr): define revision-bound host-owned writing diagnostics#248seonghobae wants to merge 19 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
|
Exact-current-head read-only review request for Direct exact-head gates are complete: CI @coderabbitai review Review only. Do not mutate branches, dispatch repair writers, reuse predecessor/stale/synthetic evidence, or synthesize author approval. Bind any verdict and actionable finding to this exact unchanged head. |
Rate Limit Exceeded
|
There was a problem hiding this comment.
Review (head b79d549)
The revision-bound, host-owned writing-diagnostics contract is the right authority split: Inkspan validates untrusted proposals; the host owns model policy and transport. Keep this Draft while #118 owns v0.6.0.
Blocking
ADR 0027 collides with earlier open #141 (bounded DOCX page layout). This stack also occupies 0028. Later #320 and #360 reused 0027 again.
Next action: yield 0027 to #141, refetch the open ADR queue, and give this pair unique sequential numbers. Propagate the same identifiers through #249/#285. Do not merge any diagnostics slice until the numbers are unique.
Sent by Cursor Automation: Fix Issues


ADR decision summary
Inkspan will provide a generic, provider-neutral writing-diagnostic presentation and application contract. Host applications own every semantic judgment and model call; Inkspan owns revision/selector validation, decorations, accessible navigation, explicit Apply/Ignore/Dismiss/Explain actions, stale-result rejection, and ordinary editor transactions.
Semantic keyword matching is prohibited. Inkspan may use deterministic code for schema, resource, Unicode, grapheme, revision, selector, overlap, and safety validation, but it must not infer grammar, tone, pragmatics, clarity, spelling, or technical quality from keywords, regexes, phrase lists, sender domains, language names, recipient counts, nearest-text search, word positions, or opaque category strings. When the host model path is unavailable, Inkspan shows no fabricated fallback judgment.
Current authority and contradiction repair
The previous head used ADR 0027/0028, colliding with earlier open PR #141, which is the earliest open ADR 0027 claimant. Exact-head review on predecessor
b79d54969c295fbfd4d957c6172af2c7d4c1b132requested that this lane yield 0027 and give the pair unique sequential identifiers.Current exact head
9c26b0fae9cf7363fadd16c72efc6b0278e667dbresolves that repository-owned contradiction without weakening the ADR quality gate:docs/adr/0028-host-owned-llm-writing-diagnostics.md;docs/adr/0029-writing-diagnostics-v1-strict-invalidation.md;This keeps PR #141 as ADR 0027 authority and leaves the next unclaimed sequential identifier available to later lanes. The current source mutation is documentation/contract authority repair; it does not introduce runtime diagnostic behavior.
Corrected v1 architecture
ADR 0029 resolves two lower-level contradictions in the original design direction:
docChangedtransaction invalidates the complete diagnostic generation; no mapping/remapping/nearest-text/quote/keyword repair preserves a diagnostic; andcategoryCodeor other host text. Decorations contain static Inkspan classes, priority styling, and opaque IDs; the named panel carries the semantic information as plain text/native controls.The implementation plan and machine-readable documentation contract now reference ADR 0028/0029 consistently. Task 10 still requires temporary errata to be folded into the complete canonical document graph before the feature stack can become Ready.
First-release boundaries
writing-diagnosticspackage subpath;Cross-repository boundary
The first planned host is
ContextualWisdomLab/naruon; Naruon owns email/thread/recipient context and contextual-orchestrator calls.ContextualWisdomLab/fast-mlsirmmay support criterion-level judge calibration and validation. None of those product semantics or dependencies enter Inkspan's deterministic runtime package.A host may integrate only an immutable released Inkspan artifact whose version, tarball integrity, source commit, package manifest, browser evidence, and rollback contract are recorded. Mutable branches, source archives, copied forks, and local paths are not production dependencies.
Scope and current truth
This remains a design-and-implementation-plan Draft PR. It introduces no runtime API or shipped behavior, changes no package version, and makes no model-accuracy or language-coverage claim.
9c26b0fae9cf7363fadd16c72efc6b0278e667db;main@e8109ec2a17de8bd6594487aa12c8c8a93cb2c03;CHANGES_REQUESTEDADR-numbering finding has been addressed in source, but the historical formal review remains non-approval until re-evaluated on this exact head;Issue #118 still owns the protected
v0.6.0release source and registry operational-acceptance boundary. Keep this PR Draft and unmerged while that freeze and current governance gates remain unresolved.Review focus