fix(hooks): a command with several merges says its run evidence is not shown

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-11-04 10:54:56 +01:00
commit ff3e20919e
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
4 changed files with 566 additions and 5 deletions

View file

@ -791,13 +791,14 @@ if (approvals.length > 0) {
// read from the evidence file /trekexecute Phase 8 wrote (hooks/lib/merge-evidence.mjs).
// The decision above is already 'ask'; this block only adds text to the
// reason, and a reader that fails to load or throws leaves a note, never a
// green line.
const merge = approvals.find((m) => m.cls === 'merge');
if (merge) {
// green line. A command with several merges gets one line that says the
// run evidence is not shown (one question cannot show each run's).
const merges = approvals.filter((m) => m.cls === 'merge');
if (merges.length > 0) {
let evidence;
try {
const { evidenceLines } = await import('../lib/merge-evidence.mjs');
evidence = ' ' + evidenceLines(merge.subject, merge.merge && merge.merge.args);
const { evidenceForMerges } = await import('../lib/merge-evidence.mjs');
evidence = ' ' + evidenceForMerges(merges);
} catch {
evidence = ' (run evidence not loaded)';
}