Skip to content

Commit 69ef5ad

Browse files
committed
chore: consolidate root docs and retire per-version release-notes pattern
- Delete 178 RELEASE_NOTES_v*.md files; the full history already lives in CHANGELOG.md as `## vX.Y.Z` sections with stable `#vX.Y.Z` anchors. - Rewrite .github/workflows/release.yml to extract each release body from the matching CHANGELOG section between `<a id="vX.Y.Z">` anchors instead of reading per-file notes. - Rewrite every active doc/code/asset reference to the new CHANGELOG.md#vX.Y.Z anchor form; .ai/research/<date>/ snapshots left as frozen historical artefacts. - Move 7 planning/research snapshots to docs/archive/: SWIFTKEY_AI_RESEARCH, SWIFTKEY_FEATURE_IMPLEMENTATION_PLAN, SWIFTKEY_PARITY_AUDIT, SWIFTKEY_PARITY_BUILD_PLAN, SWIFTKEY_PARITY_RESEARCH, SWIFTKEY_PARITY_ROADMAP_2026-05-17, ROADMAP_RESEARCH_ADDENDUM_2026-05-17. - Remove stale README.md.bak. - Bump gradle.properties to 1.8.171 / versionCode 1971; sync README badge. - Update CHANGELOG v1.8.171 entry to describe the full consolidation.
1 parent 2fb7ad3 commit 69ef5ad

218 files changed

Lines changed: 280 additions & 11518 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -231,12 +231,16 @@ jobs:
231231
run: |
232232
set -euo pipefail
233233
tag="v${RELEASE_VERSION}"
234-
notes="RELEASE_NOTES_v${RELEASE_VERSION}.md"
235-
# Compose the release body: prefer the per-version RELEASE_NOTES file when present, fall back to autogen,
236-
# then append the OSV scan appendix produced earlier (matrix #9 + #44).
234+
# Compose the release body: extract the per-version section from CHANGELOG.md when present,
235+
# fall back to autogen, then append the OSV scan appendix (matrix #9 + #44).
236+
# The section runs from the version's <a id="vX.Y.Z"></a> anchor to the next <a id="v..."> anchor.
237237
body_file="$(mktemp)"
238-
if [ -f "$notes" ]; then
239-
cat "$notes" > "$body_file"
238+
if [ -f CHANGELOG.md ]; then
239+
awk -v ver="$RELEASE_VERSION" '
240+
$0 == "<a id=\"v" ver "\"></a>" { in_section = 1; next }
241+
in_section && /^<a id="v[0-9]/ { exit }
242+
in_section { print }
243+
' CHANGELOG.md > "$body_file"
240244
fi
241245
if [ -f RELEASE_OSV_SUMMARY.md ]; then
242246
cat RELEASE_OSV_SUMMARY.md >> "$body_file"

.github/workflows/reproducible-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Reproducible APK Check
22

3-
# ROADMAP_RESEARCH_ADDENDUM_2026-05-17 §B.4 / N12.5 — build the
3+
# docs/archive/ROADMAP_RESEARCH_ADDENDUM_2026-05-17 §B.4 / N12.5 — build the
44
# release APK twice from clean worktrees at the same commit and fail on
55
# byte-level drift before F-Droid's rebuilder catches it.
66

