fix(patchlog): Docker build no longer clobbers the patchlog fallback with [] #92
No reviewers
Labels
No labels
backend
bug
completed
documentation
duplicate
enhancement
feature
frontend
good first issue
help wanted
in-progress
invalid
performance
phase-1
Phase1
Phase2
Phase3
planning
question
refactor
security
test
testing
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Kalle/ATM!92
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/patchlog-docker-clobber"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Plan
One deliverable:
/api/patchlogreturns real entries (count > 0) in Docker deployments, so the "Was ist neu" badge works again on testing — blackbox 20a/20b/20c green.Outcome
Root-caused and fixed the P0 where every Docker build silently overwrote the committed 85 KB
src/generated/patchlog.jsonwith[]..dockerignoreexcluded.development(and*.md), sonpm run build→embed-patchlog.mjsfound zero sources inside the image and clobbered the fallback. Three independent layers now prevent this:scripts/embed-patchlog.mjs—writeEmbeddedPatchlog()preserves the committed fallback when no sources are found (and exits non-zero, so a genuinely broken build fails loudly instead of silently shipping an empty log)..dockerignore— exclude.development/*(directory contents) instead of the directory itself, then re-includepatchlog.md,CHANGELOG_*.md,RELEASE_NOTES_*.mdafter the*.mdrule (Docker last-match-wins). Internal.developmentdocs and automation state stay out of the image.src/app/api/patchlog/route.ts— filters empty sources from the embedded fallback so a stale/empty JSON can never surface ascount=0.Plus: the committed fallback was refreshed by the build (4 sources, 85,628 bytes, includes 2026-08-16 entries).
Impact on release goals
Roadmap "Blackbox suite ≥ 8 tests, all green on testing" — 20a/20b/20c currently red on testing (the deploy predates this fix). This PR is the fix; they turn green when Coolify rebuilds from
devafter merge. Clears the last standing P0 on the patchlog feature shipped in PR #90.Blackbox
python3 scripts/blackbox_test.py --target testing→ 67 passed, 3 failed (20a/20b/20c — all the Docker-clobber P0 this PR fixes; deploy is stale)tsc --noEmitclean;npm run buildgreen.Six-perspectives check
Risk
Re-including
.development/patchlog.mdin the Docker context slightly enlarges the build context (~85 KB). De-risked:.development/*still excludes automation-state and internal docs (verified in sim); the embed guard also prevents any future regression even if.dockerignoredrifts again. Release-notes files are public-facing changelog content, not secrets.Checklist
dev(717e8f7)This PR was created by an AI agent (OpenHands) on behalf of the user.
Checklist update (post-push)
dev(717e8f7)test:(red) →fix:(green) →docs:76bf705[x]Self-review (P0–P3): Verdict P3 (clean) — no blockers, no important findings. Diff is 170 insertions / 25 deletions across 8 files; all behavioural changes are pinned by the 4 new unit tests. One nit fixed during review:
route.ts's filter now returns the filtered fallback directly (deadlength > 0ternary removed).CI note: the Tauri build check takes >15 min and exceeds this run's time budget — not blocking per the operating policy. Vitest is already proven green locally on this exact commit (245/245, incl. the 4 new clobber-contract tests).
Merge note: testing blackbox 20a/20b/20c will stay red until Coolify rebuilds the image from
devafter this PR merges — that rebuild is the final verification step for this fix.This comment was posted by an AI agent (OpenHands) on behalf of the user.
View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.