Skip to content

Commit 29662ee

Browse files
committed
docs: add qa evidence checklists
1 parent 61f3a47 commit 29662ee

14 files changed

Lines changed: 197 additions & 20 deletions

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ and sourced reasoning; mine them for *why*, but pick the next task from
1818
`ROADMAP.md`.
1919

2020
1. [`PROJECT_CONTEXT.md`](PROJECT_CONTEXT.md) — single-page consolidated
21-
project context. Pins the load-bearing invariants, current v1.8.243
21+
project context. Pins the load-bearing invariants, current v1.8.244
2222
stack, the module layout, roadmap-file routing, and current source-of-truth
2323
state.
2424
2. [`ARCHITECTURE.md`](ARCHITECTURE.md) — contributor-facing module,
@@ -91,7 +91,7 @@ evidence. A matching `fastlane/metadata/android/en-US/changelogs/<versionCode>.t
9191

9292
`gradle.properties` `projectVersionCode` + `projectVersionName` bump in lockstep
9393
with the changelog commit. Tag the release commit at the same time
94-
(`git push --tags`). HEAD is `v1.8.243` (versionCode 2043) as of 2026-06-04.
94+
(`git push --tags`). HEAD is `v1.8.244` (versionCode 2044) as of 2026-06-04.
9595

9696
### 5. Definition of Done (per [ROADMAP.md](ROADMAP.md) §15)
9797

ARCHITECTURE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SwiftFloris Architecture
22

3-
Last updated: 2026-06-04, against the v1.8.243 codebase.
3+
Last updated: 2026-06-04, against the v1.8.244 codebase.
44

55
This file is the fast architectural map for contributors. It is intentionally
66
shorter than `ROADMAP.md` and more code-oriented than `PROJECT_CONTEXT.md`.

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,46 @@
22

33
All SwiftFloris release history is consolidated here. This replaces the former root-level `RELEASE_NOTES_v*.md` file-per-release pattern.
44

5+
<a id="v1.8.244"></a>
6+
## v1.8.244
7+
8+
Released: 2026-06-04
9+
10+
### QA and release evidence checklists
11+
12+
WS10 / WS15 is closed. Visual-QA, manual-QA, and release-evidence capture now have one repeatable checklist document linked from the verification, contributor, accessibility, and README entry points.
13+
14+
### Changes
15+
16+
- **`docs/QA_CHECKLISTS.md`** - adds the visual matrix for portrait/landscape/compact/floating/split/dark/high-contrast/high-font-scale/reduced-motion/RTL, the manual QA flow, and the release evidence checklist.
17+
- **`docs/LOCAL_VERIFICATION.md`** - links the checklist document from the standard local verification and device-smoke sections.
18+
- **`CONTRIBUTING.md` / `docs/ACCESSIBILITY.md` / `README.md`** - point contributors to the shared checklist for manual, accessibility, and release evidence rows.
19+
- **`README.md` / `PROJECT_CONTEXT.md` / `AGENTS.md` / `ARCHITECTURE.md` / `ROADMAP.md` / `COMPLETED.md` / `RESEARCH_REPORT.md` / `gradle.properties` / fastlane metadata** - advances the release marker to v1.8.244 / versionCode 2044 and closes WS10 / WS15.
20+
21+
### Verification
22+
23+
- `git diff --check` - PASS.
24+
- `bash scripts/check-fastlane-metadata.sh` - PASS for versionCode 2044.
25+
- `bash scripts/check-repo-hygiene.sh` - PASS.
26+
- APK assembly was intentionally skipped in this local docs-only batch per operator request to avoid repeated heavy Android builds.
27+
28+
### Files Touched
29+
30+
- `AGENTS.md`
31+
- `ARCHITECTURE.md`
32+
- `CHANGELOG.md`
33+
- `COMPLETED.md`
34+
- `CONTRIBUTING.md`
35+
- `PROJECT_CONTEXT.md`
36+
- `README.md`
37+
- `RESEARCH_REPORT.md`
38+
- `ROADMAP.md`
39+
- `docs/ACCESSIBILITY.md`
40+
- `docs/LOCAL_VERIFICATION.md`
41+
- `docs/QA_CHECKLISTS.md` (new)
42+
- `fastlane/metadata/android/en-US/changelogs/2044.txt` (new)
43+
- `gradle.properties` (versionCode 2043->2044, versionName 1.8.243->1.8.244)
44+
545
<a id="v1.8.243"></a>
646
## v1.8.243
747

COMPLETED.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ Consolidated from the archived open-work checklist (closed items). Full per-rele
8282
- [x] R4-3 (P3) — `MimeTypeFilter` aggregate helper behavior is documented and covered for null, empty, many-match, exactly-one, case-sensitive, and legacy fragment-wildcard inputs, and constructor stdout logging is removed. Shipped v1.8.241. — *Source: ROADMAP.md Researcher Queue Cycle 4.*
8383
- [x] R4-4 (P3) — `NativeStr.toJavaString()` now decodes only ByteBuffer remaining bytes and preserves caller-visible position across heap, sliced heap, direct, and read-only buffers. Shipped v1.8.242. — *Source: ROADMAP.md Researcher Queue Cycle 4.*
8484
- [x] WS12 (P2) — Localization content-quality pass cleared Turkish adjacent repeated-word lint with native-safe copy, tightened source labels, standardized trust-sensitive failure/destructive wording, and documented translation-safe cleanup rules. Shipped v1.8.243. — *Source: docs/archive/TODO_2026-06-03.md A5 / improvement-plan WS12.*
85+
- [x] WS10 / WS15 (P2) — Visual-QA, manual-QA, and release-evidence checklists now live in `docs/QA_CHECKLISTS.md` and are linked from verification, contributor, accessibility, and README docs. Shipped v1.8.244. — *Source: docs/archive/TODO_2026-06-03.md A5 / improvement-plan WS10/WS15.*
8586
- [x] F1, F2, F15, F16, F17, F19, F20, F25, F26, F32, F34, F35, F36, F41, F42, EI8, EI11, EI4 (doc) — Closed across v1.8.174 -> v1.8.187. — *Source: TODO_2026-06-03.md*
8687
- [x] IMPROVEMENT_PLAN Workstreams 1, 3, 4, 5, 6 complete; Workstream 2 (lint) monotonically decreasing. — *Source: IMPROVEMENT_PLAN_2026-05-18.md*
8788

CONTRIBUTING.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,10 @@ Also run when relevant:
100100
.\gradlew.bat :app:installDebug
101101
```
102102