AGENTS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ mode, etc.). Tool-specific files like [`CLAUDE.md`](CLAUDE.md) carry
2121
4. [`ROADMAP.md`](ROADMAP.md) — full roadmap with history; ~340 KB,
2222
tiered NOW / NEXT / LATER / UNDER CONSIDERATION / REJECTED with
2323
sourced appendix.
24-
5. [`SWIFTKEY_PARITY_ROADMAP_2026-05-17.md`](SWIFTKEY_PARITY_ROADMAP_2026-05-17.md)
24+
5. [`docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md`](docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md)
2525
— current sprint plan (Phase A → E) timed to the 2026-05-31 SwiftKey
2626
account-retirement cutoff.
2727
6. [`IMPROVEMENT_PLAN.md`](IMPROVEMENT_PLAN.md) — execution-focused
2828
quality / a11y / perf / test / build / release plan; 15 workstreams.
29-
7. [`ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md`](ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md)
29+
7. [`docs/archive/ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md`](docs/archive/ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md)
3030
— most recent research-run additions and corrections, not yet folded
3131
into `ROADMAP.md`.
3232
8. [`.ai/research/<YYYY-MM-DD>/`](.ai/research/) — full research-run
@@ -131,7 +131,7 @@ commands above.
131131
| If your change is… | Lives in… |
132132
|---|---|
133133
| One feature slice, one release | A new `RELEASE_NOTES_vX.Y.Z.md` at repo root + a `gradle.properties` bump |
134-
| A SwiftKey-parity slice (Phase A/B/C/D/E) | The "Phased plan" in [SWIFTKEY_PARITY_ROADMAP_2026-05-17.md](SWIFTKEY_PARITY_ROADMAP_2026-05-17.md) |
134+
| A SwiftKey-parity slice (Phase A/B/C/D/E) | The "Phased plan" in [docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md](docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md) |
135135
| A roadmap-tier change (NOW / NEXT / LATER / UNDER CONSIDERATION) | [ROADMAP.md](ROADMAP.md) §6/§7/§8/§9 |
136136
| A quality / a11y / perf / test / CI / release-hygiene workstream | [IMPROVEMENT_PLAN.md](IMPROVEMENT_PLAN.md) |
137137
| A research finding | New `.ai/research/<YYYY-MM-DD>/` directory; updates fold into the next `ROADMAP.md` `v5.X` refresh |

ARCHITECTURE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -195,11 +195,11 @@ tests use Roborazzi and Robolectric. The active test strategy is:
195195

196196
## Documentation Routing
197197

198-
- Product state and roadmap: `PROJECT_CONTEXT.md`, `ROADMAP.md`,
199-
`SWIFTKEY_PARITY_ROADMAP_2026-05-17.md`
198+
- Product state and roadmap: `PROJECT_CONTEXT.md`, `ROADMAP.md`
199+
- Archived planning snapshots: `docs/archive/`
200200
- Typing behavior contracts: `docs/AUTOCORRECT_LIFECYCLE.md`
201201
- Research artifacts: `.ai/research/<YYYY-MM-DD>/`
202-
- Release notes: one root `RELEASE_NOTES_vX.Y.Z.md` per versioned release
202+
- Release notes: appended as a new `## vX.Y.Z` section in root `CHANGELOG.md`
203203
- Contributor workflow: `CONTRIBUTING.md`
204204
- Architecture: this file
205205
- Security/privacy/rebuild docs: `docs/`

CLAUDE.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ ad-hoc Claude API sessions).
2020

2121
1. [`PROJECT_CONTEXT.md`](PROJECT_CONTEXT.md) — one page; fastest read.
2222
2. [`AGENTS.md`](AGENTS.md) — hard rules + file-routing.
23-
3. [`SWIFTKEY_PARITY_ROADMAP_2026-05-17.md`](SWIFTKEY_PARITY_ROADMAP_2026-05-17.md)
24-
current sprint plan.
25-
4. [`ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md`](ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md)
26-
latest research run's additions / corrections.
27-
5. The most recent few `RELEASE_NOTES_v*.md` files — what shipped recently.
23+
3. [`docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md`](docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md)
24+
— sprint plan snapshot (archived 2026-05-18).
25+
4. [`docs/archive/ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md`](docs/archive/ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md)
26+
— research-run additions / corrections (archived 2026-05-18).
27+
5. The top of [`CHANGELOG.md`](CHANGELOG.md) — most recent versions and what shipped.
2828
6. [`ROADMAP.md`](ROADMAP.md) only if the prior files leave a question
2929
unanswered. It's ~340 KB; sample by section heading.
3030

@@ -64,8 +64,9 @@ ad-hoc Claude API sessions).
6464
The maintainer's `~/.claude/projects/.../memory/` already pins:
6565

