docs(memory): add LRN-007 (doc-drift) + BDR-008 (GPL-3.0)

- LRN-007: doc-drift detection by file mtime misses partial doc updates;
  cross-reference feature commits, not the doc timestamp.
- BDR-008: repo licensed GPL-3.0-or-later (copyleft), with rejected
  alternatives and reversibility note.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P8QfqokDoggsPVhEp7FnCa
This commit is contained in:
Bastien Chanot 2026-06-25 11:19:21 +02:00
parent 00d88f723f
commit 4f03d87a86
2 changed files with 18 additions and 0 deletions

View File

@ -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).

View File

@ -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.