103-
Manual QA is required for IME behavior. For keyboard changes, test at least:
103+
Manual QA is required for IME behavior. Use
104+
[`docs/QA_CHECKLISTS.md`](docs/QA_CHECKLISTS.md) for the visual matrix,
105+
manual-flow rows, and release-evidence format. For keyboard changes, test at
106+
least:
104107

105108
- A normal text field.
106109
- A password field.
@@ -133,6 +136,9 @@ Accessibility notes for manual QA:
133136
and at least one landscape viewport when the change touches keyboard or
134137
settings layout.
135138

139+
Record skipped visual or manual rows with a reason. Do not mark a
140+
device-gated row complete from source inspection alone.
141+
136142
If your machine cannot run Gradle, say exactly which command was attempted and
137143
why it failed. Do not mark a code change fully verified from source inspection
138144
alone.

PROJECT_CONTEXT.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
**Maintained at root for fast onboarding.**
44
**Last consolidated:** 2026-06-04 (from the autonomous research run at
55
[`.ai/research/2026-05-17/`](.ai/research/2026-05-17/) plus follow-up slices
6-
through v1.8.243).
6+
through v1.8.244).
77

88
This file is the single fastest read for an AI session, new contributor, or
99
maintainer-context refresh. It does **not** replace [ROADMAP.md](ROADMAP.md),
@@ -47,7 +47,7 @@ them requires changing both the relevant code *and* the gate.
4747
If a proposed change conflicts with any of these, the answer is "move that
4848
feature into an addon" — never "loosen the invariant."
4949

50-
## 3. Stack at HEAD (v1.8.243)
50+
## 3. Stack at HEAD (v1.8.244)
5151

