Remove the test-mode unlimited personal-style corpus bypass and replace it with a real 1,250-character minimum gate. Production stays at 2,500. Training-corpus export and the diagnostics view now use a 5,000-character upper bound so the user's full private history never leaves the device in a single export.
- Add PolishStyleLearningCorpusBuilder.testBuildEffectiveCharacterCount (1,250) and trainingExtractionMaximumCharacterCount (5,000); trainingWindow(from:maximumCharacterCount:) accepts a custom cap.
- PolishStylesView: drop bypassesStyleLearningCharacterGate in favor of styleLearningMinimumCharacterCount, unify the ready/remaining text, remove the obsolete polishStyles.learn.testBuildReady key.
- PolishStyleCorpusExportStore: pass the 5,000 cap to trainingWindow and expose trainingExtractionMaximumCharacterCount in the export schema.
- FlowDiagnosticsSettingsView: show the export-sized (5,000-cap) corpus so the diagnostics match what the export ZIP actually contains.
- Tests: rewrite the export cap test for 5,000, add below-cap coverage, add trainingWindow(maximumCharacterCount:) unit coverage, and convert the old UI test into a regression test for the 1,250 test-build minimum.
- L10n: drop the testBuildReady string in en + zh-Hans, update diagnostics.corpus.ready to mention 5,000.
- CHANGELOG: bilingual entry under [Unreleased].
Removes assets and docs that are zero-references in the codebase and the
GitHub Pages site (scanned with ripgrep across *.swift / *.md / *.html).
Removed assets (no Swift / NSImage / UIImage / Image callers):
- 19 provider logo imagesets in OSGKeyboard/Assets.xcassets/:
anthropic, apple, ark, codingplanx, cometapi, custom, deepseek,
gemini, groq, mimo, minimax, mistral, moonshot, openai, openrouter,
qwen, siliconflow, xai, zhipu
- docs/assets/badges/appstore-{en,zh}.svg (README badges in use are
ios-{en,zh}.svg and macos-{en,zh}.svg)
Removed dead code:
- OSGKeyboardShared/Models/ProviderLogo.swift (no callers; only maps
provider ids to the now-deleted logo imagesets)
Removed placeholder screenshots:
- docs/screenshots/6.1/ and docs/screenshots/6.7/ (10 PNGs generated
by scripts/generate_screenshot_placeholders.py; never replaced with
real captures, no README/HTML/Swift references)
Removed zero-reference planning / audit md (no code, no README, no
CHANGELOG, no GitHub Pages HTML references):
- docs/ACCOUNT_MANAGED_GATEWAY_TESTING.md
- docs/APPSTORE_METADATA.md
- docs/STOREKIT_TESTING.md
- docs/TYPING_KEYBOARD_BASELINE.md
- docs/ios-pip-voice-session-plan.md
- docs/keyboard-accuracy-plan.md
- docs/keyboard-memory-budget.md
- docs/local-asr-architecture.md
- docs/mac-parity-audit-2026-08-23.md
- docs/personal-dictionary-icloud-kvs-checklist.md
- docs/screenshots/README.md (described the deleted placeholders)
Kept (still referenced):
- Brand marks: OSGBrandMark, OSGLogoWide, OSGStatusMark, osglogo
- docs/TESTING.md (referenced by README.md / README.en.md / CONTRIBUTING.md)
- docs/FLOW_BLUETOOTH_TESTING.md (referenced by docs/TESTING.md)
- docs/RELEASE_NOTES_1.8.0.md (referenced by CHANGELOG.md)
- docs/assets/{badges,whats-new,logo,app-icon,hero-devices} (GitHub Pages)
- AppStoreScreenshots/, marketing/ (App Store /策划素材, not in repo refs)
Updated .gitignore so the deleted md cannot be re-added locally and
pushed back by accident. Asset placeholders, dead code, and unused
badges are also covered by patterns under the same rationale.
No version bump: this is a pure cleanup (chore:) with no user-visible
behavior change.
- Add Generated/, CorpusRegistry, v6 boundary/blind evaluation
corpora, and sealed blessing benchmark review queues to the
generated-artifact ignore list so they stay out of the source
tree after reruns.
- Document the smart reply center, clipboard semantic v6 specialization,
personal style generation fix, and durable Apple account session
work in both English and Simplified Chinese.
- Update clipboard semantics README and open-training sources to
reflect the v6 boundary, blessing, and consensus-adjudication
corpora that the new release-gate pipeline consumes.
- Add reproducible v6 boundary, blessing, and consensus-adjudication
corpora, plus the tiny-transformer trainer and v6 release-gate
evaluator that gate every candidate on the deployed baselines.
- Wire consensus-label merging, product-policy anchor evaluation, and
sealed blessing benchmark review with their pytest coverage.
- Refresh open-training corpus generation, iterative retraining runner,
and random-holdout evaluation so v6 candidates can be benchmarked
end-to-end.
- Cover reply-variant decision paths, scene-detector abstention, and
the merged reply center stance catalog.
- Lock in clipboard semantic analyzer thresholds, complaint-only
suppression, and existing-skill routing.
- Add durable session, refresh, and managed-gateway reliability tests
for the Apple account path.
- Verify personal-style prompt derivation, low-confidence ASR
tendencies, and Polish style learning against real corpus evidence.
- Exercise the assistant keyboard and Polish styles UI flows in
end-to-end UI tests.
- Merge invitation, task, blessing, clarification, and empathy actions
into a single Reply flow, with three fixed, clearly labeled stance
choices whenever user intent must not be guessed.
- Refine clipboard semantic routing with bilingual schedule,
confirmation, and follow-up models, conservative language thresholds,
and explicit-assignment guard for complaint-only text.
- Persist Apple account refresh state, harden session recovery, and
surface durable account diagnostics across keyboard and app.
- Derive personal-style prompts through two-stage corpus evidence and
apply real low-confidence ASR tendencies instead of neutral templates.
- Localize the new reply center, clipboard semantics, and personal-style
surfaces in both English and Simplified Chinese.
Resolve the pinned XcodeGen archive layout and let the keyboard derive bounded clipboard recommendations from the full catalog independently of installation state.
Unify PiP recovery across startup and foreground transitions, surface actionable status, and add privacy-safe analytics plus the refreshed onboarding and account experience. Update documentation assets and advance the release build to 84.
Introduce optional Apple account-backed credits with scoped gateway access while preserving local and BYOK paths. Refresh assistant behavior, tests, privacy disclosures, docs, and the website for the 2.0 experience.
Merge dictation and AI controls into one assistant surface, preserve safe insertion and clipboard actions, and align settings and tests with the new flow.
Replace the unclear CLM source, align release and privacy disclosures, complete third-party notices, and keep the expanded test suites deterministic for release validation.
Keep English QuickType/mmap and Chinese schema hygiene on one branch.
Secure fields skip Rime; English still loads its lexicon only while English is active.
Erase dialect syllables before abbrev so wom prefers 我们, flush librime
on leave, and add a settings action to forget learned Chinese and English order.
Add save-to-Notes export and direct map handoff while aligning multi-touch typing, period shortcuts, return actions, and navigation visuals with system behavior.