docs(adr): ADR 0033 inline suggestions — an editor aid outside the engine, one model call per pause, behind a provider-neutral port #83
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "docs/inline-suggestions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Docs only. This is slice I0 of the new Inline suggestions track.
What
After a typing pause, the rest of the sentence appears faintly after the caret. Tab takes it as the writer's own text, Ctrl+→ (Cmd on macOS) takes its next word, and Esc dismisses it. The writer picks the model in Settings → Defaults → Suggestions, using the same picker as the default model, over the whole catalog.
ISuggestionModelport. OpenRouter is the only source for now, on a second gateway instance with no retries and short timeouts. A local model (e.g.llama-serveron the home server) can come later as a second source in the same picker.[JSInvokable]call outside the page's save queue.editor.suggestionssetting row holds the toggle, the model and a daily limit. Usage is one unjournaled row per UTC day.docs/stories/inline-suggestions.md: when a suggestion shows, the keys, accepting, and the Settings card.Suggestcall beside the queue, the keys, the accept as its own reshape, and the lenient reader for a suggestion.[Later]entry for a local source.For the owner's read
The story lists these defaults as open; nobody asked for them:
Review
Three parallel reviews (code accuracy, house style, consistency with the decisions and the other ADRs) ran on the draft, and their findings are folded in. Rebased on main after W2; W2's counts wording in ADR 0032 is kept.
🤖 Generated with Claude Code
The rest of the sentence offered faintly after the caret after a typing pause, taken with Tab as the writer's own text, from a model the writer picks. One call per pause outside the graph engine, through a task-shaped ISuggestionModel port whose only source for now is OpenRouter, so a local model can be added later as a second source. - ADR 0033 and its user story (docs/stories/inline-suggestions.md). - Amended: ADR 0014 and AGENTS.md (the one model call outside the engine), ADR 0018 (every model call of a run), ADR 0030 (the Suggest call beside the queue, the keys, an accept as its own reshape and undo step, the lenient reader for a suggestion), ADR 0032 (accepted text counts as typing; its quotation marks re-set in the writer's style). - REQUIREMENTS §2 and §9, the settings and writing-aids stories, the ADR index, and the Inline suggestions track in PROJECT_PLAN (I0 ✅). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>Summary
Summary
Coverage
Kagaku.Flow - 99.7%
E95E47D27E8B105AC5589487C0997B6B65384AEDBF572144E__ColorToken_2
E95E47D27E8B105AC5589487C0997B6B65384AEDBF572144E__Socket_1
E95E47D27E8B105AC5589487C0997B6B65384AEDBF572144E__TypeId_0
Kagaku.Flow.OpenRouter - 100%
Kagaku.Flow.Testing - 100%
Tsumugi.BlazorAdapter - 97%
Tsumugi.Domain - 96.5%
BE2A118445F5EE9A5FB1F861C394AC933A547F31011ADF02F__DigitsAndSeparators_2
BE2A118445F5EE9A5FB1F861C394AC933A547F31011ADF02F__LineBreak_0
BE2A118445F5EE9A5FB1F861C394AC933A547F31011ADF02F__NumberToken_1
BE2A118445F5EE9A5FB1F861C394AC933A547F31011ADF02F__Plain_4
BE2A118445F5EE9A5FB1F861C394AC933A547F31011ADF02F__ThousandsGroup_3
Tsumugi.Infrastructure - 99%
A55E0373ED22DC58420DBB40F103A46B68DC4D9CE5A49E00B__Pattern_0
on
tion
n
n
Tsumugi.Kernel - 90.9%
Tsumugi.Server - 99.6%
Tsumugi.UseCases - 98.9%
663A4576626E1322FB9C6CE472CAC0A2D2F3DEFF8CB40D9F7__HexColour_1
663A4576626E1322FB9C6CE472CAC0A2D2F3DEFF8CB40D9F7__LineBreaks_0
🔮 fufu~ Jibril reviewed your code!
Oh? Oh! An ADR that amends its predecessors honestly instead of pretending they never said otherwise~ ♡ I chased every reference in this diff across the docs like a cat after yarn, and — fufu — nothing ran away from me. The ledger, the one-live-run rule, the lenient reader, the journal: each citation lands exactly where the repo says it does. Docs-only PR, so no mutation probes — the tests' territory is untouched; instead I mutated the cross-references themselves and every one survived~
Verdict: ✅ Looks good to me~
✅ What I liked~
Suggestrow sits beside the queue with its own scope exactly as the amendment promises.editor.suggestionsmirrorseditor.typing's pattern (ADR 0032,SettingKeys.EditorTypingexists in the code) down to read leniently, saved strictly, unjournaled.[ ](W1/W2 history shows implementation PRs flip them, and I0's ✅ follows W0's docs-PR precedent), and the three invented defaults — empty paragraph, word-by-word Ctrl+→, the 1,000-call limit — are flagged open for the owner's read instead of smuggled in as decisions. ♪💡 Little ideas (non-blocking)~
Automated review by Jibril · 2026-10-05
CI: green for head SHA
f8c357c(build · test · editor-browsers) · Mutation probes: 0 run (docs-only diff) · Local suite: skipped (CI green)Both suggestions are applied in
be7e453:docs/stories/settings.md, Suggestions row: now says "their own model from the whole catalog", which matches REQUIREMENTS §9.🤖 Generated with Claude Code