Let the notes read the row instead of rebuilding it

main

Commit

gtrrz-victoryesterday

Each placement has carried its resolved cluster name and its lastError since 7f5218e7, so reportNativeMirrorNotes was walking the wire listing and rebuilding a slug→name map to recover what the row already held. It takes (w, repo, row) now; the mirrors parameter, the map and the closure go.

Worth more than the lines it saves: a note cannot name a cluster differently from the row above it any more, because there is no second derivation left to disagree. That split was a real bug one commit ago.

One behaviour does change, which the request did not anticipate. The wire listing is unsorted and the row is not, so the notes now follow the TABLE's order — a reader scanning down meets the reasons in the sequence they just read. No test pinned the old order; one now pins the new one, along with two failing mirrors naming their own rows' cells, which nothing covered.

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com Entire-Checkpoint: 01M4627XHX5NZEQT8DRHMXDK04

Checkpoints

Fix repo view CLI output and validation

Claude CodeOpus 5
View session
Checkpoint 1