docs: log the rename, and what it deliberately left alone
The rename was mostly a set of decisions about what NOT to touch: 239 domain references, the Kotlin package, the applicationId and period.db all stay, because "Period" is the central domain word as well as the old product name. Records the two things a later reader would otherwise retry: the Command Center slug cannot be changed (PATCH accepts the field and ignores it, and recreating the project to change an invisible internal key would throw away its history), and three names have to agree — repository, git remote, and the site's forgejoRepo mapping — with the third being the one that fails silently. Issue #9's body named the old repository path and has been corrected in the tracker, so the command in it works for whoever picks it up.
This commit is contained in:
parent
4eed14f059
commit
b338380cb2
|
|
@ -32,6 +32,63 @@ written and stay true. It is exempt from review for the same reason a receipt is
|
||||||
|
|
||||||
## Entries
|
## Entries
|
||||||
|
|
||||||
|
### 2026-08-18 — Renamed to Privacy: Period Tracker
|
||||||
|
|
||||||
|
"Period" was always a working name — `PRODUCT_PLAN.md` §55 said so — and the real
|
||||||
|
identity arrived with the brand guide. Everything that called the project Period
|
||||||
|
now calls it **Privacy: Period Tracker**.
|
||||||
|
|
||||||
|
**The rename was mostly about deciding what NOT to touch.** "Period" is the
|
||||||
|
product name and the central domain word at the same time. `PeriodRecord`,
|
||||||
|
`PeriodWriteResult`, `confirmPeriodStart`, the `period_records` table and the
|
||||||
|
button reading "Started period" all describe a menstrual period rather than a
|
||||||
|
product — 239 references, every one of them left alone. A find-and-replace would
|
||||||
|
have turned the data model into nonsense. Sixteen files changed in total.
|
||||||
|
|
||||||
|
Also deliberately unmoved, and written down so the absence reads as a decision:
|
||||||
|
|
||||||
|
- **The package `dev.privacyllc.period` and `applicationId`.** They already read
|
||||||
|
correctly under the new name — `privacyllc` is the company, `period` the app —
|
||||||
|
and changing them would rewrite 68 files, rename the Room schema directory and
|
||||||
|
break the hardcoded path in `schema-guard.sh`.
|
||||||
|
- **`period.db`.** Renaming a database file orphans the data on every device
|
||||||
|
that already has it. The emulator's existing install opened fine afterwards,
|
||||||
|
which is the proof.
|
||||||
|
|
||||||
|
**The repository was renamed in place**, not recreated: `null/Period` →
|
||||||
|
`null/Privacy-Period-Tracker`, keeping all 30 commits, 27 issues, 8 milestones
|
||||||
|
and 4 labels. Counted on both sides rather than assumed, because "a rename is
|
||||||
|
lossless" is exactly the sort of thing that is true until it is not.
|
||||||
|
|
||||||
|
**Three names have to agree**, and only two of them are obvious: the Forgejo
|
||||||
|
repository, the git remote, and the Command Center's `forgejoRepo` mapping. The
|
||||||
|
third is the silent one — a stale mapping degrades to *"pointing at a repository
|
||||||
|
that does not exist"* on the next reconcile and the site quietly stops counting.
|
||||||
|
All three verified, and the reconcile afterwards reported `0 pointing at a
|
||||||
|
repository that does not exist`.
|
||||||
|
|
||||||
|
**The Command Center slug could not be renamed.** `PATCH` accepted a `slug` field
|
||||||
|
and ignored it; `period` still resolves and `privacy-period-tracker` returns 422.
|
||||||
|
It is an internal key, invisible on the card, and recreating the project to
|
||||||
|
change it would throw away its history — so it stays, recorded here rather than
|
||||||
|
retried later by somebody who assumes it was missed.
|
||||||
|
|
||||||
|
**One inconsistency created on purpose.** The canonical name has a space after
|
||||||
|
the colon; the supplied wordmark does not. `BRAND_GUIDE.md` §10 now says the
|
||||||
|
space form and says plainly that the drawn mark disagrees. Filed as #28 rather
|
||||||
|
than papered over, because redrawing a lockup needs an artist.
|
||||||
|
|
||||||
|
- **Closed:** nothing — this is a rename, not a deliverable. #28 filed.
|
||||||
|
- **Next action:** Batch 06 — Privacy and Security, unchanged by the rename. File
|
||||||
|
its issues first; the milestone is empty. Biometric and PIN lock, export,
|
||||||
|
irreversible delete, the privacy promise in Settings, and making §45's logging
|
||||||
|
rules true in a release build.
|
||||||
|
- **Blockers:** #9, the Command Center webhook, still needs a person. Its body
|
||||||
|
named the old repository path and has been corrected in the tracker, so
|
||||||
|
whoever picks it up gets a command that works. The four QA gaps are unchanged
|
||||||
|
and still the better spend: nobody has looked at a real lock screen, TalkBack has never been run,
|
||||||
|
text has never been scaled, and nothing has run at `minSdk` 26.
|
||||||
|
|
||||||
### 2026-08-18 — Batch 05 shipped, and the app got its real brand
|
### 2026-08-18 — Batch 05 shipped, and the app got its real brand
|
||||||
|
|
||||||
Reminders landed and the milestone closed. **Five of eight batches are done, and
|
Reminders landed and the milestone closed. **Five of eight batches are done, and
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue