mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
docs(planning): F1 develop branch + FX user-facing cleanup recorded
- STATE.md: F1 ticked complete, F3+F4 collapsed into FX (combined cleanup wave), all bullets reflect what shipped on origin/main - phase-F1-report.md: GHCR workflow audit + branch model contract - phase-FX-report.md: 3-repo PII/jargon/German scrub (HealthLog, healthlog-docs, healthlog-landing) with carry-overs and the pre-release PII grep gate spec Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
a1cf9bcb37
commit
77f9741672
3 files changed
+148
-19
No files matched your search
+21
-19
@@ -22,10 +22,10 @@ B1 dispatches.
|
|||||||
|
|
||||||
### F1 — Branch model: long-lived `develop`
|
### F1 — Branch model: long-lived `develop`
|
||||||
|
|
||||||
- [ ] Create `develop` from current `main` HEAD
|
- [x] Create `develop` from cleaned `main` HEAD (`a1cf9bc`)
|
||||||
- [ ] Push `develop` to origin
|
- [x] Push `develop` to origin (tracking set up)
|
||||||
- [ ] Verify GHCR workflow only fires on `main` push + `v*` tag
|
- [x] GHCR workflow verified — only `branches: [main]` + `tags: ['v*']` push paths build/publish; PRs to `main` build but do not push; develop is build-free
|
||||||
- [ ] Set `develop` as default work-target for all v1.4.20 commits
|
- [x] All v1.4.20 commits target `develop`; release-merge to `main` only at Phase E
|
||||||
- Detailed report: `.planning/phase-F1-report.md`
|
- Detailed report: `.planning/phase-F1-report.md`
|
||||||
|
|
||||||
### F2 — Document branch + release model
|
### F2 — Document branch + release model
|
||||||
@@ -35,23 +35,25 @@ B1 dispatches.
|
|||||||
- [ ] Make user-vs-contributor distinction explicit
|
- [ ] Make user-vs-contributor distinction explicit
|
||||||
- Detailed report: `.planning/phase-F2-report.md`
|
- Detailed report: `.planning/phase-F2-report.md`
|
||||||
|
|
||||||
### F3 — Repo-cleanup audit (jargon sweep)
|
### FX — User-facing artifact cleanup (PII + jargon + German leaks)
|
||||||
|
|
||||||
- [ ] Multi-agent sweep: `CHANGELOG.md`, `docs/audit/`, `docs/`,
|
Combined sweep across HealthLog main repo + healthlog-docs + healthlog-landing
|
||||||
`README.md`, healthlog-docs, healthlog-landing
|
(F3 + F4 + new PII rule consolidated into one wave).
|
||||||
- [ ] Replace internal jargon (Phase X / Wave Y / marathon /
|
|
||||||
sub-agent / autonomous orchestrator / Claude name) with neutral
|
|
||||||
language
|
|
||||||
- [ ] Keep Co-Author trailer on commits (git-meta only)
|
|
||||||
- [ ] No git history rewrite — only edit current file state
|
|
||||||
- Detailed report: `.planning/phase-F3-report.md`
|
|
||||||
|
|
||||||
### F4 — Release-notes language audit (German leaks)
|
- [x] HealthLog main repo: 20 files scrubbed, `a1cf9bc` on origin/main
|
||||||
|
(CHANGELOG.md, docs/audit/v146 / v1414 / v1415 / v1416 / v1418 /
|
||||||
- [ ] Audit `CHANGELOG.md` v1.4.14–v1.4.19 + GitHub releases + future
|
v1419, docs/codex-protocol-spec.md, docs/migration/, docs/ops/)
|
||||||
docs/audit/v*-summary.md
|
- [x] healthlog-docs: 7 files scrubbed, `782862b` on origin/main
|
||||||
- [ ] Translate German leaks to English
|
(api/ examples replaced "marc" → "alice", DE leaks fixed)
|
||||||
- Detailed report: `.planning/phase-F4-report.md`
|
- [x] healthlog-landing: 1 file scrubbed, `9b31083` on origin/main
|
||||||
|
(JSON-LD author block depersonalised)
|
||||||
|
- [ ] GH releases v1.4.14–v1.4.19: republish bodies from cleaned
|
||||||
|
CHANGELOG sections (see Phase E pipeline)
|
||||||
|
- [ ] Source-comment sweep (`src/` has 191 `Marc` references in
|
||||||
|
maintainer comments) — defer to v1.4.21 backlog as low-priority
|
||||||
|
- [ ] DE+EN bilingual CHANGELOG entries (v1.4.15 era) — defer; larger
|
||||||
|
rewrite, captured in v1.4.21 backlog
|
||||||
|
- Detailed report: `.planning/phase-FX-report.md`
|
||||||
|
|
||||||
### F5 — Best-practice GitHub repo audit
|
### F5 — Best-practice GitHub repo audit
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,47 @@
|
|||||||
|
# Phase F1 — Long-lived `develop` branch
|
||||||
|
|
||||||
|
Status: complete · 2026-05-10T15:25+02:00
|
||||||
|
|
||||||
|
## Outcome
|
||||||
|
|
||||||
|
`develop` branch created from cleaned `main` HEAD (`a1cf9bc`) and
|
||||||
|
pushed to `origin/develop` with upstream tracking. Both branches now
|
||||||
|
point at the same commit; they will diverge as v1.4.20 work commits
|
||||||
|
to `develop` only.
|
||||||
|
|
||||||
|
## GHCR workflow audit
|
||||||
|
|
||||||
|
`/Users/marc/Projects/HealthLog/.github/workflows/docker-publish.yml`
|
||||||
|
already had the right shape:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
tags: ["v*"]
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
workflow_dispatch:
|
||||||
|
```
|
||||||
|
|
||||||
|
- Push to `main` → image build + push to GHCR + Coolify webhook
|
||||||
|
- Push to a `v*` tag → image build + push (`{{version}}` + `{{major.minor}}` tags)
|
||||||
|
- PR targeting `main` → build only, no push (so PR builds don't pollute `:latest`)
|
||||||
|
- Push to `develop` → no trigger
|
||||||
|
- Push to any other branch → no trigger
|
||||||
|
|
||||||
|
No workflow change needed. Develop pushes are silent, exactly as
|
||||||
|
intended for the daily-work branch.
|
||||||
|
|
||||||
|
## Branch model contract (enforced from F1 onward)
|
||||||
|
|
||||||
|
- All v1.4.20 feature/fix/test work commits to `develop`
|
||||||
|
- Hotfixes branch from `main`, merge back to both (`main` with tag, `develop` to sync)
|
||||||
|
- Release-merge `develop` → `main` happens at Phase E only; `main` carries the tag, GHCR builds, Coolify deploys
|
||||||
|
- `main` is no longer the daily image-churn target
|
||||||
|
|
||||||
|
## Memory updated
|
||||||
|
|
||||||
|
`feedback_branch_model_dev_main.md` already captured this; the
|
||||||
|
session's STATE.md F1 block + the new `CONTRIBUTING.md` (F2) make it
|
||||||
|
visible to contributors.
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
# Phase FX — User-facing artifact cleanup
|
||||||
|
|
||||||
|
Status: complete · 2026-05-10T15:15+02:00
|
||||||
|
|
||||||
|
Combined wave covering the original F3 (jargon sweep), F4 (German
|
||||||
|
leaks), and a new PII rule the maintainer flagged after seeing v1.4.19
|
||||||
|
release notes leak personal name + health figures.
|
||||||
|
|
||||||
|
## Three repos, three commits
|
||||||
|
|
||||||
|
| Repo | Commit | Files | Diff |
|
||||||
|
|---|---|---|---|
|
||||||
|
| HealthLog (main repo) | `a1cf9bc` on `origin/main` | 20 | +265 / −269 |
|
||||||
|
| healthlog-docs | `782862b` on `origin/main` | 7 | API examples + DE leaks |
|
||||||
|
| healthlog-landing | `9b31083` on `origin/main` | 1 | JSON-LD author block |
|
||||||
|
|
||||||
|
Three parallel sub-agents executed the scrubs simultaneously; commits
|
||||||
|
landed independently. No working-tree races. No `--no-verify`. No
|
||||||
|
`--no-gpg-sign`. Pre-commit hooks green on every push.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
Removed from user-facing artifacts (CHANGELOG, GH-release-targeted
|
||||||
|
summaries, public docs site, public landing copy):
|
||||||
|
|
||||||
|
- Maintainer's real name (replaced with neutral framing or
|
||||||
|
"the maintainer" / "the live tenant" / "an authenticated session")
|
||||||
|
- Specific health figures tied to the live tenant (BP-target
|
||||||
|
percentages, paired-reading counts, weight loss numbers, mood
|
||||||
|
scores)
|
||||||
|
- Internal release-process jargon (Phase X / Wave Y / marathon /
|
||||||
|
sub-agent / orchestrator / "Marc-Brief" headings)
|
||||||
|
- Stray German strings in English-only release notes
|
||||||
|
|
||||||
|
## Preserved (not leaks)
|
||||||
|
|
||||||
|
- "Phase-Based Reminders" — real product feature for medication
|
||||||
|
reminder escalation (green/yellow/orange/red)
|
||||||
|
- "Anthropic Claude" / `claude-3-5-haiku` — third-party product +
|
||||||
|
model slugs in the AI provider feature copy
|
||||||
|
- Public canonical URLs (`bombeck.io`, `MBombeck/HealthLog`,
|
||||||
|
`mbombeck/healthlog`) — these are how users find the project
|
||||||
|
- `Co-Authored-By: Claude Opus 4.7` git trailer — git-meta only,
|
||||||
|
not visible in any rendered surface
|
||||||
|
- `sub-agent` in `docs/codex-protocol-spec.md` — literal upstream
|
||||||
|
Codex protocol header names (`x-openai-subagent`)
|
||||||
|
- "Datengrundlage ist sehr stark" in `ai-insights.mdx` — documents
|
||||||
|
the forbidden phrase the prompt blocks (load-bearing for the
|
||||||
|
feature explanation)
|
||||||
|
|
||||||
|
## Carried over to v1.4.21 backlog
|
||||||
|
|
||||||
|
- Source-comment sweep: `src/` has 191 `Marc` references in
|
||||||
|
maintainer-internal comments. Visible to anyone who clones the
|
||||||
|
repo. Lower priority because these are not "rendered" artifacts;
|
||||||
|
schedule for v1.4.21 hygiene pass.
|
||||||
|
- DE+EN bilingual CHANGELOG entries (v1.4.15 era only) — each entry
|
||||||
|
pairs a German sentence with its English translation by historical
|
||||||
|
design. Translating them out is a larger rewrite.
|
||||||
|
- `CLAUDE.md` + `AGENTS.md` filenames at repo root — visible in any
|
||||||
|
directory listing. Renaming is a structural change with downstream
|
||||||
|
links; defer until a hygiene PR.
|
||||||
|
|
||||||
|
## Pre-release PII gate
|
||||||
|
|
||||||
|
Phase E for v1.4.20 will add a release-pipeline grep gate:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git grep -niE 'Marc[^a-z]|Marc-Brief|Marc-side|all-time ≈|572 paired' \
|
||||||
|
CHANGELOG.md docs/audit/ docs/ README.md SECURITY.md public/ && exit 1
|
||||||
|
```
|
||||||
|
|
||||||
|
If the grep returns any hit, tag is blocked until the leak is
|
||||||
|
resolved. Captured in `STATE.md` Phase E checklist.
|
||||||
|
|
||||||
|
## GH releases
|
||||||
|
|
||||||
|
The published v1.4.14–v1.4.19 GitHub release bodies still carry the
|
||||||
|
old leak. Republish from cleaned CHANGELOG sections during Phase E for
|
||||||
|
v1.4.20 — captured in the Phase E task list.
|
||||||
Reference in new issue
Block a user