5252
```
5353
Kotlin 2.3.21 · Compose BOM 2026.05.01 · Material 3 + material-kolor 4.1.1
@@ -204,7 +204,7 @@ and in [`ROADMAP.md` §0 v5.5 + v5.4](ROADMAP.md). Net deltas to invariants:
204204
at `docs/outreach/2026-05-17-swiftkey-migration/` covering
205205
AlternativeTo, BGR, Android Authority, and r/Swiftkey.
206206

207-
**v1.8.104 - v1.8.243** ships the seventh research-pass privacy,
207+
**v1.8.104 - v1.8.244** ships the seventh research-pass privacy,
208208
voice, clipboard, NLP, visual-regression, Addons trust/asset/catalog layer, and
209209
input-behavior testability plus conservative lint/dependency cleanup and
210210
performance-baseline / CI-quality / repo-hygiene / destructive-confirmation
@@ -538,7 +538,7 @@ keyboard preview field now renders as a distinct bottom surface, exposes
538538
ready/active focus-state feedback, preserves bottom-bar traversal ordering, and
539539
uses coroutine-safe feedback when Android cannot open the keyboard picker.
540540

541-
v1.8.171 through v1.8.243 refresh the release front door after the 2026-05-31
541+
v1.8.171 through v1.8.244 refresh the release front door after the 2026-05-31
542542
SwiftKey account-export cutoff, consolidate planning into `ROADMAP.md`,
543543
backfill audit docs, ship settings search and search polish, add hardware
544544
keyboard import and per-app language/accent discovery, harden release gates
@@ -615,6 +615,9 @@ v1.8.243 closes the localization content-quality pass: Turkish adjacent
615615
repeated-word lint is cleared with native-safe wording, source labels and
616616
trust-sensitive failure/destructive copy are standardized, and repo hygiene now
617617
documents translation-safe cleanup rules.
618+
v1.8.244 closes the QA/release-evidence checklist gap: `docs/QA_CHECKLISTS.md`
619+
now owns the visual-QA matrix, manual-QA flow, and release-evidence capture
620+
format, and verification/contributor/accessibility docs link to it.
618621

619622
## 4. Module layout
620623

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SwiftFloris
22

3-
![Version](https://img.shields.io/badge/version-v1.8.243-blue) ![License](https://img.shields.io/badge/license-Apache%202.0-green) ![Platform](https://img.shields.io/badge/platform-Android%208.0+-orange) ![Network](https://img.shields.io/badge/network-none-lightgrey) ![Dictionary imports](https://img.shields.io/badge/dictionary%20imports-local%20files-green)
3+
![Version](https://img.shields.io/badge/version-v1.8.244-blue) ![License](https://img.shields.io/badge/license-Apache%202.0-green) ![Platform](https://img.shields.io/badge/platform-Android%208.0+-orange) ![Network](https://img.shields.io/badge/network-none-lightgrey) ![Dictionary imports](https://img.shields.io/badge/dictionary%20imports-local%20files-green)
44

55
**SwiftFloris** is a privacy-first Android keyboard, forked from FlorisBoard and pushed toward SwiftKey-class multilingual typing without the cloud. It ships under Apache-2.0, holds no `INTERNET` permission, and binds zero accounts.
66

@@ -37,7 +37,7 @@
3737
3838
## Highlights
3939

40-
| Area | What's in v1.8.243 | Privacy posture |
40+
| Area | What's in v1.8.244 | Privacy posture |
4141
|------|-------------------|-----------------|
4242
| **Autocorrect / prediction** | SCOWL 117k English dictionary, SymSpell d1+d2, bigram + trigram next-word, capitalization-aware completions, contraction handling, instant-remember user-dictionary overlay | On-device |
4343
| **Multilingual typing** | Bilingual subtype presets (EN+ES / EN+FR / EN+DE), per-token Latin language identification, top-two straddle guard, sentence-local context scoring, and opt-in remembered keyboard language per app | On-device |
@@ -114,6 +114,7 @@ Project-internal docs all live in the repository:
114114
- [`docs/REPRODUCIBLE_BUILDS.md`](docs/REPRODUCIBLE_BUILDS.md) — pinned toolchain and F-Droid rebuild plan.
115115
- [`docs/BENCHMARKS.md`](docs/BENCHMARKS.md) — Macrobenchmark trace sections, workflow, and regression threshold contract.
116116
- [`docs/LOCAL_VERIFICATION.md`](docs/LOCAL_VERIFICATION.md) — maintainer local test/build/lint/device commands.
117+
- [`docs/QA_CHECKLISTS.md`](docs/QA_CHECKLISTS.md) — visual-QA, manual-QA, and release-evidence checklists.
117118
- [`docs/REPO_HYGIENE.md`](docs/REPO_HYGIENE.md) — generated-output, deleted-doc, commit-scope, localization-copy, and handoff rules.
118119
- [`docs/INLINE_AUTOFILL.md`](docs/INLINE_AUTOFILL.md) — inline-autofill matrix and password-manager verification.
119120
- [`docs/TASKER_INTEGRATION.md`](docs/TASKER_INTEGRATION.md) — Tasker intent contract.
@@ -287,6 +288,7 @@ Real device-number collection is tracked in [`docs/BENCHMARKS.md`](docs/BENCHMAR
287288

288289
The full release stream lives in [`CHANGELOG.md`](CHANGELOG.md) and on [GitHub Releases](https://github.com/SysAdminDoc/SwiftFloris/releases).
289290

291+
- **v1.8.244** (2026-06-04) — Visual-QA, manual-QA, and release-evidence checklists now live in `docs/QA_CHECKLISTS.md` and are linked from verification docs. ([notes](CHANGELOG.md#v1.8.244))
290292
- **v1.8.243** (2026-06-04) — Localization copy now avoids Turkish repeated-word lint, uses clearer source labels, and standardizes trust-sensitive failure/destructive copy with focused resource tests. ([notes](CHANGELOG.md#v1.8.243))
291293
- **v1.8.242** (2026-06-04) — `NativeStr.toJavaString()` now decodes only ByteBuffer remaining bytes across heap, sliced, direct, and read-only buffers without consuming caller position. ([notes](CHANGELOG.md#v1.8.242))
292294
- **v1.8.241** (2026-06-04) — MIME helper aggregate semantics are now documented and covered, constructor stdout logging is removed, and legacy font wildcard matching is explicit. ([notes](CHANGELOG.md#v1.8.241))
@@ -473,7 +475,7 @@ limitations under the License.
473475

474476
## Status
475477

476-
🚀 **Active development.** Current release: **v1.8.243** (2026-06-04). The SwiftKey account export window closed on **2026-05-31**; local/on-device migration paths remain documented above.
478+
🚀 **Active development.** Current release: **v1.8.244** (2026-06-04). The SwiftKey account export window closed on **2026-05-31**; local/on-device migration paths remain documented above.
477479

478480
---
479481

0 commit comments

Comments
 (0)