6666
- `Z:\repos` is the master directory holding all projects on this VM.
67-
- SwiftFloris-specific facts: Android keyboard fork; per-release file
68-
pattern; build gates.
67+
- SwiftFloris-specific facts: Android keyboard fork; consolidated
68+
`CHANGELOG.md` (one `## vX.Y.Z` section per release, anchor `#vX.Y.Z`);
69+
build gates.
6970
- `git push` to `SysAdminDoc/SwiftFloris` fails 403 from this VM.
7071

7172
Do not re-save these as memory entries.
@@ -74,8 +75,7 @@ Do not re-save these as memory entries.
7475

7576
## Writing style for this repo
7677

77-
Conventions observed across `RELEASE_NOTES_v*.md`, `ROADMAP.md`, and
78-
`SWIFTKEY_PARITY_ROADMAP_2026-05-17.md`:
78+
Conventions observed across [`CHANGELOG.md`](CHANGELOG.md) and [`ROADMAP.md`](ROADMAP.md):
7979

8080
- **Tight prose.** Sentence-level precision; minimal hand-waving.
8181
- **Specific file references** with line numbers when relevant.

PROJECT_CONTEXT.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ through v1.8.170).
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),
10-
[SWIFTKEY_PARITY_ROADMAP_2026-05-17.md](SWIFTKEY_PARITY_ROADMAP_2026-05-17.md),
10+
[docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md](docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md),
1111
[IMPROVEMENT_PLAN.md](IMPROVEMENT_PLAN.md), or any per-release notes — it
1212
distills their durable content into one page so those longer documents
1313
don't have to be re-read every time.
@@ -561,11 +561,11 @@ subsystem map in
561561

