Commit Graph

257 Commits

Author SHA1 Message Date
Rocky 3033ca5b33 fix(polish): gate test-build style generation at 1,250 chars and cap export at 5,000
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].
2026-08-30 12:09:06 +08:00
Rocky eac44daaf4 chore: drop unused provider logos, dead code, placeholder screenshots, and zero-reference planning docs
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.
2026-08-29 22:15:52 +08:00
Rocky 2392cc8ac7 chore(repo): ignore new generated v6 artifacts
- 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.
2026-08-29 11:51:45 +08:00
Rocky d23a3275a8 docs(ai): record AI and clipboard semantics updates
- 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.
2026-08-29 11:51:45 +08:00
Rocky aa37067f79 chore(semantics): add v6 release gate pipeline
- 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.
2026-08-29 11:51:42 +08:00
Rocky b275b6b0d9 test(ai): expand AI flow and clipboard semantic coverage
- 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.
2026-08-29 11:51:25 +08:00
Rocky 3c10d73d7f feat(ai): unify reply center and refresh keyboard AI features
- 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.
2026-08-29 11:51:21 +08:00
Cursor Agent f91a8f2456 test(semantics): strengthen consensus split auditing
Co-authored-by: Rocky <hkgood@users.noreply.github.com>
2026-08-27 10:52:58 +00:00
Cursor Agent 1ad8cb1edf chore(semantics): trim generated research artifacts
Co-authored-by: Rocky <hkgood@users.noreply.github.com>
2026-08-27 10:24:15 +00:00
Cursor Agent de9cd332a5 docs(semantics): record iterative retraining study
Co-authored-by: Rocky <hkgood@users.noreply.github.com>
2026-08-27 10:23:44 +00:00
Cursor Agent 00b90d9d28 chore(semantics): add iterative retraining research pipeline
Co-authored-by: Rocky <hkgood@users.noreply.github.com>
2026-08-27 10:23:41 +00:00
Rocky 42e6252f01 Cursor: Apply local changes for cloud agent 2026-08-27 18:01:46 +08:00
Rocky 39002336c0 feat(app): add flow diagnostics and refine interface
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled
Improve failure recovery visibility, strengthen account-session handling, and make the cross-platform interface more consistent.
2026-08-26 14:40:06 +08:00
Rocky 1ee032bdb9 fix(account): merge durable session refresh
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled
Preserve refresh idempotency and Apple credential revocation handling alongside the consolidated app updates.
2026-08-25 16:44:51 +08:00
Rocky 309d743fd3 fix(account): harden session refresh recovery
Persist refresh operation identity across failures and validate revoked Apple credentials so clients recover without unsafe token rotation.
2026-08-25 16:43:47 +08:00
Rocky dccafe6f9e checkpoint before checking out main 2026-08-25 13:42:00 +08:00
Rocky 57844ce615 Fix skill migration test regressions
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled
Use an explicit remote clipboard card after removing local clipboard hints and assert the complete set of newly migrated default skills.
2026-08-23 20:51:29 +08:00
Rocky 1cbef4dae5 Fix web content test registration
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled
Register the existing web page content test in the keyboard suite so CI validates the complete on-disk test set.
2026-08-23 20:27:44 +08:00
Rocky 03837b0e48 Refine local AI hint fallbacks
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled
Keep clipboard actions in Skills and focus offline hints on distinct daily market briefings while preventing retired cached cards from resurfacing.
2026-08-23 20:26:34 +08:00
Rocky 2cc81c4628 feat(keyboard): expand contextual skills and managed flows
Add local clipboard intent recommendations, webpage and phone actions, and safer host handoffs. Refine managed gateway, catalog refresh, onboarding, and adaptive polish behavior.
2026-08-23 14:02:33 +08:00
Rocky 7df5bbdaa0 Refine adaptive polish and cross-platform account support
Improve learned-style and clipboard skill presentation while keeping shared account clients buildable in the source-composed macOS target.
2026-08-22 17:06:22 +08:00
Rocky fe8f657c8d Fix CI tooling and semantic skill recommendations
Resolve the pinned XcodeGen archive layout and let the keyboard derive bounded clipboard recommendations from the full catalog independently of installation state.
2026-08-22 16:46:37 +08:00
Rocky 386ba140f7 Refine skill catalog installation flow
Move skill installation into dedicated detail pages and keep installed-state rendering compatible with SwiftUI result builders.
2026-08-22 16:41:04 +08:00
Rocky e5a83843db Expand onboarding and adaptive keyboard intelligence
Add resilient usage analytics, OOBE gateway flows, clipboard semantic ranking, purchase recovery, style learning, and managed current-information search.
2026-08-22 16:33:18 +08:00
Rocky ac374631ae fix(analytics): prevent database locks during suspension 2026-08-21 21:13:13 +08:00
Rocky 7bd77509b6 fix(account): load permanent referral profiles
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled
Use authenticated server invitation URLs with account-scoped caching and bounded state transitions, then advance the iOS build metadata to 86.
2026-08-20 22:59:58 +08:00
Rocky ca0a1f9b9a chore(release): bump version to 2.0.0 (build 85)
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled
2026-08-20 21:20:48 +08:00
Rocky 1ad22b8697 fix(home): simplify transient Flow status card
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled
Show only connection state while Flow is preparing or unavailable, and remove the card entirely once the session is healthy.
2026-08-20 20:26:09 +08:00
Rocky 10bc457c72 feat(app): add resilient Flow recovery and privacy-safe analytics
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled
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.
2026-08-20 20:22:20 +08:00
Rocky ee7de5c934 fix(site): lighten daytime content panels
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled
2026-08-20 15:20:57 +08:00
Rocky b558ab116f fix(site): rebuild landing page narrative 2026-08-20 15:15:22 +08:00
Rocky 8fee4d8492 fix(site): refine landing page visual hierarchy
CI / Validate manifests (push) Has been cancelled
CI / SwiftLint (push) Has been cancelled
CI / iOS / Extension (push) Has been cancelled
CI / macOS (push) Has been cancelled
2026-08-20 13:47:50 +08:00
Rocky 498f407585 feat(account): add managed credits and cloud gateway
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.
2026-08-20 11:43:21 +08:00
Rocky 0f9280bd00 fix(keyboard): stabilize Flow startup under memory pressure
Delay competing Rime work, add extension memory telemetry and stress coverage, and refresh the 1.8 release assets and metadata for build 79.
2026-08-18 10:24:02 +08:00
Rocky aa1059135f fix(ci): align test manifest with current test classes 2026-08-17 20:14:06 +08:00
Rocky bb62bbcba1 merge: unify assistant voice and AI workflows 2026-08-16 23:00:06 +08:00
Rocky 94a3ddb053 fix(home): align weekly chart header content 2026-08-16 22:58:31 +08:00
Rocky 805b01a68e fix(keyboard): synchronize adaptive field actions
Enable the correct host action immediately after keyboard edits and advance the shared build number to 75.
2026-08-16 14:22:48 +08:00
Rocky fb97ec2937 feat(keyboard): unify assistant voice and AI workflows
Merge dictation and AI controls into one assistant surface, preserve safe insertion and clipboard actions, and align settings and tests with the new flow.
2026-08-16 12:07:06 +08:00
Rocky 46f6d818b8 docs(release): consolidate 1.8 notes and demos
Present the skipped 1.7 work as one user-focused 1.8 update and record the real keyboard UI for AI, clipboard, and skills walkthroughs.
2026-08-15 09:07:24 +08:00
Rocky 13214e6601 fix(asr): restore computer terminology bias
Rebuild the bundled language model and runtime source filtering around a dedicated computer-term corpus so technical dictation keeps domain coverage.
2026-08-15 09:07:15 +08:00
Rocky 704ac2428c fix(keyboard): avoid exclusivity trap during voice cancellation
Register cancelled utterances before starting the watchdog so overlapping stored-property access cannot crash the keyboard.
2026-08-15 09:06:14 +08:00
Rocky ed90b9a6dc chore(release): bump version to 1.8.0 (build 72) 2026-08-14 23:32:50 +08:00
Rocky 1a76ebe9a7 merge: prepare English keyboard and 1.8 compliance 2026-08-14 23:29:46 +08:00
Rocky f42a812256 fix(release): prepare 1.8 disclosures and licensed resources
Replace the unclear CLM source, align release and privacy disclosures, complete third-party notices, and keep the expanded test suites deterministic for release validation.
2026-08-14 23:28:11 +08:00
Rocky 7364659027 merge: bring pinyin habit ranking into English keyboard branch
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.
2026-08-14 21:51:38 +08:00
Rocky 4749a9cbf2 feat(keyboard): add English QuickType bar and system lexicon
Show verbatim/correction/completion slots, mmap a 40k-word list, and
use UITextChecker plus supplementary lexicon for conservative autocorrect.
2026-08-14 21:49:22 +08:00
Rocky b13a1e904b feat(keyboard): rank pinyin by habit and persist user dictionaries
Erase dialect syllables before abbrev so wom prefers 我们, flush librime
on leave, and add a settings action to forget learned Chinese and English order.
2026-08-14 21:49:03 +08:00
Rocky 2c3a3f80f3 merge: bring AI agent skills into main 2026-08-14 18:23:32 +08:00
Rocky 320dc777c9 feat(keyboard): add Notes skill and system-style typing
Add save-to-Notes export and direct map handoff while aligning multi-touch typing, period shortcuts, return actions, and navigation visuals with system behavior.
2026-08-14 18:22:41 +08:00