fix(review): applying a lesson skips a symlinked CLAUDE.md and an ignored lessons file

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-10-26 17:27:33 +01:00
commit c7fdbf0d8b
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
6 changed files with 787 additions and 24 deletions

View file

@ -2267,10 +2267,14 @@ never typed by the operator, in this order (Cherny's):
run — no project directory", and the merge stays closed (Phase 8).
**Its writes are committed.** `/trekreview` may have written approved
project-memory lines (`.claude/rules/voyage-review-lessons.md`) and a
one-line pointer in `CLAUDE.md`. Commit exactly those paths, when they
changed, as `docs(voyage): review lessons (round {R})`: a process commit
(Phase 7.5 step 3). Nothing the review wrote is left uncommitted for the
next round's checks or for the merge.
one-line pointer in `CLAUDE.md`. Commit only those of them that changed
and git does not ignore (`git check-ignore -q -- {path}` exits 1; exit 0
means ignored), as `docs(voyage): review lessons (round {R})`: a process
commit (Phase 7.5 step 3). An ignored path is left uncommitted and named
in the report; `/trekreview` wrote no pointer to an ignored lessons file
(its `pointer` result is `"ignored-skipped"`), and none through a symlinked
`CLAUDE.md` (`"symlink-skipped"`). Nothing the review wrote that git does not
ignore is left uncommitted for the next round's checks or for the merge.
4. **`verdict-gate.mjs`** — the review's verdict decides, as a command:
```bash
node ${CLAUDE_PLUGIN_ROOT}/lib/review/verdict-gate.mjs --json "{project_dir}/review.md" --repo .