diff --git a/.claude/memory/decisions.md b/.claude/memory/decisions.md index a1d306c..228092f 100644 --- a/.claude/memory/decisions.md +++ b/.claude/memory/decisions.md @@ -51,3 +51,12 @@ idempotent: awk strips prior block (marker-delimited managed block `# >>> claude suggests it) — fires too often for login-only intent; (b) keep execute + string-parse — broke the return-based guard (LRN-006) + fragile parse. Supersedes the old execute+string-parse block. Status: done in repo; live ~/.profile re-migrated this session. + +## BDR-008 — config repo licensed GPL-3.0-or-later (copyleft) +2026-06-25. Added LICENSE (verbatim GPLv3 copied from `/usr/share/common-licenses/GPL-3`) + README +`## License` (`GPL-3.0-or-later — see LICENSE`, © 2026 Bastien Chanot). User said "full opensource" → read +as strong COPYLEFT (code + all derivatives stay open), not permissive. SPDX: GPL-3.0-or-later; "or-later" +grant asserted in README per FSF convention, LICENSE holds plain GPLv3 text. Alts rejected: MIT / Apache-2.0 +(permissive — allow CLOSED derivatives, weaker open guarantee); Unlicense (public domain, no copyleft). +Repo private (CLAUDE.md Public=no) so license optional, but user wanted one set. Reversible: swap LICENSE + +README line if "full opensource" meant permissive. Status: done in repo (uncommitted). diff --git a/.claude/memory/learnings.md b/.claude/memory/learnings.md index b35619d..a83bed6 100644 --- a/.claude/memory/learnings.md +++ b/.claude/memory/learnings.md @@ -47,3 +47,12 @@ runs fzf + `dt at … >/dev/tty` → `/dev/tty: No such device or address` in EV (`[ "$(dt ls)" != "Aucune session dtach." ]`) — fragile (couples to exact string) AND redundant (`dtach-router` already returns on empty `dt --raw`). Let the script self-guard. Bonus gotcha: `~/.profile` is NOT read by bash if `~/.bash_profile` or `~/.bash_login` exists. + +## LRN-007 — Doc-drift by file mtime misses partial doc updates +2026-06-25. `git log -1 --format=%aI -- README.md` reports "fresh" → false negative for staleness. +README touched in 46512ee (`docs(readme): fix wkhtmltopdf→weasyprint`, PACKAGE LIST ONLY) AFTER feature +commit 0bd936b (`gnome-remote-desktop + code-server`), so the mtime-based "commits since doc edit" scan +returned EMPTY while code-server + RDP stayed undocumented. A partial doc commit resets the clock and +hides earlier feature drift. Fix: drift-detect against FEATURE commits (scan `git log` for feat/* touching +source since the doc's last SUBSTANTIVE edit, OR cross-ref each entry-point / install-step in code vs doc +text) — never trust doc timestamp alone. Surfaced by /doc clean this session.