This repository has been archived on 2026-10-29. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
Epiphany/tools
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens b3bd4a82e4 Repair a missing file from its sidecar and stop on a nested one
Soul's XF: a sidecar whose file was gone hit the `if`/`else` empty-array
collapse of Windows PowerShell 5.1, so `Find-FirstDifference` threw a raw
`ArgumentNullException`, the sidecar stayed, and every later run in that
repo died the same way before M0. A missing file is now its own case,
decided before any comparison: it is recreated from the sidecar, whose
bytes are the only copy, hash-verified, and the run says so.
`Find-FirstDifference` refuses a null array with the harness's own words.

Soul's XG: a sidecar of a sidecar was repaired in enumeration order, so
the inner sidecar's body became the file and the outer one then crashed
on its missing target. No run leaves that shape and the two cannot be
ordered, so the repair pass now stops before touching anything, naming
both files.

Soul's F2: the `.eureka-mutation-overwritten` copy was written before the
restore was attempted, so a locked target (XC) left a copy claiming an
overwrite that never happened. The copy is still written first, because
once the restore lands it is the only home of the pre-repair bytes; a
restore that fails without opening the file removes it again, and one
that changed the file before failing keeps it and says so.

Every repair step now sits inside one `try`/`catch` per sidecar, so the
"could not repair" message is the error that escapes, with the cause
appended, never a bare .NET exception.

Reproduced against a scratch copy with Soul's soul-cut8e-harness-attack:
XF recreates the file and removes the sidecar; XG stops with both files
named and the target untouched; XC leaves no overwritten copy. XA, XB,
XD, XE, XH, XI unchanged. An empty existing file beside a sidecar (XK)
repairs without the null path.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 16:51:14 +02:00
..
eureka-cut5-mutations.psd1 One mutation harness for every Eureka cut 2026-09-16 14:19:38 +02:00
eureka-cut6-mutations.psd1 Cut 6b: pin dotted roots, the reader's root kinds, and name the bound 2026-09-16 14:59:27 +02:00
eureka-cut6b-mutations.psd1 Pin the reader against a trimmed trailing dot on the root and the local 2026-09-16 15:28:23 +02:00
eureka-cut6c-mutations.psd1 Pin the three Cut 6c rules Soul's mutations survived 2026-09-16 16:14:41 +02:00
eureka-cut8-epiphany-mutations.psd1 Cut 8, Epiphany half: the leaf's write path goes live for the organ 2026-09-16 16:21:34 +02:00
eureka-mutations.ps1 Repair a missing file from its sidecar and stop on a nested one 2026-09-16 16:51:14 +02:00