feat(rpiv-pi): disk-corroborated basename fallback for the artifact collectors
Regression: run 2026-08-21_12-15-19-ec5e, code (phase 1/7). The agent wrote its elaboration to the correct .rpiv/artifacts/elaborations/ path but announced it in prose as `.elaborations/<file>.md` — directory prefix mangled. The full-path scan missed, the stage fataled, and a verified-green 38KB artifact was orphaned: the transcript (the report of the work) was the only channel checked, never the filesystem (the work itself). On a full-path miss both collectors now scan the transcript for bare `<file>.md` tokens (tempered — an elided `...__phase-N.md` still never resolves) and accept a candidate ONLY when it names exactly one existing file under .rpiv/artifacts/ (the collector's own bucket for the bucket-narrowed form). The announcement contract is not weakened: the agent's own text still drives collection, disk existence corroborates it — a stray prose mention (README.md), an ambiguous basename (same file in two buckets), or a wrong-bucket hit refuses, and with no unique resolution the original fatal stands. Eight tests pin the recovery and every refusal shape.
S
Sergii committed
1d6237ed8c46f0a83d08328223f041782000ef2e
Parent: d48c561