562562
| If your change is… | Lives in… |
563563
|---|---|
564-
| One feature slice, one release | A new `RELEASE_NOTES_vX.Y.Z.md` at repo root + a `gradle.properties` bump |
565-
| A SwiftKey-parity slice (Phase A/B/C/D/E) | The "Phased plan" in [SWIFTKEY_PARITY_ROADMAP_2026-05-17.md](SWIFTKEY_PARITY_ROADMAP_2026-05-17.md) |
564+
| One feature slice, one release | A new `## vX.Y.Z` section appended to [CHANGELOG.md](CHANGELOG.md) + a `gradle.properties` bump |
565+
| A SwiftKey-parity slice (Phase A/B/C/D/E) | The "Phased plan" in [docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md](docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md) (snapshot; migrate active items into `ROADMAP.md`) |
566566
| A roadmap-tier change (NOW / NEXT / LATER / UNDER CONSIDERATION) | [ROADMAP.md](ROADMAP.md) §6/§7/§8/§9 |
567567
| A quality / a11y / perf / test / CI / release-hygiene workstream | [IMPROVEMENT_PLAN.md](IMPROVEMENT_PLAN.md) |
568-
| A research finding that updates a prior roadmap claim | [ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md](ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md) (this run's addendum) |
568+
| A research finding that updates a prior roadmap claim | [docs/archive/ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md](docs/archive/ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md) (snapshot; fold corrections into `ROADMAP.md`) |
569569
| A security / dependency / crypto migration | [docs/SECURITY.md](docs/SECURITY.md) + [docs/THREAT_MODEL.md](docs/THREAT_MODEL.md) + [docs/REPRODUCIBLE_BUILDS.md](docs/REPRODUCIBLE_BUILDS.md) |
570570
| Architecture or contributor workflow | [ARCHITECTURE.md](ARCHITECTURE.md) + [CONTRIBUTING.md](CONTRIBUTING.md) |
571571
| A UX / migration walkthrough | `docs/MIGRATE_FROM_SWIFTKEY.md`, `docs/INLINE_AUTOFILL.md`, `docs/TASKER_INTEGRATION.md` |
@@ -583,7 +583,7 @@ standalone SwiftKey accounts on that date. Non-MS-account data is gone
583583
after the cutoff. The migration funnel is the highest-priority external
584584
clock the project has.
585585

586-
Phase A of `SWIFTKEY_PARITY_ROADMAP_2026-05-17.md` is sized for this:
586+
Phase A of `docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md` is sized for this:
587587

588588
- ✅ A1 — README outreach pivot (shipped v1.8.52)
589589
- ✅ A2 — Post-import confirmation + rollback (shipped v1.8.53)
@@ -703,7 +703,7 @@ Per [ROADMAP.md](ROADMAP.md) §15 Definition of Done:
703703

704704
1. `:app:testDebugUnitTest`, `:app:lintDebug`, `:app:assembleDebug` all green locally.
705705
2. Manual QA pass on a real device.
706-
3. Per-release `RELEASE_NOTES_v*.md` file written.
706+
3. New `## vX.Y.Z` section appended to root `CHANGELOG.md`.
707707
4. `gradle.properties` versionCode + versionName bumped.
708708
5. New dep / asset → `NOTICE` / `LICENSES/` updated.
709709
6. APK signed and installable; SHA-256 published in release notes.
@@ -715,9 +715,11 @@ Per [ROADMAP.md](ROADMAP.md) §15 Definition of Done:
715715

716716
## 11. Memory rules captured by prior research
717717

718-
- **Per-release file pattern:** every release ships its own
719-
`RELEASE_NOTES_v<MAJOR>.<MINOR>.<PATCH>.md`. There is no rolled-up
720-
`CHANGELOG.md` and there should not be.
718+
- **Consolidated changelog pattern:** every release appends a new
719+
`## v<MAJOR>.<MINOR>.<PATCH>` section to root `CHANGELOG.md`, preceded
720+
by an `<a id="vX.Y.Z"></a>` anchor. The release workflow extracts the
721+
section between anchors for the GitHub release body. The legacy
722+
per-file `RELEASE_NOTES_v*.md` pattern was retired 2026-05-18.
721723
- **Build gate:** every code change must keep `:app:verifyNoInternetPermission`
722724
passing. The build fails otherwise.
723725
- **License ceiling:** `:app` is Apache-2.0. GPL / AGPL / LGPL /
@@ -745,7 +747,7 @@ Per [ROADMAP.md](ROADMAP.md) §15 Definition of Done:
745747
- [FEATURE_BACKLOG.md](.ai/research/2026-05-17/FEATURE_BACKLOG.md) — raw harvested ideas
746748
- [PRIORITIZATION_MATRIX.md](.ai/research/2026-05-17/PRIORITIZATION_MATRIX.md) — scored + tiered
747749
- [CHANGESET_SUMMARY.md](.ai/research/2026-05-17/CHANGESET_SUMMARY.md) — what this research run created or changed
748-
- (At repo root) [ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md](ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md) — the actionable additions
750+
- (At repo root) [docs/archive/ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md](docs/archive/ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md) — the actionable additions
749751

750752
Future research runs should follow the same `.ai/research/<YYYY-MM-DD>/`
751753
convention so prior runs remain auditable.
@@ -756,9 +758,9 @@ convention so prior runs remain auditable.
756758
|---|---|
757759
| Project pitch + setup | [README.md](README.md) |
758760
| The big roadmap with full history | [ROADMAP.md](ROADMAP.md) |
759-
| The current sprint plan | [SWIFTKEY_PARITY_ROADMAP_2026-05-17.md](SWIFTKEY_PARITY_ROADMAP_2026-05-17.md) |
760-
| The latest research run's recommendations | [ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md](ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md) |
761+
| The current sprint plan | [docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md](docs/archive/SWIFTKEY_PARITY_ROADMAP_2026-05-17.md) |
762+
| The latest research run's recommendations | [docs/archive/ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md](docs/archive/ROADMAP_RESEARCH_ADDENDUM_2026-05-17.md) (snapshot) |
761763
| Quality / a11y / perf / test plan | [IMPROVEMENT_PLAN.md](IMPROVEMENT_PLAN.md) |
762764
| Threat model + security posture | [docs/THREAT_MODEL.md](docs/THREAT_MODEL.md) + [docs/SECURITY.md](docs/SECURITY.md) |
763-
| What ships in the next release | The latest `RELEASE_NOTES_v*.md` |
765+
| What ships in the next release | Top section of [CHANGELOG.md](CHANGELOG.md) |
764766
| What I'm allowed to put in `:app` | §2 above + [ROADMAP.md](ROADMAP.md) §1, §10 |

0 commit comments

Comments
 (0)