fix: pre-landing review fixes (pass 2)

An unclosed receipt fence makes the body from that line on one section
the merge never matches, so posted leading prose cannot replace it and a
closed receipt before it stays a receipt; the by-tree pregate mirror must
hold the tests stage (what --stage tests --remote writes) rather than
every check; empty sha/tree strings in a train note are not evidence;
(v1.2.3-rc1 #301) is a version word, not a repository.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
garrytanandcapy-ai[bot] committed 2026-10-26 16:38:08 +00:00
1 parent 90f08a3eb3
commit b8373e2bfc
10 files changed
+49 -31

No files matched your search

+2 -2
View File
@@ -139,8 +139,8 @@ export function readTrainNotes(git: Git, notesRef = NOTES_REF): TrainNotes {
if (r.kind !== 'train' || typeof r.nonce !== 'string' || !r.nonce || !['green', 'merging', 'merged'].includes(r.state ?? '')) continue;
for (const m of Array.isArray(r.merged) ? r.merged : []) {
if (!m || typeof m !== 'object') continue;
if (typeof m.sha === 'string') notes.evidence.bySha.set(m.sha, r.nonce);
if (typeof m.tree === 'string') notes.evidence.byTree.set(m.tree, r.nonce);
if (typeof m.sha === 'string' && m.sha) notes.evidence.bySha.set(m.sha, r.nonce);
if (typeof m.tree === 'string' && m.tree) notes.evidence.byTree.set(m.tree, r.nonce);
}
}
return notes;