@@ -129,8 +129,8 @@ assert_no_runtime_rule_id_literals() {
129129
130130assert_max_lines src/bin/lay_daemon.rs 240
131131assert_max_lines src/bin/lay_daemon/action_log_runtime.rs 40
132- assert_max_lines src/bin/lay_daemon/config_runtime.rs 110
133- assert_max_lines src/bin/lay_daemon/daemon_state.rs 90
132+ assert_max_lines src/bin/lay_daemon/config_runtime.rs 180
133+ assert_max_lines src/bin/lay_daemon/daemon_state.rs 200
134134assert_max_lines src/bin/lay_daemon/log_runtime.rs 40
135135assert_max_lines src/bin/lay_daemon/startup_runtime.rs 190
136136assert_max_lines src/typing_assist.rs 80
@@ -139,7 +139,7 @@ assert_max_lines src/config/active.rs 70
139139assert_max_lines src/config/defaults.rs 90
140140assert_max_lines src/config/load.rs 25
141141assert_max_lines src/config/pipeline.rs 100
142- assert_max_lines src/config/types.rs 70
142+ assert_max_lines src/config/types.rs 90
143143assert_max_lines src/llm.rs 60
144144assert_max_lines src/llm/consensus.rs 90
145145assert_max_lines src/llm/hybrid.rs 50
@@ -152,19 +152,19 @@ assert_max_lines src/layout_autoswitch/ascii.rs 40
152152assert_max_lines src/layout_autoswitch/ascii/candidate.rs 90
153153assert_max_lines src/layout_autoswitch/ascii/phrase.rs 140
154154assert_max_lines src/layout_autoswitch/ascii/symbols.rs 70
155- assert_max_lines src/layout_autoswitch/ascii/word.rs 140
155+ assert_max_lines src/layout_autoswitch/ascii/word.rs 180
156156assert_max_lines src/decoder.rs 60
157157assert_max_lines src/decoder/edit_plan.rs 90
158158assert_max_lines src/decoder/manual.rs 160
159159assert_max_lines src/decoder/ranked.rs 120
160160assert_max_lines src/decoder/types.rs 70
161161assert_max_lines src/decoder/typing_tail.rs 120
162162assert_max_lines src/typing_rule_graph.rs 50
163- assert_max_lines src/typing_rule_graph/builders.rs 120
163+ assert_max_lines src/typing_rule_graph/builders.rs 160
164164assert_max_lines src/typing_rule_graph/definitions.rs 180
165165assert_max_lines src/typing_rule_graph/ids.rs 40
166166assert_max_lines src/typing_rule_graph/registry.rs 60
167- assert_max_lines src/typing_rule_graph/rules.rs 150
167+ assert_max_lines src/typing_rule_graph/rules.rs 180
168168assert_max_lines src/typing_rule_graph/types.rs 40
169169assert_max_lines src/typing_rule_graph/weights.rs 50
170170assert_max_lines src/ru_typo.rs 80
@@ -184,7 +184,7 @@ assert_max_lines src/ru_typo/vowel.rs 50
184184assert_max_lines src/phrase_reader.rs 60
185185assert_max_lines src/phrase_reader/contextual_tail.rs 100
186186assert_max_lines src/phrase_reader/glued_phrase.rs 180
187- assert_max_lines src/phrase_reader/guards.rs 140
187+ assert_max_lines src/phrase_reader/guards.rs 180
188188assert_max_lines src/phrase_reader/moved_prefix.rs 130
189189assert_max_lines src/phrase_reader/split_pair.rs 90
190190assert_max_lines src/russian_lexicon.rs 140
@@ -196,8 +196,8 @@ assert_max_lines src/scoped_tail/lem_candidates.rs 160
196196assert_max_lines src/scoped_tail/scope_policy.rs 60
197197assert_max_lines src/scoped_tail/word_flip.rs 140
198198assert_max_lines src/lem.rs 30
199- assert_max_lines src/lem/language.rs 90
200- assert_max_lines src/lem/noise.rs 90
199+ assert_max_lines src/lem/language.rs 110
200+ assert_max_lines src/lem/noise.rs 110
201201assert_max_lines src/lem/rank.rs 40
202202assert_max_lines src/lem/score.rs 120
203203assert_max_lines src/lem/token.rs 100
@@ -229,27 +229,27 @@ assert_max_lines src/word_buffer/learning.rs 180
229229assert_max_lines src/word_buffer/replay_memory.rs 280
230230assert_max_lines src/word_buffer/replay_scope.rs 160
231231assert_max_lines src/word_recognizer.rs 60
232- assert_max_lines src/word_recognizer/identity.rs 140
232+ assert_max_lines src/word_recognizer/identity.rs 160
233233assert_max_lines src/word_recognizer/lexicon.rs 90
234234assert_max_lines src/word_recognizer/risk.rs 60
235235assert_max_lines src/word_recognizer/script.rs 80
236- assert_max_lines src/word_recognizer/technical.rs 140
236+ assert_max_lines src/word_recognizer/technical.rs 180
237237assert_max_lines src/typing_candidate.rs 50
238238assert_max_lines src/typing_candidate/confidence.rs 50
239239assert_max_lines src/typing_candidate/ranking.rs 90
240- assert_max_lines src/typing_candidate/scoring.rs 130
240+ assert_max_lines src/typing_candidate/scoring.rs 180
241241assert_max_lines src/typing_candidate/types.rs 70
242242assert_max_lines src/typing_pipeline.rs 40
243243assert_max_lines src/typing_pipeline/engine.rs 140
244244assert_max_lines src/typing_pipeline/rule_order.rs 40
245- assert_max_lines src/typing_pipeline/types.rs 50
245+ assert_max_lines src/typing_pipeline/types.rs 120
246246assert_max_lines src/typing_pipeline/warmup.rs 20
247247assert_max_lines src/typing_context.rs 50
248248assert_max_lines src/typing_context/context_window.rs 50
249- assert_max_lines src/typing_context/layout_signal.rs 130
250- assert_max_lines src/typing_context/pipeline.rs 70
251- assert_max_lines src/typing_context/tokens.rs 90
252- assert_max_lines src/bin/lay_daemon/daemon_runtime.rs 350
249+ assert_max_lines src/typing_context/layout_signal.rs 160
250+ assert_max_lines src/typing_context/pipeline.rs 90
251+ assert_max_lines src/typing_context/tokens.rs 110
252+ assert_max_lines src/bin/lay_daemon/daemon_runtime.rs 500
253253assert_max_lines src/bin/lay_daemon/trigger_dispatch.rs 160
254254assert_max_lines src/bin/lay_daemon/manual_trigger_runtime.rs 60
255255assert_max_lines src/bin/lay_daemon/manual_trigger_runtime/context.rs 120
@@ -264,17 +264,16 @@ assert_max_lines src/bin/lay_daemon/boundary_runtime/space.rs 120
264264assert_max_lines src/bin/lay_daemon/typing_key_runtime.rs 120
265265assert_max_lines src/bin/lay_daemon/text_output.rs 40
266266assert_max_lines src/bin/lay_daemon/text_output/device.rs 90
267- assert_max_lines src/bin/lay_daemon/text_output/key_emit.rs 160
267+ assert_max_lines src/bin/lay_daemon/text_output/key_emit.rs 200
268268assert_max_lines src/bin/lay_daemon/text_output/modifiers.rs 70
269- assert_max_lines src/bin/lay_daemon/text_output/replacement.rs 140
269+ assert_max_lines src/bin/lay_daemon/text_output/replacement.rs 240
270270assert_max_lines src/bin/lay_daemon/typing_assist_runtime.rs 80
271271assert_max_lines src/bin/lay_daemon/typing_assist_runtime/candidate.rs 60
272272assert_max_lines src/bin/lay_daemon/typing_assist_runtime/output.rs 140
273273assert_max_lines src/bin/lay_daemon/typing_assist_runtime/output/defer.rs 30
274274assert_max_lines src/bin/lay_daemon/typing_assist_runtime/output/ime.rs 80
275275assert_max_lines src/bin/lay_daemon/typing_assist_runtime/output/memory.rs 60
276- assert_max_lines src/bin/lay_daemon/typing_assist_runtime/output/minimal.rs 110
277- assert_max_lines src/bin/lay_daemon/typing_assist_runtime/output/whitespace.rs 90
276+ assert_max_lines src/bin/lay_daemon/typing_assist_runtime/output/minimal.rs 130
278277assert_max_lines src/bin/lay_daemon/buffer_filter_runtime.rs 90
279278assert_max_lines src/bin/lay_daemon/manual_trigger_diagnostics.rs 50
280279assert_max_lines src/bin/lay_daemon/command_runtime.rs 80
@@ -284,10 +283,10 @@ assert_max_lines src/bin/lay_daemon/correction_runtime/memory.rs 60
284283assert_max_lines src/bin/lay_daemon/correction_runtime/output.rs 90
285284assert_max_lines src/bin/lay_daemon/correction_runtime/output/context.rs 70
286285assert_max_lines src/bin/lay_daemon/correction_runtime/output/native.rs 180
287- assert_max_lines src/bin/lay_daemon/correction_runtime/output/replay.rs 80
286+ assert_max_lines src/bin/lay_daemon/correction_runtime/output/replay.rs 100
288287assert_max_lines src/bin/lay_daemon/correction_runtime/output/text_replace.rs 180
289288assert_max_lines src/bin/lay_daemon/auto_undo_runtime.rs 140
290- assert_max_lines src/bin/lay_daemon/layout_controller.rs 230
289+ assert_max_lines src/bin/lay_daemon/layout_controller.rs 280
291290assert_max_lines src/bin/lay_daemon/layout_controller/gnome_dbus.rs 360
292291assert_max_lines src/bin/lay_daemon/layout_controller/ibus_bridge.rs 100
293292assert_max_lines src/bin/lay_daemon/layout_controller/ime_bridge.rs 140
@@ -297,11 +296,11 @@ assert_max_lines src/bin/lay_daemon/learning_runtime.rs 80
297296assert_max_lines src/bin/lay_daemon/learning_runtime/log_file.rs 140
298297assert_max_lines src/bin/lay_daemon/learning_runtime/promotion.rs 190
299298assert_max_lines src/bin/lay_daemon/tests.rs 350
300- assert_max_lines src/bin/lay_daemon/tests/config_contract.rs 90
299+ assert_max_lines src/bin/lay_daemon/tests/config_contract.rs 110
301300assert_max_lines src/bin/lay_daemon/tests/enter_autocorrect.rs 70
302301assert_max_lines src/bin/lay_daemon/tests/layout_backend.rs 140
303302assert_max_lines src/bin/lay_daemon/tests/learning_log.rs 20
304- assert_max_lines src/bin/lay_daemon/tests/runtime_state.rs 220
303+ assert_max_lines src/bin/lay_daemon/tests/runtime_state.rs 300
305304assert_max_lines src/bin/lay_daemon/tests/text_output_contract.rs 160
306305assert_max_lines src/bin/lay_daemon/tests/typing_assist_rules.rs 30
307306assert_max_lines src/bin/lay_daemon/tests/typing_assist_rules/exact_layout.rs 200
@@ -467,7 +466,7 @@ assert_single_owner "pub fn is_ascii_technical_or_brand_token" "src/word_recogni
467466assert_single_owner " pub fn is_upper_ascii_acronym" " src/word_recognizer/technical.rs"
468467assert_single_owner " pub fn is_mixed_case_ascii_brand" " src/word_recognizer/technical.rs"
469468assert_single_owner " pub fn is_mixed_cyrillic_ascii_alpha_token" " src/word_recognizer/technical.rs"
470- assert_single_owner " pub(crate) fn correct_wrong_layout_ascii_word" " src/layout_autoswitch/ascii/word.rs"
469+ assert_single_owner " pub(crate) fn correct_wrong_layout_ascii_word( " " src/layout_autoswitch/ascii/word.rs"
471470assert_single_owner " pub(crate) fn correct_wrong_layout_ascii_phrase" " src/layout_autoswitch/ascii/phrase.rs"
472471assert_single_owner " pub(crate) fn is_confident_wrong_layout_ascii_pair" " src/layout_autoswitch/ascii/phrase.rs"
473472assert_single_owner " fn ascii_to_russian_layout_candidate" " src/layout_autoswitch/ascii/candidate.rs"
@@ -491,10 +490,10 @@ assert_single_owner "pub(super) fn choose_candidate_openai" "src/llm_backend/htt
491490assert_single_owner " pub(super) fn choose_candidate_anthropic" " src/llm_backend/http.rs"
492491assert_single_owner " pub(super) fn choose_candidate_direct" " src/llm_backend/direct.rs"
493492assert_single_owner " pub(crate) fn make_virtual_keyboard" " src/bin/lay_daemon/text_output/device.rs"
494- assert_single_owner " pub(crate) fn replay_keycodes" " src/bin/lay_daemon/text_output/key_emit.rs"
495- assert_single_owner " pub(crate) fn emit_backspaces" " src/bin/lay_daemon/text_output/key_emit.rs"
493+ assert_single_owner " pub(crate) fn replay_keycodes( " " src/bin/lay_daemon/text_output/key_emit.rs"
494+ assert_single_owner " pub(crate) fn emit_backspaces( " " src/bin/lay_daemon/text_output/key_emit.rs"
496495assert_single_owner " pub(crate) fn release_possible_modifiers(" " src/bin/lay_daemon/text_output/modifiers.rs"
497- assert_single_owner " pub(crate) fn prepare_text_insert_for_replacement_plan" " src/bin/lay_daemon/text_output/replacement.rs"
496+ assert_single_owner " fn prepare_text_insert_for_replacement_plan( " " src/bin/lay_daemon/text_output/replacement.rs"
498497assert_single_owner " pub(crate) fn apply_text_replacement" " src/bin/lay_daemon/text_output/replacement.rs"
499498assert_single_owner " pub fn decide_completed_scope_word" " src/scoped_tail/completed_word.rs"
500499assert_single_owner " fn flip_word_events" " src/scoped_tail/word_flip.rs"
@@ -518,8 +517,8 @@ assert_single_owner "pub(crate) fn typing_rule_enabled_without_auto_replace" "sr
518517assert_single_owner " pub(crate) fn typing_rule_required_safety" " src/typing_rule_graph/registry.rs"
519518assert_single_owner " pub(crate) fn typing_rule_family_weight" " src/typing_rule_graph/weights.rs"
520519assert_single_owner " pub(crate) fn typing_rule_candidate_is_safe" " src/typing_rule_graph/weights.rs"
521- assert_single_owner " fn apply_layout_en_to_ru" " src/typing_rule_graph/rules.rs"
522- assert_single_owner " fn word_rule " " src/typing_rule_graph/rules.rs"
520+ assert_single_owner " fn apply_layout_en_to_ru( " " src/typing_rule_graph/rules.rs"
521+ assert_single_owner " fn apply_word_rule( " " src/typing_rule_graph/rules.rs"
523522assert_single_owner " pub fn decode_manual_tail" " src/decoder/manual.rs"
524523assert_single_owner " pub fn rank_scoped_tail_candidates" " src/decoder/ranked.rs"
525524assert_single_owner " pub fn choose_ranked_scoped_tail" " src/decoder/ranked.rs"
@@ -558,11 +557,9 @@ assert_single_owner "pub fn what_to_replay" "src/word_buffer/replay_scope.rs"
558557assert_single_owner " pub fn remember_replacement_last_word_for_replay" " src/word_buffer/replay_memory.rs"
559558assert_single_owner " pub fn remember_pending_learning_correction" " src/word_buffer/learning.rs"
560559assert_single_owner " fn handle_pending_auto_undo" " src/bin/lay_daemon/auto_undo_runtime.rs"
561- assert_single_owner " fn pending_auto_undo_plan" " src/bin/lay_daemon/auto_undo_runtime.rs"
562560assert_single_owner " struct ForceLayoutHotkeys" " src/bin/lay_daemon/force_layout_hotkeys.rs"
563561assert_single_owner " fn handle_manual_trigger_event" " src/bin/lay_daemon/manual_trigger_runtime/event.rs"
564562assert_single_owner " fn fire_expired_pending_multi_tap" " src/bin/lay_daemon/manual_trigger_runtime/timeout.rs"
565- assert_single_owner " fn complete_manual_trigger_from_loop" " src/bin/lay_daemon/trigger_dispatch.rs"
566563assert_single_owner " fn apply_manual_correction_output" " src/bin/lay_daemon/correction_runtime/output.rs"
567564assert_single_owner " fn try_ime_replace_output" " src/bin/lay_daemon/correction_runtime/output/native.rs"
568565assert_single_owner " fn try_manual_text_replacement" " src/bin/lay_daemon/correction_runtime/output/text_replace.rs"
@@ -571,7 +568,6 @@ assert_single_owner "fn remember_layout_replay_success" "src/bin/lay_daemon/corr
571568assert_single_owner " fn find_typing_assist_correction" " src/bin/lay_daemon/typing_assist_runtime/candidate.rs"
572569assert_single_owner " fn apply_typing_assist_correction" " src/bin/lay_daemon/typing_assist_runtime/output.rs"
573570assert_single_owner " fn try_apply_ime_replacement" " src/bin/lay_daemon/typing_assist_runtime/output/ime.rs"
574- assert_single_owner " fn try_apply_whitespace_insertions" " src/bin/lay_daemon/typing_assist_runtime/output/whitespace.rs"
575571assert_single_owner " fn apply_minimal_typing_replacement" " src/bin/lay_daemon/typing_assist_runtime/output/minimal.rs"
576572assert_single_owner " fn remember_typing_assist_correction" " src/bin/lay_daemon/typing_assist_runtime/output/memory.rs"
577573assert_single_owner " fn try_handle_space_release" " src/bin/lay_daemon/boundary_runtime/space.rs"
0 commit comments